powerbi - PowerBI 生成嵌套太深的 SQL 查询。怎么修?
问题描述
在 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 查询过于复杂。
建议?
谢谢,直流
解决方案
尝试这个:
Importances = Table.Combine(ImportanceTables[Data], {"PROG_ID", "RESPONSE_ID", "COMPOSITE", "PRACTICE_NUMBER", "IMPORTANCE_RATING", "CHANNEL", "BREAKOUT", "SOURCE"} )
甚至
Importances = Table.Combine(ImportanceTables[Data])
,如果表中的列是统一的。
Table.Combine()
接受表列表作为第一个参数。
但是,如果您的表数太大,您可能会面临其他问题。
推荐阅读
- python - 实例的弱引用在删除后不起作用,但在删除时适用于整个类
- three.js - aframe.js 如何改变形状中心位置?(枢轴)
- jqgrid - JqGrid - 更新所有数据单元格中的值
- java - Java 11:标准 API 和额外的选择字段
- heroku-postgres - 将 postgresql 数据库迁移到 heroku
- sql-server - 为什么 SqlConnection.Open() 在 Unity WebGL 应用程序中触发“无法扩大内存数组”错误
- python - 将图像列表转换为一个视频时在FFmpeg中设置图像持续时间?
- x86-16 - Emu8086 - 尝试向下移动光标时光标位置不正确
- c# - 尝试将斐波那契序列生成到列表框项中
- c++ - 如何读取地图文件(0 和 1)并将其存储到 C++ 中的数组中?