使用VBA在Power Query中定义Dymanic MDX参数

我有一个强大的查询连接到Tabular数据模型。 我有一些运行的MDX,并希望通过单元格的值将WHERE语句中的值传递给MDX。 任何想法如何做到这一点? 我之前设置了Power Query过程来获取单元格的值,并通过第二个过程将其用作filter,但是当我在MDX中使用该命名范围时,该方法不起作用。

基本上我有一个“… WHERE([Table]。[ID]。&[123])”),我想每次刷新进程时将单元格A1中的值replace为“123”部分。

有任何想法吗?

您可以使用&运算符在Power Query语言中合并文本值,如"[Table].[ID].&[" & CellValue & "])" 。 如果你使用这种方法,你可能不得不closures隐私级别,你应该确保你信任来自单元格的值,或者通过加倍字符正确编码这些值(你可以使用Text.Replace(CellValue, "]", "]]")来做到这一点)。