从 NoSQL 数据库中获取数据
从 NoSQL 数据库中获取数据
从 NoSQL 数据库中获取数据
一些组织不使用关系数据库,而是使用 NoSQL 数据库。 NoSQL 数据库(也称为非 SQL,不仅是 SQL 或非关系数据库)是一种灵活的数据库类型,它不使用表来存储数据。
方案
Tailwind Traders 的软件开发人员创建了一个应用程序,用于管理其仓库中产品的发运和跟踪。 该应用程序将 CosmosDB(一个 NoSQL 数据库)用作数据存储库。 数据存储为 JSON 文档,这些文档采用公开的标准文件格式,主要用于在服务器和 Web 应用程序之间传输数据。 你需要将此数据导入到 Power BI 语义模型中,以生成报表。
连接到 NoSQL 数据库 (Azure Cosmos DB)
在这种情况下,你将使用 Power BI Desktop 中的“获取数据”功能。 但这一次,你将选择“更多...”选项,以查找并连接到所使用的数据库类型。 在此示例中,你将依次选择“Azure”类别、“Azure Cosmos DB”和“连接”。
在“预览连接器”窗口中,选择“继续”,然后输入数据库凭据。 在此示例中,可以在“Azure Cosmos DB”窗口中输入数据库详细信息。 可以指定要从中获取数据的 Azure Cosmos DB 帐户终结点 URL(可以从 Azure 门户的“密钥”边栏选项卡中获取此 URL)。 也可以输入数据库名称、集合名称,或使用导航器选择数据库和集合,来确定数据源。
在此示例中,你是第一次连接到终结点,在这种情况下,请务必输入帐户密钥。 可以从 Azure 门户的“只读密钥”边栏选项卡的“主密钥”框中找到此密钥。
导入 JSON 文件
如果要处理以 JSON 格式存储的数据,通常需要先提取数据并将其规范化。 这是因为 JSON 数据通常以嵌套或非结构化格式存储,因此难以直接分析或报告。
在此示例中,必须先提取并规范化数据,然后才能生成相关报告,因此需要先转换数据,然后再将其加载到 Power BI Desktop 中。
连接到数据库帐户后,“导航器”窗口将会打开,并显示该帐户下的数据库列表。 选择要导入的表。 在此示例中,你将选择“产品”表。 预览窗格只显示“记录”项,因为文档中的所有记录都已表示为 Power BI 中的“记录”类型。
选择“编辑”按钮以在 Power Query 中打开记录。
在 Power Query 中,选择“Column1”标题右侧的“扩展器”按钮,它会显示包含字段列表的上下文菜单。 选择要加载到 Power BI Desktop 的字段,清除“使用原始列名作为前缀”选项卡,然后选择“确定”。
查看所选数据以确保对其满意,然后选择“关闭并应用”,以将数据加载到 Power BI Desktop 中。
现在,数据类似于一个具有行和列的表。 Cosmos DB 中的数据现在可以与其他数据源中的数据相关联,并且最终可以用于 Power BI 报表。