【发布时间】:2021-12-21 14:02:45
【问题描述】:
我正在尝试在 Power BI 中使用 DAX,但无论我如何尝试,我似乎都无法做到这一点。
我的源数据包含 SQL 中存储过程的输出,该存储过程根据一组原始数据计算多个验证检查的通过率和失败率,这些原始数据也每天更改行大小。因此,我每天的数据都具有相同数量的验证检查类型,并将每个检查的总行数作为相同的值 - 例如:
表格
| 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 月 21 日)和我选择的任何日期的累积(运行)总数(例如,如果我选择了 02/01/21 和 03/01/21,我希望看到 550)
我试图创建一个快速度量来将检查的总行数除以日期计数(我认为应该等于 5) - 这适用于单个日期 - 但是当我在过滤器中选择多个日期时,我只是得到值的平均值。当我尝试按日期和检查的总行数的平均总和进行运行计数时,也会发生同样的情况。
我能够让它工作的唯一方法是给每个验证检查一个从 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)
)
)
这肯定是一种荒谬的做法,还有更好的方法吗?
对我的问题或其格式的任何失礼表示歉意 - 这是我的第一个问题!
提前谢谢你!
【问题讨论】:
标签: dax powerbi-desktop cumulative-sum