DAX计算-最近2天的总和销售

时间:2019-11-21 22:24:39

标签: powerbi dax

我需要你的帮助。 我有一个这样的表(“表”)。

enter image description here

在下表中,我有最近2天销售的总“销售额”(不是最新的2天!),例如:如果最新的销售更新是在星期二,则将星期一和星期五的销售总和(否周末销售))。 换句话说:

enter image description here

使用以下DAX计算列进行计算:

Sale last 2 days= VAR ProductDates = CALCULATETABLE ( VALUES ( Table[Date]), ALLEXCEPT ( Table, Table[Product_ID]) ) VAR LastTwoDates = TOPN ( 2; ProductDates;[Date] ) RETURN CALCULATE ( SUM ([Sale]); ALLEXCEPT ( Table, Table[Product_ID] ); Table[Date] IN LastTwoDates)

现在,我需要更进一步: 我想做的是重新计算每个产品最近2天的销售总和,但仅对“分销商指标” = 1的分销商而言。而最近的2个销售日是仅向这些分销商销售的销售日。

(例如:如果最近的销售日是星期二,而昨天没有这些分销商的销售,则最近的两天将是前一个星期五和星期四(即最近的两天,其中销售不为空)。

我知道我已经可以使用计算了,但是我无法弄清楚放置逻辑的位置,以便得到正确的结果:

示例:

我知道我已经可以使用计算了,但是我无法弄清楚放置逻辑的位置,以便得到正确的结果:

enter image description here

请其中的一些人帮忙!

谢谢。非常感谢。

Br, 雅各布

1 个答案:

答案 0 :(得分:0)

假设有一个名为“ Calendar”的日期维度表,这对我有用。

=IF(
    COUNTROWS(
        INTERSECT(
            VALUES('Calendar'[Date]),
            CALCULATETABLE(VALUES(Table[Date]), ALL(Table))
        )
    ) > 0,
    CALCULATE(
        SUM(Table[Sale]),
        CALCULATETABLE(
            TOPN(2, SUMMARIZE(Table, Table[Date]), Table[Date], DESC),
            FILTER(ALL(Table), Table[Date] <= MAX('Calendar'[Date]))
        ),
        ALL('Calendar')
    )
)