如何使用Dundas BI api构建自定义UI

在连接数据、准备数据、分析数据和可视化数据方面,大多数企业的BI需求是相似的。Dundas BI提供了开箱即用的能力来满足这些需求。在大多数情况下,内置用户界面(UI)足以满足这些需求,但是,在某些特定情况下,用户可以从自己定制的UI中受益,以满足自己的特定需求。

你是否需要一个具体的数据准备工作或者你需要图解以一种特定的方式行事或连接到特定的数据提供者,您可以使用Dundas BI的开放api来定制解决方案,以满足您的特定需求。这样的例子可以不胜枚举——这就是原因所在登达斯BI被评为最灵活的BI平台

Dundas BI用户界面灵活性的一个重要方面是它完全面向底层的api可以自定义应用程序的任何方面。如果您觉得某个新功能确实可以支持您或您的用户的操作方式,请使用API并添加一个定制UI来满足该新功能。让我们在这里讨论一个这样的用例。

签入/签出文件管理

签入/签出功能允许用户与他人协作和共享内容。如果特定的对象(如仪表板或数据立方体)需要修改,请签出该对象,进行更改,并在更改准备好与他人共享时签入。

为了实现跨所有用户和所有项目的更简单的管理体验,我们客户的一位管理员提到,他们希望能够监视和快速识别哪些文件签出给了谁,并从单个UI快速签入这些文件。该管理员提到,虽然Admin面板中的内置文件资源管理器提供了关于签出内容的信息,但他们很难获得关于文件签出到谁以及跨所有项目签出时间的信息。这就是api派上用场的地方,它允许我们设计一个定制UI来满足这种需求。

通过执行REST API使用内置的Python数据生成器,我们可以直接查询Dundas BI,获取系统中所有签出的文件,以及它们属于什么项目,签出给谁,签出时间。然后,我们可以使用内置的Dundas BI设计器构建自定义用户界面,就像我们要构建任何其他仪表板一样。在本例中,我们构建了一个指示板,允许管理员在一个地方监视所有这些信息,并在需要时签入这些文件。

上面的UI显示了所有签出的文件,以及它们属于什么项目、签出给谁、签出的时间以及系统中当前签出的文件总数。签入按钮使用JavaScript API从表中签入所有选定的文件。

你还可以在查看别人签出的文件和自己签出的文件之间切换。查看其他人签出的文件允许您传输它们,然后在需要时签入。

注意下签出的文件我的项目不包括在这里,因为那些是个人文件,通常不会影响其他人,不管他们是否签入。

方法遍历文件的修订历史,如果需要,您总是可以回滚到以前的版本登达斯BI内置版本控制

您可能还注意到,这个示例结合了REST和JavaScript API的用法。在这个例子中,使用REST API而不仅仅是JavaScript API的主要原因是这个示例-是我们想从数据立方体中获取数据,这样我们就可以使用原生的Dundas BI可视化和交互性,比如在一个格式良好的表中排序、筛选和查看数据的能力。如果我们要使用JavaScript API来完成这些工作,我们就必须使用HTML或类似的东西来构建表,这将限制我们的用户体验。

您还会注意到一个更有趣的功能,即使用表可视化上的复选框批量签入多个文件的能力。可选择的复选框不是表上可用的列类型,但是,在返回HTML复选框列类型的查询结果中添加了一个额外的列。在表本身上,该列通过选择允许HTML来自数据选择。

得到这个样品

你可以在这里下载上面的示例。

确保Python安装在Dundas BI服务器上安装了以下Python包:

  • Numpy
  • 熊猫
  • 请求
  • Json

进口将示例导入到您的Dundas BI实例。

在Dundas BI中添加一个服务帐户,使其成为系统管理员组的一部分。

签出文件管理项目中打开Python数据生成转换签出项目数据立方体和替换主机指向您的实例:

主机=http://your_Instance/api/

将“userName”和“userPassword”替换为上面创建的服务帐户对应的值:

serviceAccount = {"name": " userName ", "password":" userPassword "}

该示例是为系统管理员设计的。对于将要使用仪表板查看签出文件的任何用户,将它们添加为系统管理员组

打开签出文件仪表板。您应该能够看到所有签出的文件。

打印