Power BI DAX:多列和多行条件并按 2 列分组

Power BI DAX : multi-column and multi-row condition and group by 2 columns

伙计们,我正在尝试创建计算 column/measures 并遇到问题。

我的数据集如下所示:

城市 建筑物名称 测试日期 组件 测试结果 计算结果
- - - - - -
城市1 Build1 2014 年 1 月 3 日 组件 A 通过 None
城市1 Build1 2014 年 1 月 11 日 组件 1 失败 失败1
城市1 Build1 2014 年 1 月 11 日 组件 2 通过 失败1
城市1 Build1 2014 年 1 月 11 日 组件 3 通过 失败1
城市1 Build1 2014 年 1 月 6 日 组件 A 失败 多次失败
城市1 Build1 2014 年 1 月 6 日 组件 1 失败 多次失败
城市1 Build1 2014 年 1 月 6 日 组件 2 通过 多次失败
城市1 Build1 2014 年 1 月 6 日 组件 3 失败 多次失败

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

If Single component Test Result = fail - then Calculated Result = Fail1 If CountA(components Test Result = fail) <=2 then Calculated Result = Fail2 If CountA(components Test Result = fail) > 2 then Calculated Result = MultiFail If Component1 AND ComponentA Test Result = Fail then Calculated Result = FailMail

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

我创建了一个计算列来计算 # 无法用于计算结果并且正在努力生成计算结果。

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

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

Calculated Result =
VAR Component = Table[Component] VAR Date1 = Table[Test date] VAR Build = Table[Building Name] RETURN CALCULATE(DISTINCTCOUNT('Table'[Component]), ALL(Table), FILTER('Table', 'Table'[Test Result]="Fail" && 'Table'[date] = Date1 && 'Table'[Building Name]=Build)))

你能试试这个吗

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