【问题标题】:Power BI DAX : multi-column and multi-row condition and group by 2 columnsPower BI DAX:多列和多行条件并按 2 列分组
【发布时间】:2021-07-01 04:19:45
【问题描述】:

伙计们,我正在尝试创建计算列/度量并遇到问题。

我的数据集如下所示:

City Building Name Test Date Component Test Result Calculated Result
- - - - - -
City1 Build1 1/3/2014 Component A Pass None
City1 Build1 1/11/2014 Component 1 Fail Fail1
City1 Build1 1/11/2014 Component 2 Pass Fail1
City1 Build1 1/11/2014 Component 3 Pass Fail1
City1 Build1 1/06/2014 Component A Fail MultiFail
City1 Build1 1/06/2014 Component 1 Fail MultiFail
City1 Build1 1/06/2014 Component 2 Pass MultiFail
City1 Build1 1/06/2014 Component 3 Fail MultiFail

我正在查看组件和测试结果列,失败计数列表 - 按建筑物名称和日期分组;然后根据失败的组件数生成计算结果。

如果单个组件测试结果 = 失败 - 那么计算结果 = 失败1 如果 CountA(components Test Result = fail) 2 那么计算结果 = MultiFail 如果 Component1 AND ComponentA 测试结果 = 失败,则计算结果 = FailMail

到目前为止,我尝试了各种方法来解决这个问题,领先一步,落后两步:

我创建了一个计算列来计算 # Fails to be used for Calculated Result 并努力生成计算结果。

Tests_Failed = CALCULATE(COUNT(Table[TestResult]),FILTER(Table,Table[date]=MAX(Table[date]) && 表[TestResult]="失败"))

我尝试解决问题的另一种方法

计算结果 =
VAR 组件 = 表[组件] VAR Date1 = 表[测试日期] VAR Build = Table[建筑物名称] 返回 CALCULATE(DISTINCTCOUNT('Table'[Component]), ALL(Table), FILTER('Table', '表'[测试结果]="失败" && '表'[日期] = Date1 && 'Table'[建筑物名称]=Build)))

【问题讨论】:

  • 我认为这是一个 DAX 问题
  • 感谢您的评论@RicardoDiaz

标签: dax powerquery powerbi-desktop


【解决方案1】:

你可以试试这个

Measure =
VAR _1 =
    CALCULATE (
        CALCULATE (
            DISTINCTCOUNT ( 'Table'[Component] ),
            FILTER ( 'Table', 'Table'[Test Result] = "Fail" )
        ),
        ALLEXCEPT ( 'Table', 'Table'[Building Name], 'Table'[Test Date] )
    )
VAR _2 =
    SWITCH (
        TRUE (),
        ISBLANK ( _1 ) = TRUE (), "None",
        _1 = 1, "Fail1",
        "MultiFail"
    )
RETURN
    _2

【讨论】:

  • 按预期工作,@smpa01
猜你喜欢
  • 2022-11-14
  • 2020-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 2018-06-21
  • 1970-01-01
  • 2023-02-14
相关资源
最近更新 更多