power BI 正在扩展自助服务数据准备, 以帮助业务分析师从大数据中提取见解并引入企业 BI 平台功能。使用最近的更新, Power BI 已使连接到更多的数据源比以往任何时候都多。也就是说, 没有任何产品能够执行所有操作, 这就是 CData Power BI 连接器的位置。

使用 CData, 您可以从120 多个支持的源(即 CRM 和市场自动化到大数据和 NoSQL) 中的任何一个 DirectQuery, 获取 Power BI 中的数据的实时连接。使用 CData 连接器, 您可以快速访问 MongoDB 数据 (比任何其他连接器更快), 并轻松地利用连接器的内置建模和数据拼合功能来创建无架构数据的类似表的模型,可以从 power BI 中查看、报告和分析-无需代码或数据的策划。

使 MongoDB 数据看起来关系

我们的连接器为 nosql 数据集成提供了最快速和最灵活的支持, 使您能够与 nosql 数据库进行交互, 就像它们是关系数据库一样, 利用 nosql 数据存储的灵活性和 SQL-92 的熟悉性和实用性查询。CData 连接器包括多个功能, 用于映射或拼合现有 NoSQL 数据结构 (如 JSON 对象、数组等), 以简化与 Power BI 的集成。选项的范围从自由格式查询到水平和垂直平展到自定义架构定义。在下面简要讨论拼合时, 您可以阅读以下文章以了解更多内容: NoSQL 集成的前沿驱动程序

下面的说明基于 mongodb 入门数据集的以下 mongodb 示例文档。您可以下载数据集的截断版本, 并使用以下命令将其导入到 MongoDB 实例中:

mongoimport --db $database --collection restaurants --file primer-dataset.json

示例文档

{
  "_id" : ObjectId("5780046cd5a397806c3dab38"),
  "address" : {
    "building" : "1007",
    "coord" : [-73.856077, 40.848447],
    "street" : "Morris Park Ave",
    "zipcode" : "10462"
  },
  "borough" : "Bronx",
  "cuisine" : "Bakery",
  "grades" : [{
      "date" : ISODate("2014-03-03T00:00:00Z"),
      "grade" : "A",
      "score" : 2
    }, {
      "date" : ISODate("2013-09-11T00:00:00Z"),
      "grade" : "A",
      "score" : 6
    }, {
      "date" : ISODate("2013-01-24T00:00:00Z"),
      "grade" : "A",
      "score" : 10
    }, {
      "date" : ISODate("2011-11-23T00:00:00Z"),
      "grade" : "A",
      "score" : 9
    }, {
      "date" : ISODate("2011-03-10T00:00:00Z"),
      "grade" : "B",
      "score" : 14
    }],
  "name" : "Morris Park Bake Shop",
  "restaurant_id" : "30075445"
}

关系模型

考虑到本文档, 我们将 CData 连接器配置为基于数据层次结构构建架构, 使用点符号和数组索引向下钻取数据。

Power BI 中的字段名称 MongoDB 参考 价值
_id _id 5780046cd5a397806c3dab38
建筑 地址. 建筑 1007
经度 地址. 坐标. 0 -73.865077
纬度 地址. 坐标. 1 40.848447
地址. 街道 莫里斯公园大道
邮政编码 地址

0.grade

一个 latest_score 等级 1. 牌号 2 名字 名字 莫里斯公园烘焙店 restaurant_id restaurant_id 30075445

向下钻取到 MongoDB 数据以构建此架构, 就像设置几个配置属性一样简单, 然后修改生成的文件以更改字段名称。

配置连接器

使用包含的 ODBCConfigure.exe 应用程序配置连接属性 (按节)。

  • 身份验证: 设置服务器、用户和密码属性以连接到您的 MongoDB 实例。
  • 数据库: 将数据库属性设置为 MongoDB 数据库。
  • 杂项: 将 “拼合数组” 属性设置为 “2”, 将对象设置为 “true”, 并将 “生成架构文件” 设置为 “OnStart”。
  • 架构: 将位置设置为架构文件的目录, 并 (可选) 将 “表” 属性设置为 “餐馆”, 以便仅与 “餐厅” 集合一起使用。

配置连接属性后, 单击 “测试连接” 以确保正确配置属性并生成架构文件。

的架构文件

