对于日期日历中未在我的表格下列出的日期,我的度量返回 0

问题描述 投票:0回答:1

如何更新/调整以下度量以包含表 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

powerbi dax
1个回答
0
投票

您的情况中的日期表应基于 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

© www.soinside.com 2019 - 2024. All rights reserved.