DAX - 显示按值过滤的行数和上次报告 运行 日期的度量
DAX - Measure to show count of rows filtered by values and last report run date
又一个我无法理解的 DAX 难题!
我有一个 table,其中包含问题 ID、百分比值和相应的 RAG 状态(红色、琥珀色、绿色)- 该报告每天都会附加相关结果,然后被拉入 Power BI,例如:
Date
Issue ID
%
RAG
08/03/22
1
10%
Red
08/03/22
2
98%
Green
08/03/22
3
80%
Red
08/03/22
4
91%
Amber
08/03/22
5
10%
Red
08/03/22
6
98%
Green
08/03/22
7
80%
Red
08/03/22
8
91%
Amber
09/03/22
1
25%
Red
09/03/22
2
93%
Amber
09/03/22
3
95%
Amber
09/03/22
4
99%
Green
09/03/22
5
94%
Amber
09/03/22
6
50%
Red
09/03/22
7
60%
Red
09/03/22
8
100%
Green
10/03/22
1
10%
Red
10/03/22
2
98%
Green
10/03/22
3
80%
Red
10/03/22
4
91%
Amber
10/03/22
5
10%
Red
10/03/22
6
98%
Green
10/03/22
7
80%
Red
10/03/22
8
91%
Amber
我可以找出 DAX 来提取整个 RAG 状态的每个值的数量 table:
RED RAG Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "RED")
AMBER RAG Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "AMBER")
GREEN RAG Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "GREEN")
但是我需要 RAG 计数来获取我的主要事实中的最新数据 table。
我可以在使用卡片视觉效果时使用过滤器,但更愿意对此进行测量。
我尝试了以下操作,因为我的日期维度 Table 中有“最新数据”真或假列,但出现错误:
CALCULATE(
COUNT('Main Fact Table'[RAG Status] = "RED"),
'Date DIM Table'[Most Recent Data] IN {TRUE()})
确认一下,我的日期维度 Table 只是用来代替 Power BI 中的 date/time 智能选项,它由日期列表、Power Query 中创建的列组成,用于拆分将日期转换为各种有用的信息位,如日期、一年中的一周等,以及计算列,其中 [Most Recent Data] 是其中之一(DAX 代码 Most Recent Data = if (MAX('Main Fact Table'[Run Date]) = 'Date DIM Table'[Date], TRUE(), FALSE())
)
因此,如果报告的最新 运行 日期是 3 月 10 日,我会在我的日期维度中看到这一点 Table:
Date
Most Recent Data
08/03/2022
False
09/03/2022
False
10/03/2022
True
因此希望每个度量的输出(RED/AMBER/GREEN RAG 状态的计数)如下所示:
Date
RAG
Count
10/03/2022
Red
4
10/03/2022
Amber
2
10/03/2022
Green
2
我哪里错了?
非常感谢!
我自己想出了这个:
首先,我创建了三个度量(每个 RAG 状态一个):
Count Of Red Rag Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "RED")
Count Of Amber Rag Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "AMBER")
Count Of Green Rag Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "GREEN")
然后我使用 CALCULATE
函数和日期维度 Table 中的 Most Recent Data
计算列(使用 Most Recent Data = if (MAX('Main Fact Table'[Run Date]) = 'Date DIM Table'[Date], TRUE(), FALSE()
创建)对其进行过滤:
CALCULATE(
[Count of RED RAG Status],
'Date DIM Table'[Most Recent Data] IN { TRUE }
又一个我无法理解的 DAX 难题!
我有一个 table,其中包含问题 ID、百分比值和相应的 RAG 状态(红色、琥珀色、绿色)- 该报告每天都会附加相关结果,然后被拉入 Power BI,例如:
Date | Issue ID | % | RAG |
---|---|---|---|
08/03/22 | 1 | 10% | Red |
08/03/22 | 2 | 98% | Green |
08/03/22 | 3 | 80% | Red |
08/03/22 | 4 | 91% | Amber |
08/03/22 | 5 | 10% | Red |
08/03/22 | 6 | 98% | Green |
08/03/22 | 7 | 80% | Red |
08/03/22 | 8 | 91% | Amber |
09/03/22 | 1 | 25% | Red |
09/03/22 | 2 | 93% | Amber |
09/03/22 | 3 | 95% | Amber |
09/03/22 | 4 | 99% | Green |
09/03/22 | 5 | 94% | Amber |
09/03/22 | 6 | 50% | Red |
09/03/22 | 7 | 60% | Red |
09/03/22 | 8 | 100% | Green |
10/03/22 | 1 | 10% | Red |
10/03/22 | 2 | 98% | Green |
10/03/22 | 3 | 80% | Red |
10/03/22 | 4 | 91% | Amber |
10/03/22 | 5 | 10% | Red |
10/03/22 | 6 | 98% | Green |
10/03/22 | 7 | 80% | Red |
10/03/22 | 8 | 91% | Amber |
我可以找出 DAX 来提取整个 RAG 状态的每个值的数量 table:
RED RAG Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "RED")
AMBER RAG Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "AMBER")
GREEN RAG Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "GREEN")
但是我需要 RAG 计数来获取我的主要事实中的最新数据 table。 我可以在使用卡片视觉效果时使用过滤器,但更愿意对此进行测量。 我尝试了以下操作,因为我的日期维度 Table 中有“最新数据”真或假列,但出现错误:
CALCULATE(
COUNT('Main Fact Table'[RAG Status] = "RED"),
'Date DIM Table'[Most Recent Data] IN {TRUE()})
确认一下,我的日期维度 Table 只是用来代替 Power BI 中的 date/time 智能选项,它由日期列表、Power Query 中创建的列组成,用于拆分将日期转换为各种有用的信息位,如日期、一年中的一周等,以及计算列,其中 [Most Recent Data] 是其中之一(DAX 代码 Most Recent Data = if (MAX('Main Fact Table'[Run Date]) = 'Date DIM Table'[Date], TRUE(), FALSE())
)
因此,如果报告的最新 运行 日期是 3 月 10 日,我会在我的日期维度中看到这一点 Table:
Date | Most Recent Data |
---|---|
08/03/2022 | False |
09/03/2022 | False |
10/03/2022 | True |
因此希望每个度量的输出(RED/AMBER/GREEN RAG 状态的计数)如下所示:
Date | RAG | Count |
---|---|---|
10/03/2022 | Red | 4 |
10/03/2022 | Amber | 2 |
10/03/2022 | Green | 2 |
我哪里错了?
非常感谢!
我自己想出了这个:
首先,我创建了三个度量(每个 RAG 状态一个):
Count Of Red Rag Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "RED")
Count Of Amber Rag Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "AMBER")
Count Of Green Rag Status = CALCULATE(COUNTROWS('Main Fact Table'),'Main Fact Table'[RAG Status] = "GREEN")
然后我使用 CALCULATE
函数和日期维度 Table 中的 Most Recent Data
计算列(使用 Most Recent Data = if (MAX('Main Fact Table'[Run Date]) = 'Date DIM Table'[Date], TRUE(), FALSE()
创建)对其进行过滤:
CALCULATE(
[Count of RED RAG Status],
'Date DIM Table'[Most Recent Data] IN { TRUE }