文章
Jingwei Wang · 七月 11 阅读大约需 5 分钟

DeepSee 的使用 - 第一部分 - 基础介绍

InterSystems DeepSee的目的是使你能够将BI嵌入到你的应用程序中,这样你的用户就可以对他们的数据提出和回答复杂的问题。你的应用程序可以包括仪表盘,它包含图形部件。这些部件用来显示数据,由透视表和KPIs(关键绩效指标)驱动。对于一个透视表,用户可以显示一个列表,用其显示源值。

透视表、KPIs和列表是查询,在运行时执行。

数据透视表可以对运行时的输入作出反应,如用户的过滤器选择。在内部,它使用一个MDX(MultiDimensional eXpressions)查询,与DeepSee cube进行通信。一个cube由一个事实表和其索引组成。一个事实表由一组事实(行)组成,每个事实对应于一个基本记录。例如,这些事实可以代表病人或部门。DeepSee还生成了一组维度表(level tables)。所有的表都是动态维护的,根据你的配置和实现,DeepSee检测你的事务表的变化,并传播到事实表。当用户在分析器中创建透视表时,DeepSee会自动生成一个MDX查询。

KPI也可以对运行时的用户输入做出反应。在内部,它使用MDX查询(与DeepSee立方体)或SQL查询(与任何表)。在这两种情况下,你都可以手动创建查询,或从其他地方复制它。

列表显示来自用户选择的透视表行的源记录的选定值。在内部,一个列表是一个SQL查询。你可以指定要使用的字段,让DeepSee生成实际的查询。或者你可以指定整个查询。

仪表盘可以包括启动行动的按钮和其他控件。可以使用操作、设置过滤器、刷新仪表盘、打开其他仪表盘或其他URL,运行自定义代码,等等。DeepSee提供了一套标准行为,你也可以定义自定义。

 

DeepSee组件

要把DeepSee添加到一个应用程序中,你要添加以下一些或全部的组件。

数据连接器类(Data connector):数据连接器使你能够使用一个任意的SQL查询作为立方体或列表的来源。

cube定义类(Cube definition)一个cube定义了DeepSee透视表内使用的元素,并控制相应的事实表和索引的结构和内容。

一个cube定义指向作为它的基础使用的事务类(或数据连接器类)。

你可以有任何数量的cubes,而且你可以使用一个给定的类作为多个cubes的基础。

对于每个cube,DeepSee会生成并填充一个事实表类和其他类.

主题区类(Subject area ) : 一个主题区主要是一个过滤的cube。(它包括一个过滤器和cube体定义的不同部分的重写,如需要)。你可以在DeepSee中交替使用cube和主题区。

KPI定义类 : 当你需要自定义查询时,你会定义KPI,特别是在运行时根据用户输入确定的查询。当你需要自定义操作时,你也定义KPI,因为操作包含在KPI类中。

透视表 : 你通过拖放来创建。DeepSee会生成基础的MDX查询。

仪表盘 : 通过运行基础查询和显示结果来显示透视表和KPI。

用户门户 : 显示透视表和仪表盘。

 

基于高可用的推荐架构

对于任何大规模的应用,InterSystems建议你将DeepSee cube 建立在镜像服务器上的应用数据上,如下图所示。设置镜像,使应用程序的数据被镜像到镜像服务器上。在镜像服务器上,创建一个数据库,包含DeepSee立方体定义和(可选)数据。这样DeepSee就可以访问应用数据。但是,对于小规模的应用程序或演示,所有的代码和数据都可以在同一个数据库中。

 

 

主要实施步骤 - 此步骤会在之后的文章详细介绍

主要实施步骤

实施过程包括以下步骤。

  1. 建立web 应用。
  1. 从其他数据库中映射DeepSee的globals,以获得性能(可选择的,非必要步骤)。
  1. 创建cube和主题区域。这个过程包括以下步骤,你可以根据需要反复进行。
    • 定义一个或多个cubes。在这个步骤中,你可以使用DeepSee Architect或者Studio。
    • 建立cube。你可以使用Architect或终端。
    • 使用DeepSee分析器来查看cubes并验证它们。
    • 在定义好cube后,在这些cube的基础上定义任何主题区域。

 

  1. 创建KPIs(可选择的,非必要步骤)。
  1. 创建自定义行为(可选择的,非必要步骤)。
  1. 根据需要进行修改,以保持cubes的有效性。这样做的目的取决于数据必须是最新的,以及任何性能考虑。
  1. 创建透视表和仪表盘。
  1. 将透视表和仪表盘打包成类,以方便部署。
  1. 创建从你的应用程序到仪表盘的链接。

在这个过程中,你可能还需要做以下工作。

  1. 创建数据连接器。
  1. 配置设置。
  1. 执行本地化。
  1. 在仪表盘中使用自定义小程序。
  1. 执行其他开发任务。
  1. 安全设置。

 

实施工具

在实施过程中你会用到以下工具。

管理门户的DeepSee部分提供的工具。

  1. 模型(Architech): 用来定义cube和主题区域。也可以编译cube和编译主题区域。
  1. 分析器(Analyzer) - 在验证你的模型时,使用它来检查立方体和主题区。后来你用它来创建透视表。
  1. 用户门户 :用它来定义仪表盘。
  1. 查询工具 : 使用它来创建MDX查询并查看其查询计划。
  1. 文件夹管理器 - 主要用于导出透视表和仪表盘,这样你就可以在类中打包它们的定义,你也可以用它来将资源与文件夹联系起来。
  1. 设置选项 : 使用它来指定用户门户的外观和行为,并定义可用于仪表盘的变量。
  1. DeepSee日志 : 使用这个来查看这个命名空间的DeepSee编译日志。

Studio - 使用它来定义高级cube功能,cube元素使用的任何方法或例程,以及cube类中的任何回调方法。你还可以用它来定义KPI。

终端 - 可以用它来重建立方体和测试方法。

MDX shell(在终端运行)- 可以用它来检查cube和主题区域,创建自定义的MDX查询并查看其结果。

管理门户的其他部分 - 使用这些来做global映射,定义资源、角色和用户,以便与DeepSee一起使用,并在需要时检查DeepSee事实表。

Utility 方法 - %DeepSee.Utils包括一些方法,可以用来建立cube,同步cube,清除单元缓存,以及其他任务; %DeepSee.UserLibrary.Utils包括一些方法,可以用来以编程方式执行文件夹管理器中支持的任务。

数据连接器类(%DeepSee.DataConnector)- 使用它可以使任意的SQL查询在DeepSee立方体和列表中使用。

结果集API(%DeepSee.ResultSet)- 使用它来编程执行MDX查询并访问结果。

0
0 26
讨论 (0)1
登录或注册以继续