使用内存数据源扩大 Reveal 的数据范围

有时,您可能想要直接连接到 Reveal 可能尚不支持的数据源。例如,您可能有自己的自定义数据库。为了满足这种需求,我们支持内存作为数据源。如果您需要使用内存中已有的数据作为应用程序状态的一部分(例如用户请求的报告的结果),您可能还需要使用此选项。

内存数据源还具有其他优点,例如检索速度,因为访问内存中的数据比访问磁盘驱动器上的数据要快得多。 

在本博客中,我们将逐步介绍如何使用此功能。

定义数据模式

我们建议您定义一个具有与内存中数据匹配的架构的数据文件。例如,数据文件可以是 CSV 或 Excel 文件,架构基本上是字段列表以及每个字段的数据类型。在下面的示例中,您将找到有关如何使用给定架构创建数据文件,然后使用内存中的数据而不是从数据库获取信息的详细信息。

在以下示例中,我们将使用内存数据和公司员工列表,以便在 HR 系统中嵌入显示 HR 指标的仪表板。我们将使用内存中的数据,而不是从数据库中获取员工列表。

准备数据文件和示例仪表板

基于仅具有几个属性的简化 Employee,使用以下步骤:

  • 员工ID:字符串

  • 全名:字符串

  • 工资:数字

首先创建具有相同架构的 CSV 文件:

在 Reveal BI 中准备数据文件和示例仪表板的示例

  1. 将文件上传到您首选的文件共享系统,例如 Dropbox 或 Google Drive

  2. 使用虚拟数据创建仪表板。请注意,您稍后将在申请中提供真实的生产数据

  3. 导出仪表板(仪表板菜单 → 导出 → 仪表板)并保存为 .rdash 文件。

可视化仪表板并返回实际数据

现在,您需要使用您自己的数据而不是虚拟数据来可视化仪表板。

实现IRVDataSourceProvider并将其作为IRevealSdkContext中的DataSourceProvider属性返回,如替换数据源中所述。

然后,在ChangeVisualizationDataSourceItemAsync方法的实现中,您需要添加类似于以下代码的代码:

更改可视化数据源项目异步示例代码

通过这种方式,您基本上可以将仪表板中对 CSV 文件的所有引用替换为“员工”标识的内存数据源。稍后返回数据时将使用该标识。

实现将返回实际数据的方法,为此实现IRVDataProvider如下所示:

IRV 数据提供程序示例代码

请注意,Employee 类中的属性与 CSV 文件中的列的命名完全相同,数据类型也相同。如果您想更改任何属性的字段名称、字段标签和/或数据类型,您可以在类声明中使用属性:

  • RVSchemaColumn 属性可用于更改字段名称和/或数据类型。

  • DisplayName 属性可用于更改字段标签

RV 架构列属性可用于更改字段名称和/或数据类型

此外,要实现IRVDataProvider,您需要修改IRevealSdkContext.DataProvider的实现以返回它:

IRV 数据提供程序实施

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值