如何更新/调整以下度量以包含表 All_OOS_AD[类别] 中的所有 A 到 D 项目,而不仅仅是“A”?
Total OOS A (NS) = SUMX(
VALUES(All_OOS_AD[Date]),
VAR currentDate = [Date]
RETURN IF(
CONTAINS(All_OOS_AD, All_OOS_AD[Date], currentDate, All_OOS_AD[Item Category], "A"),
CALCULATE(COUNTROWS(All_OOS_AD), All_OOS_AD[Item Category] = "A", All_OOS_AD[Date] = currentDate),
0
)
)
此措施目前仅适用于“A”商品;我希望能够对表中的所有 A 到 D 项目使用相同的度量:
日期 | 商品类别 |
---|---|
15.2.23 | A |
15.2.23 | A |
15.2.23 | A |
15.2.23 | B |
15.2.23 | D |
15.2.23 | D |
16.2.23 | B |
16.2.23 | D |
16.2.23 | D |
16.2.23 | D |
16.2.23 | C |
17.2.23 | A |
17.2.23 | D |
17.2.23 | D |
17.2.23 | D |
17.2.23 | D |
20.2.23 | C |
20.2.23 | C |
20.2.23 | C |
我希望该度量计算特定日期的所有 A、B、C 和 D 项目,如果上表中该特定日期没有 A、B、C 或 D 项目,则返回 0:
日期 | 商品类别 | 数量 |
---|---|---|
15.2.23 | A | 3 |
15.2.23 | B | 1 |
15.2.23 | C | 0 |
15.2.23 | D | 2 |
16.2.23 | A | 0 |
16.2.23 | B | 1 |
16.2.23 | C | 1 |
16.2.23 | D | 3 |
17.2.23 | A | 1 |
17.2.23 | B | 0 |
17.2.23 | C | 0 |
17.2.23 | D | 4 |
20.2.23 | A | 0 |
20.2.23 | B | 0 |
20.2.23 | C | 3 |
20.2.23 | D | 0 |
我当前使用的度量,对于 A 到 D 项目,对于未在我的表 (All_OOS_AD) 中列出的日期重新运行 0 - 它从主 DATE 表中选取此表,其中包括所有日期(最早的日期到今天),并且我不想要这个。我希望该度量仅针对 All_OOS_AD 表中包含的日期返回 0:
Total OOS A-D/Date (NS) T1 *NB* =
VAR Total_OOS_AD =
COUNTROWS(
SUMMARIZE(
All_OOS_AD,All_OOS_AD[Name],All_OOS_AD[Date]
)
)
VAR Result =
IF(
Total_OOS_AD =BLANK(),
0,
Total_OOS_AD
)
RETURN
Result
您的情况中的日期表应基于 All_OOS_AD 中日期列的不同值:
DateTable = DISTINCT(All_OOS_AD[Date])
然后您需要创建一个计算表,其中包含日期和项目类别的每个组合。
AllCombinations = CROSSJOIN('Date', 'ItemCategory')
然后计算日期和项目类别的每个组合的出现次数,对于没有出现的组合返回 0 而不是 BLANK :
ItemCountMeasure =
CALCULATE(
COUNTROWS('All_OOS_AD'),
FILTER(
ALL(All_OOS_AD),
All_OOS_AD[Date] IN VALUES('DateTable'[Date])
&& All_OOS_AD[Item Category] IN VALUES ('ItemCategoryTable'[Item Category])
)
) + 0