我使用 Power BI 为大型企业客户端创建报表和视觉对象。
我的一位客户提出了一个有趣的请求:他们希望能够查看应用于给定报告的所有筛选器的摘要。我使用ISFILTERED()
函数创建了一个卡片视觉对象,其中列出了筛选的维度,但他们希望能够看到正在显示哪些值。当他们只对一个值进行切片或过滤时,这工作得很好,但是当选择多个值时,我如何显示?我的 DAX 如下:
Applied Filters =
var myvalues = VALUES(mytable[dimension_column])
return
IF(ISFILTERED(mytable[dimension_column]) = FALSE(),
"Not filtered",
"Column Name:" & UNICHAR(10) & mylist)
当切片器中仅选择一个值时,输出为:
Column Name:
Selected Value
显然,当在切片器中选择多个值时,变量mylist
将具有多个值,并且函数将失败。我的问题是,如何将列myvalue
转换为 DAX 中的列表,以便我可以输出每个值?
我想要得到的是:
Column Name:
Selected Value1,
Selected Value2,
etc.
谢谢!
一种可能性是将所有值连接成一个字符串。
例如,将mylist
替换为字符串
CONCATENATEX(VALUES(mytable[dimension_column]), mytable[dimension_column], UNICHAR(10))
实际上只返回度量值的单个值,但它看起来像一列。
另一种方法是,而不是使用卡片,只需创建一个仅具有值mytable[dimension_column]
的表视觉对象。此表将在您清除切片机时自动过滤。