Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果显示的单元格值不符合阈值,则PowerBI将显示总计_Powerbi_Dax_Measure_Totals - Fatal编程技术网

如果显示的单元格值不符合阈值,则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,那么我需要复制该列的逻辑。目前,有三个不同的栏目正在被打破。只要尝试一下,并要求任何澄清,如果需要的话。