是否可以有条件地将表存储到DAX变量中



我想在变量中存储一个表,但要基于可视化的条件。

例如

VAR ColumnValues = values( SpecificTable[SpecificColumn] ) 

工作正常,但我想做的是:

VAR ColumnValues = if([some condition T/F], values( SpecificTable1[SpecificColumn1] ) , SpecificTable2[SpecificColumn2] )

作为参考,这个问题是在探索解决问题的变通方法:对我标记为过早回答的动态维度做出响应的动态度量。我仍然没有在DAX中动态处理列值的解决方案。

我还没能想出一个允许这样做的语法。Switch只返回标量字符串,而IF似乎只允许标量结果,而不允许表。还有其他我没有想过的选择吗?

没有明确使用任何条件,而是我正在检查的条件,我能够通过以下方式获得所需结果:

创建字段参数(将其命名为"_Dimension"(,选择需要在DAX 中播放的列

DAX看起来像这样:

VAR SelectedDim = SELECTEDVALUE( _Dimension[_Dimension Fields] ) //fully qualified - created by field parameter

//stage the values in each of the columns available
VAR Dim1Values = ADDCOLUMNS( VALUES( Dim1[Column1] ) , "RowValue" , Dim1[Column1] , "ColumnName" , "'Dim1'[Column1]" ) 
VAR Dim2Values = ADDCOLUMNS( VALUES( Dim1[Column2] ) , "RowValue" , Dim1[Column2] , "ColumnName" , "'Dim1'[Column2]" ) 
//... same pattern, as many column as needed
VAR SelectedDimValues = FILTER( UNION( Dim1Values, Dim2Values ) , [RowValue] = SelectedDim )  //return the values just for the selected column

SelectedDimValues是一个变量,它包含一个包含所选维度行的表。

最新更新