如果显示的单元格值不符合阈值,则PowerBI将显示总计
好的,我的主要问题是保护表跟踪的对象的隐私,我们希望屏蔽不符合阈值的值。如果显示的单元格值不符合阈值,则PowerBI将显示总计,powerbi,dax,measure,totals,Powerbi,Dax,Measure,Totals,好的,我的主要问题是保护表跟踪的对象的隐私,我们希望屏蔽不符合阈值的值。 因此,如果值低于5,则显示一个类似“*”的文本 很简单,所以: Val=计数(订单[员工ID]) Val_Veiled=if([Val]=1) ||总计行=计数减去值, "*", 总价值 ) 下面是您解释的不同情况的示例输出- 我将尝试一下,但从上下文的角度来看,[val]是一个度量值,而不是一个列名。我为val添加了一个基本定义,以便为解决方案提供更好的上下文。如果可能的话,目的是从直接表\列访问中抽象出veiled_
因此,如果值低于5,则显示一个类似“*”的文本 很简单,所以:
Val=计数(订单[员工ID]) Val_Veiled=if([Val]<5,“*”,[Val]) Val和Val-Veiled都是度量
State | Val | Val_Veiled
NJ | 10 | 10
NY | 15 | 15
PA | 3 | *
VA | 1 | *
AK | (blank) | *
Total | 29 | 29
这甚至可以用于:
State | Val | Val_Veiled
PA | 3 | *
VA | 1 | *
Total | 4 | *
State | Val | Val_Veiled
NY | 15 | 15
PA | 3 | *
Total | 18 | 18
State | Val | Val_Veiled
NY | 15 | 15
AK | (blank) | *
PA | 3 | *
Total | 18 | 18
问题出现在:
State | Val | Val_Veiled
PA | 3 | *
VA | 1 | *
Total | 4 | *
State | Val | Val_Veiled
NY | 15 | 15
PA | 3 | *
Total | 18 | 18
State | Val | Val_Veiled
NY | 15 | 15
AK | (blank) | *
PA | 3 | *
Total | 18 | 18
对于最后一个案例场景,我想掩盖总数,因为否则您可以轻松确定PA的值
同样,我们希望确保它在以下情况下正常工作:
State | Val | Val_Veiled
PA | 3 | *
VA | 1 | *
Total | 4 | *
State | Val | Val_Veiled
NY | 15 | 15
PA | 3 | *
Total | 18 | 18
State | Val | Val_Veiled
NY | 15 | 15
AK | (blank) | *
PA | 3 | *
Total | 18 | 18
理想地说,我不希望这个问题的解决方案与国家挂钩,我只希望它与[Val]挂钩,但我不知道这是否可行。因此,如果[Val]度量值跨越了另一列,我希望它仍然保留面纱逻辑。也就是说,如果我把它跨地区、按商店、按产品分类,所有这些都是可行的,并且完全符合价值观,但不符合总数
如果唯一的方法是将逻辑与breakout列绑定,那么我现在可以处理它。但我不知道如何打破总数的范围,检查所选值的总数以进行比较,以确定总数是否也需要隐藏。如果我理解您的要求正确,以下措施应适用于您的目的。总的来说,逻辑就是你想要的。但如果没有得到预期的输出,您可以在最后一个返回步骤中调整组合-
mask_val =
VAR total_val = SUM(your_table_name[val])
VAR total_row = COUNTROWS(your_table_name)
VAR count_blank_row =
CALCULATE(
COUNTROWS(your_table_name),
FILTER(
your_table_name,
your_table_name[val] = BLANK()
)
)
VAR count_less_val =
CALCULATE(
COUNTROWS(your_table_name),
FILTER(
your_table_name,
your_table_name[val] < 5
&& your_table_name[val] >= 1
)
)
RETURN IF(
count_less_val = 1
|| (count_less_val = 0 && count_blank_row >= 1)
|| total_row = count_less_val,
"*",
total_val
)
mask\u val=
VAR total\u val=SUM(您的表名称[val])
VAR total\u row=COUNTROWS(您的\u表格\u名称)
变量计数\空白\行=
算计(
COUNTROWS(您的表名),
滤器(
您的表名,
您的_table_name[val]=BLANK()
)
)
VAR count_less_val=
算计(
COUNTROWS(您的表名),
滤器(
您的表名,
您的表名称[val]<5
&&您的_表_名称[val]>=1
)
)
返回如果(
计数小于值=1
||(计数小于值=0和计数空白行>=1)
||总计行=计数减去值,
"*",
总价值
)
下面是您解释的不同情况的示例输出-
我将尝试一下,但从上下文的角度来看,[val]是一个度量值,而不是一个列名。我为val添加了一个基本定义,以便为解决方案提供更好的上下文。如果可能的话,目的是从直接表\列访问中抽象出veiled_逻辑,因为如果添加了一个新列,并且在该列中使用了veiled_val,那么我需要复制该列的逻辑。目前,有三个不同的栏目正在被打破。只要尝试一下,并要求任何澄清,如果需要的话。