我正在 Excel 中通过 Power Query 访问 SSAS DMV:
let
Source = AnalysisServices.Database(TabularServerName, TabularDBName,
[Query="select * from $SYSTEM.TMSCHEMA_EXPRESSIONS"])
in
Source
这在 Power BI 中效果很好,但在 Excel 中,“表达式”列的最大长度限制为 1024 个字符。如何在 Excel 中使用 Power Query 来提供完整的值?我的最大值约为 15000 个字符,因此仍在我可以找到的 Power Query 规定的限制内。
如果我建立一个表,后面有连接和查询,Excel可以拉入整个表达式列,但缺点是服务器和数据库无法参数化,必须在连接中手动更改。另外,我不记得如何手动执行此操作,因此我总是必须从 DAX Studio 访问 DMV 并导出到 Excel 来进行设置!
更新
我对这个专栏做了一些重大的改造。我解析出一个值,用它来将文件与其自身合并,并添加一个列,然后对其进行一系列转换,然后用它来替换原始问题列中的文本。其中的某些东西拉动了整个价值。我尝试只做其中的一小部分,例如添加引用问题列的列,或者在问题列中进行替换,但这些都不起作用。
所以,不,不容易复制或找出哪个步骤修复了它,但就我的目的而言,我现在有了我需要的东西。
我认为这与您在 Excel 中加载的列的类型有关。我遇到了同样的问题并阅读了您的答案(带有
Table.ReplaceValue()
)。
您的解决方案隐藏了初始点:您为 Table.ReplaceValue()
共享的表达式中使用的函数是 Replacer.ReplaceText()
,它具有转换 Any
类型字段的额外特异性
输入 Text
。
我尝试将在 Excel 中加载时被截断的字段类型从类型 Any
更改为类型 Text
。结果:完整的值随后加载到我的工作表中。
我遇到了类似的问题:
我在 power query 中加载了一个包含大文本(每个单元格大约 2500 个字符)的 Excel 表格,进行了一些转换,并希望将结果加载到另一张工作表中。
我的所有文本单元格都被截断为 1024 个字符。 我进行了一些调试,发现如果我在导入日期弹出窗口中取消勾选“将此数据添加到数据模型”,问题就会消失。
取消勾选后,我的单元格不再被截断,并包含由电源查询生成的完整文本。
希望这有帮助。