根据切片器值选择DAX度量

4

有没有可能通过切片器的值动态选择表格中定义的适当DAX度量?

源表格:

+----------------+------------+
|      col1      |    col2    |
+----------------+------------+
| selectedvalue1 | [measure1] |
| selectedvalue2 | [measure2] |
| selectedvalue3 | [measure3] |
+----------------+------------+

我把col1的值放入了切片器中。我可以通过以下方式检索这些值:
SlicerValue = SELECTEDVALUE(tab[col1])

我可以硬编码:

MyVariable = SWITCH(TRUE(),
SlicerValue = "selectedvalue1" , [measure1],
SlicerValue = "selectedvalue2" , [measure2],
SlicerValue = "selectedvalue3" , [measure3],
BLANK()
)

但我不想在DAX度量中硬编码SelectedValue与Measure之间的关系。我希望将其定义在源表中。

我需要类似于这样的内容:

MyMeasure = GETMEASURE(tab[col2])

当然,前提是这样的功能存在,并且只过滤了一个 col2 的值。

如果我理解正确,您想通过数据集中存储的名称执行度量,那么据我所知,这是不可能的。DAX 代码(度量)无法动态执行。 - Nick Krasnov
@NickKrasnov,请查看我的编辑,以便澄清。 - Przemyslaw Remin
我不确定这是否可能。你能给出你的使用情况吗?也许有一种不同的方法可以解决问题。 - Alexis Olson
2
可以通过“计算组”和“计算项”来实现类似的功能。但是,Power BI目前尚不支持它们的本地使用,只有在Analysis Services中定义后才能使用。因此,目前无法通过这种方式进行动态度量执行。有一个开放的请求(想法)希望在PBI中实现此功能。所以希望很快就会实现。 - Nick Krasnov
你不能只是使用一个参数表,并根据用户的选择来确定你的度量吗? - StelioK
@NickKrasnov,你对计算组的理解是正确的。你应该把它发布为答案,因为这是正确的回答。如果没有计算组,你将不得不像问题中那样硬编码度量。 - greggyb
1个回答

2
@NickKrasnov在其他地方提到了计算组。为了自动化生成硬编码查找表,您可以使用针对pbix的DMV
您可以执行以下操作以获取格式化输出,然后将其粘贴到大型SWITCH中。
SELECT
    '"' + [Name] + '", [' + [Name] + '],'
FROM $SYSTEM.TMSCHEMA_MEASURES

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接