【发布时间】:2019-02-27 22:00:38
【问题描述】:
在 PowerBI 查询生成器中,我创建了以下查询:
let
SV_DATA = Sql.Database("my.ip.add.ress", "SV_DATA", [CreateNavigationProperties=false]),
ImportanceTables = Table.SelectRows(SV_DATA, each Text.EndsWith([Name], "_IMPORTANCE_RATINGS")),
Importances = Table.Combine(ImportanceTables[Data])
in
Importances
如您所见,该查询查找所有以_IMPORTANCE_RATINGS 结尾的表,并将它们组合成一个表。 (这是必要的,因为有数以千计的*_IMPORTANCE_RATINGS 表,它们会随着时间的推移而被添加和删除;因此我无法对它们进行硬编码)。
预览效果很好。
但是,当我尝试在报告中应用查询时,我从 SQL Server 收到以下错误:
未能将修改保存到服务器。返回的错误:'OLE DB 或 ODBC 错误:[DataSource.Error] Microsoft SQL:您的 SQL 语句的某些部分嵌套得太深。重写查询或将其分解为更小的查询..'。
但是,我看不出有任何方法可以简化我在 PowerBI 中的工作。似乎是 PowerBI 本身让 SQL 查询过于复杂。
建议?
谢谢, 直流
【问题讨论】:
-
ImportanceTables的列是否统一?这些表的数量是多少? -
是的,列是统一的,但以防万一我明确指出:
{"PROG_ID", "RESPONSE_ID", "COMPOSITE", "PRACTICE_NUMBER", "IMPORTANCE_RATING", "CHANNEL", "BREAKOUT", "SOURCE"}。每个表有大约 10K 行。 -
那我会避免这样做。我想它会延长 SQL 查询并使其更加复杂。但是我在这里可能错了。
-
这样的表有多少?
-
@Eugene:你刚刚重申了我的问题:鉴于我的实现由于 SQL 过于嵌套而无法正常工作,我的替代方案是什么?顺便说一句,您在下面的答案不起作用,因为
ImportanceTable[Data]不是表格列表。
标签: powerbi powerquery