使用VBA在电源查询中定义Dymanic MDX参数

使用VBA在电源查询中定义Dymanic MDX参数,vba,excel,mdx,powerquery,Vba,Excel,Mdx,Powerquery,我有一个与表格数据模型的电源查询连接。我有一些运行的MDX,希望将WHERE语句中的值从单元格的值传递给MDX。有什么办法吗?我在之前设置了powerquery过程来获取单元格的值,并通过第二个过程将其拉入以将其用作过滤器,但当我在MDX中使用该命名范围时,该方法不起作用 基本上,我有一个“…WHERE([Table].[ID].&[123]),我想在每次刷新流程时用单元格A1中的值替换“123”部分 有什么想法吗?您可以使用&code>“[Table].[ID].&[”&CellValue&“

我有一个与表格数据模型的电源查询连接。我有一些运行的MDX,希望将WHERE语句中的值从单元格的值传递给MDX。有什么办法吗?我在之前设置了powerquery过程来获取单元格的值,并通过第二个过程将其拉入以将其用作过滤器,但当我在MDX中使用该命名范围时,该方法不起作用

基本上,我有一个“…WHERE([Table].[ID].&[123]),我想在每次刷新流程时用单元格A1中的值替换“123”部分


有什么想法吗?

您可以使用&code>“[Table].[ID].&[”&CellValue&“])”等运算符在Power查询语言中组合文本值。。如果使用此方法,您可能必须关闭隐私级别,并且您应该确保您信任来自单元格的值,或者通过加倍]字符对这些值进行正确编码(您可以使用
Text.Replace(CellValue,“]”,“]]”
来执行此操作)。

谢谢!因此,如果我要用作值的单元格位于“Sheet1”和单元格B2上,该单元格的外观如何?取决于查询名称。您可以使用功能区中的“从表格”将单元格的值输入Power Query。这将使用表单元格中的值创建一个查询(我们称之为Query1),然后可以深入到单元格中获取其值,然后在需要使用该值时引用Query1。