【教程】使用 Power BI 连接器可视化 Azure Cosmos DB 数据

翻译|使用教程|编辑:龚雪|2019-03-13 11:39:13.000|阅读 11 次

概述:Power BI Desktop 是一种报表创作工具,可以从各种数据源检索数据,我们可以使用它创建和共享仪表板和报表。本教程我们就将讲解如何将 Azure Cosmos DB 帐户连接到 Power BI Desktop。连接后,又如何导航到某个集合,提取数据,将 JSON 数据转换为表格格式,以及将报表发布到 Power BI。

Power BI Desktop 是一种报表创作工具,可以从各种数据源检索数据,我们可以使用它创建和共享仪表板和报表。Azure Cosmos DB 是可以与 Power BI Desktop 一起使用的一种数据源。我们可以用 Power BI 的 Azure Cosmos DB 连接器将 Power BI Desktop 连接到 Azure Cosmos DB 帐户。再把 Azure Cosmos DB 数据导入到 Power BI 之后,可以对其进行转换,创建报表,以及将报表发布到 Power BI。

接下来的教程中,我们就将讲解如何将 Azure Cosmos DB 帐户连接到 Power BI Desktop。连接后,又如何导航到某个集合,提取数据,将 JSON 数据转换为表格格式,以及将报表发布到 Power BI。

首先,我们需要做一些准备工作:
  • 下载最新版Power BI Desktop
  • 下载网站Power BI Desktop-GitHub示例文件,找到/SampleData/VolcanoData.json
  • 创建一个 Azure Cosmos DB 数据库帐户并使用 Azure Cosmos DB 数据迁移工具导入火山数据。 导入数据时,请考虑数据迁移工具中源和目标的以下设置:

    源参数-导入源:JSON文件

    目标参数-连接字符集:

    目标参-数分区键:/Country

    目标参-集合吞吐量:1000


开始工作

首先,假设你是一位研究世界各地火山的地理学家。 火山数据存储在一个 Azure Cosmos DB 帐户中,JSON 文档格式如下所示:

你将从该 Azure Cosmos DB 帐户中检索火山数据并在交互式 Power BI 报表中将数据可视化。

  1. 运行 Power BI Desktop
  2. 我们可以从“获取数据”、查看“最近使用的源”或直接从“欢迎”屏幕“打开其他报表”。 单击右上角的“X”以关闭屏幕。 将显示 Power BI Desktop 的“报表”视图

  3. 选择“主页”功能区,并单击“获取数据”。我们会看见“获取数据”窗口
  4. 单击“Azure”,选择“Azure Cosmos DB”,并单击“连接”。

  5. “预览连接器”页中,单击“继续”。此时会显示“Azure Cosmos DB”窗口
  6. 指定想要从其中检索数据的 Azure Cosmos DB 帐户终结点 URL,并单击“确定”。 要使用自己的帐户,可以从 Azure 门户的“密钥”边栏选项卡的 URI 框中取得 URL。
  7. 如果是首次连接到此终结点,则会提示输入帐户密钥。 若使用自己的帐户,请从 Azure 门户的“只读密钥”边栏选项卡中的“主密钥”框中取得密钥。输入相应的密钥,然后单击“连接”(建议在生成报表时使用只读密钥。 这可防止主密钥不必要地暴露于潜在的安全风险中。)
  8. 帐户成功连接后,将出现“导航器”窗格“导航器”会在帐户下显示数据库的列表。
  9. 单击并展开作为报表数据来源的数据库,并选择 volcanodb(每个人的数据库名称可能不同)
  10. 现在,选择包含要检索的数据的集合。预览窗格显示“记录”项的列表。 文档在 Power BI 中表示为一种“记录”类型。 同样,文档内部的嵌套 JSON 块也是“记录”。

  11. 单击“编辑”在新窗口中启动查询编辑器,以转换数据。