打开生成的架构文件 (餐厅. rsd) 以查看表/列定义。每个列都有特定的属性 (如列是否为只读、源数据类型等)。对于本示例, 我们简单地编辑现有架构定义、删除不需要的列 (grades_0_date) 和更改其他列的 name 属性 (注意属性已被截断以便于阅读)。

    <attr name="_id"  key="true" xs:type="bson:ObjectId" other:bsonpath="$._id"/>
    <attr name="building"        xs:type="string"  other:bsonpath="$.address.building"/>
    <attr name="longitude"       xs:type="double"  other:bsonpath="$.address.coord.0"/>
    <attr name="latitude"        xs:type="double"  other:bsonpath="$.address.coord.1"/>
    <attr name="street"          xs:type="string"  other:bsonpath="$.address.street"/>
    <attr name="zipcode"         xs:type="string"  other:bsonpath="$.address.zipcode"/>
    <attr name="borough"         xs:type="string"  other:bsonpath="$.borough"/>
    <attr name="cuisine"         xs:type="string"  other:bsonpath="$.cuisine"/>
    <attr name="name"            xs:type="string"  other:bsonpath="$.name"/>
    <attr name="restaurant_id"   xs:type="string"  other:bsonpath="$.restaurant_id"/>
    <attr name="latest_grade"    xs:type="string"  other:bsonpath="$.grades.0.grade"/>
    <attr name="latest_score"    xs:type="integer" other:bsonpath="$.grades.0.score"/>

生活Power BI 中的 MongoDB 数据

配置连接和架构文件后, 您可以在 Power BI 中查看实时 MongoDB 数据。由于 CData 连接器是使用自定义连接器接口构建的, 因此您必须选择将 MongoDB 数据拉入内存 (导入) 或连接 live (DirectQuery)。

  1. 打开 Power BI 并启用自定义连接器 (菜单 > 选项 & 设置-> 选项-> 预览功能-> 自定义数据连接器)。
  2. 单击 “获取数据”, 搜索 MongoDB (或单击 “其他” 并滚动到 CData MongoDB), 然后单击 “连接”。

  3. 选择表 (餐馆), 然后单击 “加载”。
  4. 此时, power bi 中的 “字段” 菜单中所示, 您将有权限访问 “电源双” 中的餐馆数据 (由架构文件定义)。

    由于 power bi 连接器允许从 power bi 直接连接到 MongoDB, 因此您可以绕过与使用 SaaS 和 NoSQL 数据相关的传统数据复制或虚拟化步骤, 并直接跳转到构建可视化和报告中。

    在 power BI 中可视化 MongoDB 数据

    既然我们的 MongoDB 数据已加载, 我们就可以在 power BI 中构建可视化效果了。餐厅数据有许多不同的部分。借助内置的位置映射, 我们可以使用纬度和经度构建餐厅地图。我们还可以查看基于行政区或美食的餐厅。首先, 让我们构建地图。

    构建地图可视化

    1. 单击 “可视化效果” 菜单中的地图图标。
    2. 纬度经度拖动到 “可视化效果” 菜单中的相应字段。
    3. 自治区拖到图例字段并latest_score到大小字段图表。
    4. 展开 latest_score 字段并将聚合更改为平均值。

    现在你有一个地图图表, 绘制每个餐馆, 由行政区和它的大小根据平均分数的颜色。

    生成堆积柱形图

    1. 单击 “可视化效果” 菜单中的堆积柱形图图标。
    2. 自治区拖到轴字段。
    3. 美食拖到图例字段。
    4. 将 restaurant_id 拖到值字段, 然后展开 restaurant_id, 将字段重命名为 “餐馆的 #”, 并将聚合更改为计数 (不同)。

    现在你有一个堆积的柱形图的餐馆, 其中每个行政区是一列, 每列由菜除以。

    更多可视化效果

    我们经历了建立一个报告的过程, 还有两个表格, 以显示各行政区美食餐厅的数量。在本报告中, 您可以使用 power BI 的焦点功能选择市镇或美食类型 (或两者), 并深入了解与您的选择相关联的数据点。

    免费试用和更多信息

    由于 CData power bi 连接器, 用户可以将 power bi 连接到 SaaS、大数据和 NoSQL 源中的实时数据, 以执行分析并构建可视化来推动业务发展。开始使用任何 Power BI 连接器的30 天免费试用版。更多视频, 请前往我们的YouTube 频道。一如既往, 如果您在评估期间有任何问题, 请告知我们。我们的世界级CData 支持团队随时提供帮助。

Comments are closed.