不确定这在 Power BI 中是否可行,我有一张包含菜肴和配料的表格。我想创建一个关于可用成分的过滤器,以便我可以制作这道菜。 如果我过滤[面粉],我只想看到[苹果派]和[披萨]。如果我过滤[番茄酱],我想看到[意大利面]和[披萨]。
菜 | 成分 |
---|---|
苹果派 | 苹果,糖,面粉,鸡蛋 |
面食 | 意大利面,番茄酱 |
披萨 | 面粉,番茄酱,奶酪 |
我想创建一个事实表如下:
菜 | 成分 |
---|---|
苹果派 | 苹果 |
苹果派 | 糖 |
苹果派 | slour |
苹果派 | 鸡蛋 |
面食 | 意大利面 |
面食 | 番茄酱 |
披萨 | 面粉 |
披萨 | 番茄酱 |
面食 | 奶酪 |
还有一个暗淡的表,如下所示,并将其链接到事实表,但它没有返回预期的结果。如果我选择番茄酱和意大利面,我只想看到意大利面,但我也看到披萨。
成分 |
---|
苹果 |
糖 |
面粉 |
鸡蛋 |
意大利面 |
番茄酱 |
奶酪 |
默认情况下,Power BI 切片器对视觉效果应用“或”逻辑,而不是“与”逻辑。
要改变这一点,您需要创建一个 DAX 度量:
IsDishFiltered =
IF (ISFILTERED(Ingredients[Ingredients]),
IF (
ISFILTERED ( Ingredients[Ingredients] )
&& MAX ( Dishes[Ingredients] )
IN ALLSELECTED ( Ingredients[Ingredients] )
&& COUNTROWS ( Ingredients )
<= CALCULATE (
COUNT ( Dishes[Ingredients] ),
FILTER (
ALLSELECTED ( Dishes ),
[Ingredients]
IN ALLSELECTED ( Ingredients[Ingredients] )
&& [Dish] = MAX ( 'Dishes'[Dish] )
)
),
1
),
1)
如果您不想在过滤食材之前显示菜肴,请删除第一行和最后一行。
最后,在要显示菜肴的视觉效果中应用此措施作为过滤器。