从 NoSQL 数据库中获取数据

已完成

一些组织不使用关系数据库,而是使用 NoSQL 数据库。 NoSQL 数据库(也称为非 SQL 数据库,它不只是 SQL 或非关系数据库)是一种灵活的数据库类型,它不使用表来存储数据。

方案

Tailwind Traders 的软件开发人员创建了一个应用程序,用于管理其仓库中产品的发运和跟踪,该仓库将 NoSQL 数据库 CosmosDB 用作数据存储库。   此应用程序使用 Cosmos DB 存储 JSON 文档,这些文档采用公开的标准文件格式,主要用于在服务器和 Web 应用程序传输数据。  你需要将此数据导入到 Power BI 数据模型中,以生成报表。

连接到 NoSQL 数据库 (Azure Cosmos DB)

在这种情况下,你将使用 Power BI Desktop 中的“获取数据”功能。 但这一次,你将选择“更多...”选项,以查找并连接到所使用的数据库类型。 在此示例中,你将依次选择“Azure”类别、“Azure Cosmos DB”和“连接”。

“从 Azure Cosmos DB 获取数据”选项的屏幕截图。

在“预览连接器”窗口中,选择“继续”,然后输入数据库凭据。 在此示例中,可以在“Azure Cosmos DB”窗口中输入数据库详细信息。 可以指定要从中获取数据的 Azure Cosmos DB 帐户终结点 URL(可以从 Azure 门户的“密钥”边栏选项卡中获取此 URL)。 也可以输入数据库名称、集合名称,或使用导航器选择数据库和集合,来确定数据源。

在此示例中,你是第一次连接到终结点,在这种情况下,请务必输入帐户密钥。 可以从 Azure 门户的“只读密钥”边栏选项卡的“主密钥”框中找到此密钥。

导入 JSON 文件

必须先提取并规范化 JSON 类型记录,然后才能生成相关报告,因此需要先转换数据,然后再将其加载到 Power BI Desktop 中。

连接到数据库帐户后,“导航器”窗口将会打开,并显示该帐户下的数据库列表。 选择要导入的表。 在此示例中,你将选择“产品”表。  预览窗格只显示“记录”项,因为文档中的所有记录都已表示为 Power BI 中的“记录”类型。

包含可用记录列表的“导航器”窗口的屏幕截图。

选择“编辑”按钮以在 Power Query 中打开记录。

在 Power Query 中,选择“Column1”标题右侧的“扩展器”按钮,它会显示包含字段列表的上下文菜单。 选择要加载到 Power BI Desktop 的字段,清除“使用原始列名作为前缀”选项卡,然后选择“确定”。

“展开记录”函数的屏幕截图。

查看所选数据以确保你对其满意,然后选择“关闭并应用”,以将数据加载到 Power BI Desktop 中。

Power Query 中“关闭并应用”步骤的屏幕截图。

现在,数据类似于一个具有行和列的表。  Cosmos DB 中的数据现在可以与其他数据源中的数据相关联,并且最终可以用于 Power BI 报表。