如果发现的单元格值不符合阈值,则PowerBI Veil总计

问题描述

好吧,我的主要问题是保护正在跟踪的表的隐私,我们要掩盖不满足阈值的值。
因此,如果值小于5,则显示veil_text,例如“ *”。

如此简单:
Val = Count(Orders [EmployeeID]) Val_Veiled = if([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  

对于最后一种情况,我想揭开总数的面纱,因为否则您可以轻松确定PA的值是什么。

类似地,我们要确保它在以下方面正确运行:

State | Val | Val_Veiled
NY    | 15      | 15  
AK    | (blank) | *  
PA    | 3       | *  
Total | 18      | 18  

从理想上讲,我不希望将解决方案与状态相关联,我希望仅将其与[Val]相关联,但是我不知道这样做是否可行。因此,如果还有[Val]度量被突破的另一列,我希望它仍然保留面纱逻辑。 IE如果我跨地区,按商店或按产品划分它,所有可行的方法,都可以完美地实现价值,而不是总价值。

如果唯一的方法是将逻辑绑定到突破列,那么我现在可以处理它。但是我不确定如何突破合计的范围,检查所选值的合计以进行比较以确定是否还需要掩盖合计。

解决方法

如果我理解您的要求正确,那么以下措施应能达到您的目的。总体而言,逻辑就是您要寻找的。但是,如果没有获得预期的输出,您可以在最后一个RETURN步骤中调整组合-

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),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
)

以下是您解释的不同情况的示例输出-

enter image description here