如何在Power BI中将切片器值设置为表格中第一个可用值?

3

我有一个要求,即必须选择器中选定的值是有效的。

假设我在 Store slicer 中选择了一个值,而该商店已从公司中删除。与该选择器交互的视觉元素仍将显示该商店的名称,但不会显示任何数据。

默认选择的值

默认选择的选择器

手动更新的选择器值

已更新的选择器

但是,我只想在 Store slicer 中选择相关的商店。我知道选择器保留在发布报告时设置的值是该选择器的属性,但是否有任何解决方法。


我不确定这会不会有帮助,但是你可以在切片器本身上添加一个过滤器,从而为可用值添加基于度量的“验证”。例如:将过滤器筛选仅保留“SalesAmount> 0”的值。如果明天当前选择的值消失了,我不确定选择会发生什么。 - Giovanni Luisotto
谢谢您的慷慨奖励。您是否介意接受这个答案? - Przemyslaw Remin
2个回答

2

您的问题的本质已在此主题中提出并涵盖:

基于其他切片机选择的Power BI切片机的初始值

答案是否定的,但我可以提出解决方法。

  1. 在包含门店的维度表中添加一个计算列Rank,用于确定销售额最高的门店。您可以使用RANKX函数来实现。
  2. 添加一个名为StoreName的计算列,它返回文本值"The biggest store"(或"Top 1" - 或其他任何值),并为所有其他门店保留原始名称。使用IF函数。
  3. 将包含"The biggest store"值的StoreName列放入切片器中。
  4. 添加一个可视化元素(卡片、表格),其中将显示当前所选门店的原始名称。
  5. 按照设计目的,通过Rank列对StoreName列进行排序,以便The biggest store浮动到切片器的顶部位置。这里是如何通过另一列对该列进行排序的方法。

由于总是会有一家销售额最高的门店,因此您可以始终在切片器中选择该值,并始终显示数据。

在这个例子中,"The biggest store"是“女孩店”。我在切片器上保持它被选中。然后我从事实表中删除了该店的所有记录。应用更改。现在切片器仍然被选为"The biggest store",但现在最大的商店意味着“瓢虫店”。

enter image description here

这是一个包含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] )
    )
)

0

这只是因为它是您的默认值,否则一旦从基础中删除,切片器应该自动失去值。如果可能的话,请将默认值更改为反映存储值,确保它始终存在。我相信即使没有数据,也会保留默认值。另一种方法是默认为所有商店,然后让用户选择所需内容。由于我不了解您的具体要求,这可能不是您要寻找的,但希望能帮助您找到解决方案。


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