【发布时间】:2016-04-04 10:00:47
【问题描述】:
我正在使用 Power BI desktop 从 Azure Blob 导入数据,然后生成一些查询以在在线门户上共享。我的一个中间查询生成了一个 [name][table] 表,例如:
查询:所有表
name | table
--------------
name1 | Table1
name2 | Table2
name3 | Table3
名称是唯一的(在上一个查询步骤中按名称分组),并且表链接都指向我想在新查询中使用的表。目前我不得不从每个表中手动生成新的查询,然后在查询源上应用自定义查询函数来导出所需的最终查询,例如:
查询:NAME1
let
Source = #"ALL TABLES",
#"Name1" = DoSomething(Source, 0)
in
#"Name1"
查询:NAME2
let
Source = #"ALL TABLES",
#"Name2" = DoSomething(Source, 1)
in
#"Name2"
等等
目前还可以,因为我们正在设置,我们没有那么多条目。然而,一旦我们开始将真实数据放入 Azure Blob,我们需要生成的行数和查询数就会开始增长,而手工操作是无法管理的。
理想情况下,我可以向 ALL TABLES 查询添加最后一步,该步骤遍历所有行并从其中的表中生成新查询。此列表也可能会随着每次更新而改变,因此理想情况下,这应该会在从 Azure Blob 重新加载数据时自动生成新查询。
有没有办法通过 Power BI 查询来做到这一点?或者,是否有人在我可能会研究如何使外部脚本在 Power BI 项目上生成此脚本(例如,每天从我们的构建服务器运行的自动化脚本)?
【问题讨论】:
-
我不确定您要通过所有这些查询来完成什么。你能澄清一下为什么你需要为每个这些查询一个新的查询吗?如果您尝试将行分组(类似于 C# 上的字典),那么您可能只使用 List.Generate 函数返回一个列表,其中每个单元格都包含一条记录。该记录将包含一个键列和所需行的列表。那将是一个查询。然后您可以使用“参考查询”功能(在右键菜单上),根据键值获取所需的列表。如果需要,您可以将其包装在函数中以使其更有用。
-
“所有表”表基本上包含我们正在跟踪的所有事件类型,以及定义每个单独属性的表的链接。由于每种事件类型都有不同的属性,将它们全部放在一个表下会使其非常稀疏,因此我们希望为每种类型提供一个单独的表。我感兴趣的是一种在 Power BI desktop 中自动生成这些表的方法,这样我们就不必在将新事件添加到我们的跟踪系统时手动更新它们。
标签: analytics powerbi powerquery azure-blob-storage