DAX - 运行 基于日期过滤的总计,其中由于同一天的多个输出,相同的每日总计在多行上

DAX - Running total based on date filtering where same daily total is on multiple rows due to multiple outputs for same day

我正在尝试在 Power BI 中使用 DAX,但无论我如何尝试,我似乎都无法做到这一点。

我的源数据包含 SQL 中存储过程的输出,该过程针对一组原始数据计算多个验证检查的通过率和失败率,这些原始数据的行大小也每天发生变化。因此,我每天的数据都具有相同数量的验证检查类型,并给出为每个类型检查的总行数作为相同的值——例如:

Table

Date Check Ref. Rows Passed Rows Failed Total Rows Checked
01/01/21 Check 1 20 200 220
01/01/21 Check 2 40 180 220
01/01/21 Check 3 60 160 220
01/01/21 Check 4 10 210 220
01/01/21 Check 5 15 205 220
02/01/21 Check 1 20 230 250
02/01/21 Check 2 200 50 250
02/01/21 Check 3 100 150 250
02/01/21 Check 4 40 210 250
02/01/21 Check 5 160 90 250
03/01/21 Check 1 290 10 300
03/01/21 Check 2 110 190 300
03/01/21 Check 3 25 275 300
03/01/21 Check 4 175 125 300
03/01/21 Check 5 20 280 300

等等等

我希望能够在报告选项卡中显示一张 KPI 卡,其中显示在任何特定日期检查的行数(例如 220 年 1 月 1 日)和累积行数 (运行)我 select 的所有日期总数(例如,如果我 select 编辑了 02/01/21 和 03/01/21,我希望看到 550)

我试图创建一个快速度量方法,将检查的总行数除以日期计数(我认为应该等于 5)——这适用于单个日期——但是当我 select 过滤器中的多个日期,我只得到这些值的平均值。当我尝试按日期和检查的总行数的平均总和进行 运行 计数时,也会发生同样的情况。

我能够让它工作的唯一方法是为每个验证检查提供一个从 1 到 5 的索引,然后创建两个快速度量,首先给我检查的行数的值在任何给定的一天,然后创建一个 运行 总度量过滤日期和创建的较早维度度量:

Dimension Measure = 
        Calculate(
          SUM('Table'[Total Rows Checked]),
          'Table'[Check Ref. Index]
             in { 1 }

(where 1 refers to index 1 (check 1))

Running Total Measure = 
     Calculate (
         [Dimension Measure],
         FILTER(
            ALLSELECTED('Table'[Date]),
            ISONORAFTER('Table'[Date], MAX('Table'[Date]), DESC)
         )
)

当然这是一种荒谬的做法,还有更好的方法吗?

对于我的问题或其格式的任何失礼表示歉意 - 这是我的第一个问题!

提前致谢!

如何对您选择的每个日期的最大[检查的总行数]求和?

Rows Checked =
SUMX (
    VALUES ( 'Table'[Date] ),
    CALCULATE ( MAX ( 'Table'[Total Rows Checked] ) )
)

或者,您可以像这样从每天开始进行第一次检查:

Rows Checked =
CALCULATE (
    SUM ( 'Table'[Total Rows Checked] ),
    'Table'[Check Ref.] = "Check 1"
)