平展和转换 JSON 文档

  1. 切换到“Power BI 查询编辑器”窗口,其中“文档”列位于中心窗格。

  2. 单击“文档”列标头右侧的扩展器。将显示带有字段列表的上下文菜单。 选择报表所需的字段,例如,火山名称、国家/地区、区域、位置、海拔、类型等。取消选中“使用原始列名作为前缀”框,然后单击“确定”

  3. 我们可以在中央窗格中看到包含所选字段的结果预览。

  4. 在我们的示例中,“位置”属性在文档中为 GeoJSON 块。正如你所看到的那样,“位置”在 Power BI Desktop 中表示为一种“记录”类型
  5. 单击 Document.Location 列标题右侧的扩展器。 此时会显示包含类型和坐标字段的上下文菜单。 让我们选择坐标字段,确保未选中“使用原始列名作为前缀”,然后单击“确定”

  6. 中心窗格现在显示“列表”类型的坐标列。在本教程中,GeoJSON 数据是“点”类型,纬度值和经度值记录在坐标数组中。coordinates[0] 元素表示经度,coordinates[1] 表示纬度。

  7. 若要平展坐标数组,请创建一个名为 LatLong 的自定义列。 选择“添加列”功能区并单击“自定义列”。 此时将显示“自定义列”窗口。
  8. 为新列提供一个名称,例如经纬度。
  9. 接下来,为新列指定自定义公式。 对于我们的示例,我们将如下所示,使用以下公式连接逗号分隔的纬度值和经度值:Text.From([coordinates]{1})&","&Text.From([coordinates]{0})。 单击“确定”

  10. 现在,中央窗格将显示填充了值的新 LatLong 列。(如果步骤不同,请删除额外的步骤并再次尝试添加自定义列)。

  11. 单击“关闭并应用”以保存数据模型。

生成报表

在 Power BI Desktop 中,我们可以通过报表视图的开始创建报表来可视化数据。通过将字段拖放到“报表”画布中来创建报表。

在报表视图中,我们能找到:

  1. 在“字段”窗格中,可以看到包含可用于报表的字段的数据模型的列表。
  2. “可视化”窗格。 一个报表可以包含单个或多个可视化效果。 从“可视化”窗格中选取所需视觉对象类型。
  3. 在“报表”画布中,可以为报表生成视觉效果。
  4. 可以在 Power BI Desktop 中添加多个报表页。

下面,我们来演示一下创建简单交互地图视图报表的基本步骤。

  1. 在本示例中,我们将创建显示每座火山的位置的地图视图。在“可视化”窗格中,单击如上屏幕截图中突出显示的“地图”视觉对象类型。可以看到绘制在“报表”画布上的地图视觉对象类型。 “可视化”窗格也应该显示一组与地图视觉对象类型相关的属性。
  2. 将“火山名称”字段拖放到“图例”属性。
  3. 将“海拔”字段拖放到“大小”属性。
  4. 现在,我们可以看到该地图视觉对象显示有一组表示每座火山位置的气泡,并用气泡的大小对应火山的海拔。
  5. 此时已成功创建了基本报表。 可以通过添加更多可视化效果来进一步自定义该报表。 在本例中,我们添加了火山类型切片器以使报表具有交互性。
  6. 在“文件”菜单中,单击“保存”并将该文件保存为 PowerBITutorial.pbix。

发布和共享报表

要共享报表,必须在 PowerBI.com 中拥有帐户。

  1. 在 Power BI Desktop 中,单击“主页”功能区。
  2. 单击“发布” 。 系统会提示输入 PowerBI.com 帐户的用户名和密码。
  3. 一旦验证凭据后,就可将报表发布到所选目的地。
  4. 单击“打开 Power BI 中的‘PowerBITutorial.pbix’”,查看并共享 Power BI.com 上的报表。

在 PowerBI.com 中创建仪表板

从 Power BI Desktop 发布报表到 PowerBI.com 时,会在 PowerBI.com 租户中生成一个“报表”和“数据集”。 例如,将一个名为 PowerBITutorial 的报表发布到 PowerBI.com 后,PowerBITutorial 会出现在 PowerBI.com“报表”“数据集”部分。

若要创建可共享的仪表板,请单击 PowerBI 报表上的“固定活动页”按钮。

然后创建新仪表板。创建仪表板之前也可以临时修改报表。 但是,建议使用 Power BI Desktop 执行修改并将报表重新发布到 PowerBI.com

如果你想继续了解更多Power BI Desktop相关教程咨询,可关注收藏我们哦~我们将为您带来最新资讯!



标签:数据可视化数据分析数据管理数据建模

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自: https://docs.microsoft.com/zh-cn/azure/cosmos-db/powerbi-visualize

登录慧都网发表评论登录


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Power BI Desktop

利用可视化分析创建内容丰富的交互式报表

Power BI Pro

连接到数百个数据源,并使用实时仪表板和报表对所有数据进行可视化。

在线客服 在线QQ 电话咨询
400-700-1020
在线客服系统
live chat