【问题标题】:DAX syntax for conditional measure to format a matrix based on value of a column?基于列值格式化矩阵的条件度量的 DAX 语法?
【发布时间】:2021-01-07 00:28:25
【问题描述】:

我在 Power BI 中有一个矩阵,它按类别和国家/地区显示计数(例如,请参见下面的表 1)。

我想创建一个度量来“抑制”该矩阵中低于 3 的任何计数(通过将计数替换为“...”)如果同一源表中另一列的值 = 1。如果该值不等于 1,我想抑制同一矩阵中低于 10 的任何计数。

为了澄清,国家 1 到 5 的值是 1 或 2 用于抑制所依赖的列,在表中它看起来像这样:

在值字段中使用此度量,这将生成一个如下所示的矩阵:

我已经能够使用以下 DAX 语法创建度量来实现第一部分(抑制小于 3 的计数):

Less than 3 = IF([COUNT]<3),"...",[FORMCOUNT]

但我一直在努力融入第二个条件。我想象它看起来像这样:

Less than 3 or 10 = IF('Table'[conditional column] = 1
                    ,(IF(AND([COUNT]>0,[COUNT]<3),"...",[COUNT]))
                    ,(IF(AND([COUNT]>0,[COUNT]<10),"...",[COUNT])))

但这不起作用。我已经使用 FILTER 等函数尝试了这种语法的各种变体,这些函数允许您指定列和条件,但没有运气。

任何指点将不胜感激,谢谢!

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    这可能不是完美的答案,但以下似乎可以满足要求:

    需要两个措施:

    Measure1 = SELECTEDVALUE('Dataset'[Suppression category],"NA")
    
    Measure2 = IF('Dataset'[Measure1] = 1,IF([COUNT]<3,"...",[COUNT]),IF([COUNT]<10,"...",[COUNT]))
    

    遗憾的是,目前无法解释第一个措施为何或如何起作用,除了我认为它用于选择/区分抑制类别 1 和 2。

    第二个度量使用第一个度量作为嵌套 IF 语句中的条件,这样如果抑制类别 = 1,则在小于 3 时抑制计数,否则不抑制计数。如果抑制不为1,则小于10则抑制计数。否则,不抑制计数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-08
      • 2022-11-12
      • 2019-01-09
      相关资源
      最近更新 更多