我要求切片器中的所选值必须有效。
让我们假设,如果我在Store slicer中选择一个值,并且该商店被从公司中删除。切片器仍将显示其名称,而与切片器交互的视觉效果中没有数据。
选择默认值
手动更新切片器值
但我只希望在我的商店切片器中选择相关商店。我知道它的切片器的属性可以保留在发布报表时在其中设置的值,但是有任何解决方法。
最佳答案
您的问题的实质已在以下线程中提出并涵盖:
Initial value of Power BI slicer based on another slicer choice
答案是否定的,但是我可以提出一种解决方法。
在具有商店的维度表中,添加计算列Rank
,该列将确定销售额最高的商店。您可以为此使用RANKX函数。
添加StoreName
计算列,该列返回文本值"The biggest store"
(或"Top 1"
-或其他)和所有其他商店的原始商店名称。使用IF。
将包含StoreName
值的列"The biggest store"
放入切片器。
添加视觉效果(卡片,表格),您将在其中显示当前所选商店的原始名称。
按为此目的设计的“等级”列对StoreName
列进行排序,以使The biggest store
浮动到切片器的顶部。 Here是如何按另一列对列进行排序。
由于总会有一家销售最高的商店,因此您可能总是会在切片器中勾选该值,并且它将始终显示数据。
在此示例中,"The biggest store"
是“为女孩存储”。我将其保留在切片器上。然后,从事实表中删除该商店的所有记录。应用。切片器仍被选择为"The biggest store"
,但是现在最大的存储区是“为瓢虫存储”。
这是一个可供下载的示例文件(M和DAX中的两种方法):
M Default Slicer Value.pbix
您可以通过添加计算表来完全在DAX中创建DimStore表:
DimStore_DAX =
SUMMARIZECOLUMNS (
Sales[Store],
"Sales", [Sale],
"Rank", RANKX ( ALL ( Sales[Store] ), [Sale] ),
"StoreName", IF ( RANKX ( ALL ( Sales[Store] ), [Sale] ) = 1, "The biggest store", VALUES ( Sales[Store] )
)
)