美文网首页BI学习笔记
销售需求丨固定日期汇报(修)

销售需求丨固定日期汇报(修)

作者: Fabric丨白茶 | 来源:发表于2020-09-08 22:15 被阅读0次

    白茶最近在群里和小伙伴们吹水的时候,发现有很多报表都是需要根据具体的实际需求来进行的。很多大佬喜欢称呼这类需求为中国式报表。举一个简单的例子。

    BOSS:你给我做一个近期周汇总!

    白茶:我不是做了一个[年周]格式汇总么?

    BOSS:花里胡哨的,咱们公司每周二进行汇报,你知道不?赶紧整,我不要你觉得,我要我觉得!

    白茶:......(@##¥%!?)好。

    .

    .

    .

    木有办法啊,哎,生活总归还是得继续啊,进入正题。

    (示例文件会放到知识星球中,小伙伴们可以搜索“PowerBI丨需求圈”,文章结尾处会有二维码。)

    首先,这是本期的示例文件,将其导入到PowerBI中如下:

    image

    先添加一个计算列,白茶在继续说,编写如下代码:

    周几 = 
    "周" & WEEKDAY ( '示例'[日期] )
    

    结果如下:

    说一下什么意思,现在表中,最新的销售日期是12月17日。但是公司每周三,会进行财务工作周汇报,每次汇报都是截止至每周二的近七天销售汇总。明白了吧,小伙伴们?这就是典型的中国式报表,不按照现成的代码来,因为每个公司的限定日期不固定,这就要求我们在做报表的时候视情况而定。

    (这一列不参加任何计算,白茶只是想和小伙伴们说一下什么意思。)

    背景介绍完毕,开始编写DAX:

    基本代码:

    聚合 = 
    SUM ( '示例'[销售金额] )
    

    有的小伙伴们说,好弄,利用CALCULATE+FILTER模式就行了!一开始白茶也是这么处理的,咱先来看看之前的错误代码:

    汇总 = 
    CALCULATE (
        [聚合],
        FILTER (
            ALL ( '示例'[日期] ),
            '示例'[日期] <= MAX ( '示例'[日期] )
                && '示例'[日期]
                    > MAX ( '示例'[日期] ) - 7
        )
    )
    

    结果如下:

    这么做的结果看似合理,也不能算错,但是这属于一种滚动聚合的方式,很明显不符合BOSS的需求啊!

    (BOSS:就是就是,花里胡哨的!)

    换个角度思考一下,我要是BOSS,我肯定只是想看每个周期累计到周二的销售数据,不想看其他日期的,这怎么办呢?别急,修改代码:

    周二汇总 = 
    VAR CQ =
        WEEKDAY ( MAX ( '示例'[日期] ) )
    VAR HQ =
        MAX ( '示例'[日期] )
    VAR RESULT =
        CALCULATE (
            [聚合],
            FILTER ( ALL ( '示例'[日期] ), '示例'[日期] > HQ - 7 && '示例'[日期] <= HQ )
        )
    RETURN
        IF ( CQ = 2, RESULT, BLANK () )
    

    结果如下:

    这次的结果没问题,只有符合汇报日期的数据显示,其他的不显示。

    (膜拜@冬哥!)

    这里解释一下代码含义:

    CQ这里是为了判断截止日期是周几

    HQ是为了获取上下文的日期。

    RESULT是利用CALCULATE+FILTER的累计求和模式,求出每个七日周期的累计。

    最后,利用IF进行判定,周2显示累计求和,否则显示为空。

    去掉[聚合]和[汇总]项,结果如下:

    看起来是不是简洁多了?剩下的就比较简单了,编写代码:

    上周二汇总 = 
    VAR CQ =
        WEEKDAY ( MAX ( '示例'[日期] ) )
    VAR HQ =
        MAX ( '示例'[日期] )
    VAR RESULT =
        CALCULATE (
            [聚合],
            FILTER ( ALL ( '示例'[日期] ), '示例'[日期] > HQ - 14 && '示例'[日期] <= HQ - 7 )
        )
    RETURN
        IF ( CQ = 2, RESULT, BLANK () )
    

    环比代码:

    比率 = 
    DIVIDE ( [周二汇总] - [上周二汇总], [上周二汇总] )
    

    结果如下:

    小伙伴们,GET了么?
    (BOSS:给冬哥点个赞!)

    这里是白茶,一个PowerBI的初学者。

    相关文章

      网友评论

        本文标题:销售需求丨固定日期汇报(修)

        本文链接:https://www.haomeiwen.com/subject/mcfsektx.html