美文网首页Power BI干货大数据PowerBI专栏
各种时间指标的Power BI度量值,一次全分享给你

各种时间指标的Power BI度量值,一次全分享给你

作者: PowerBI星球 | 来源:发表于2019-12-09 22:19 被阅读0次

    ​在各种经营分析报告中,我们常常会看到YTD,YOY这样的统计指标,这样的数据计算并不难,尤其是在PowerBI中,因为有时间智能函数的帮助,大大简化了这些计算,从而快速满足定期的报告需求。

    下面就给你列出这些常用统计数据的度量值,帮你快速掌握各种期间数据的算法。

    如果对时间智能函数不熟悉,可以先看看这篇文章:

    一文帮你掌握时间智能函数

    假设数据模型为一张订单表和一张对应的日期表,并已经建立了基础度量值:

    收入 = SUM('订单'[销售额])

    下面的所有度量值都是以此为基础。

    本期至今 

    XTD   Month/Quarter/Year To Date

    从本期的第一天到当前日期的累计,比如收入的YTD就是从本年1月1日到当前上下文日期的累计收入,MTD就是当前上下文月份的第一天到当前日期的累计收入。

    月初至今 

    MTD Month To Date

    MTD  

    CALCULATE([收入],DATESMTD('日期表'[日期]))

    当然并非只有这一种写法,比如还可以直接用TOTALMTD:

    MTD1

    TOTALMTD([收入],'日期表'[日期])

    下面其他各种计算同理,带数字的度量值是等值的替代写法,熟练掌握其中一种写法就可以了。

    季初至今

    QTD   Quarter To Date

    QTD  

    CALCULATE([收入],DATESQTD('日期表'[日期]))

    QTD1

    TOTALQTD([收入],'日期表'[日期])

    年初至今

    YTD   Year To Date

    YTD 

    CALCULATE([收入],DATESYTD('日期表'[日期]))

    YTD1

    TOTALYTD([收入],'日期表'[日期])

    上期的本期至今

    PXTD Previous Month/Quarter/Year to Date

    上期的MTD,简称为PMTD,就是上个月MTD,有了这个数据,计算环比时十分方便;而PYTD,上年的本年至今,计算年累计的同比也需要该数据。

    并且在写PXTD时,上面已经建好的XTD度量值也可以直接复用。

    上月的月初至今

    PMTD Previous Month to Date

    PMTD  

    CALCULATE([MTD],DATEADD('日期表'[日期],-1,MONTH))

    PMTD1

    TOTALMTD([收入],DATEADD('日期表'[日期],-1,MONTH))

    上季的季初至今

    PQTD  Previous Quarter to Date

    PQTD  

    CALCULATE([QTD],DATEADD('日期表'[日期],-1,QUARTER))

    PQTD1

    TOTALQTD([收入],DATEADD('日期表'[日期],-1,QUARTER))

    上年的年初至今

    PYTD  Previous Year to Date

    PYTD  

    CALCULATE([YTD],DATEADD('日期表'[日期],-1,YEAR))

    PYTD1

    TOTALYTD([收入],DATEADD('日期表'[日期],-1,YEAR))

    灵活使用时间智能函数,上年的年初至今还有很多种写法,比如:

    PYTD2

    CALCULATE([YTD],SAMEPERIODLASTYEAR('日期表'[日期]))

    PYTD3

    TOTALYTD([收入],SAMEPERIODLASTYEAR('日期表'[日期]))

    PYTD4

    CALCULATE([收入],

    DATESYTD(SAMEPERIODLASTYEAR('日期表'[日期])))

    PYTD5

    CALCULATE([收入],

    SAMEPERIODLASTYEAR(DATESYTD('日期表'[日期])))

    (从上面的这些度量值也可以看出,SAMEPERIODLASTYEAR的功能都可以用DATEADD来代替;DATESYTD与SAMEPERIODLASTYEAR完全可以互换位置)

    上面只是写出了常用的PXTD,可能有些个性的计算不止于此,比如要求计算上个月的QTD,掌握的上面的思路以后,你应该可以很轻松的写出来。

    上年的本期至今

    PY XTD  

    Previous Year Month/Quarter/Year to Date

    上年的本年至今,其实通过PXTD的思路也能计算出来,只是因为上年的本期至今太常用了,就单独再介绍一下,只列出一种写法,其他写法也很简单,自己琢磨一下吧。

    上年的月初至今

    PY MTD  Previous Year Month to Date

    PY MTD  

    CALCULATE([MTD],SAMEPERIODLASTYEAR('日期表'[日期]))

    上年的季初至今

    PY QTD  Previous Quarter Month to Date

    PY QTD  

    CALCULATE([QTD],SAMEPERIODLASTYEAR('日期表'[日期]))

    上年的年初至今

    PY YTD  Previous Year Month to Date

    PY YTD  

    CALCULATE([YTD],SAMEPERIODLASTYEAR('日期表'[日期]))

    PY YTD其实和上面写的PYTD等价。

    差异比较

    有了上面的这些本期、上期、上年的度量值,再计算与上期的差异,以及同比和环比就非常简单了。

    与上个月的差异

    MOM  Month Over Month

    MOM  

    IF([PMTD]<>BLANK(),[MTD]-[PMTD])

    月环比

    MOM %  Month Over Month Percentage

    MOM % 

    DIVIDE([MOM],[PMTD])

    与上个季度的差异

    QOQ  Quarter Over Querter

    QOQ  

    IF([PQTD]<>BLANK(),[QTD]-[PQTD])

    季度环比

    QOQ %  Quarter Over QuerterPercentage

    QOQ % 

    DIVIDE([QOQ],[PQTD])

    与上年的差异

    YOY   Year Over Year

    本年累计、本季累计以及本月累计与上年的同期比较,都比较常用,这里都列出来。

    本月累计与上年同期的差异

    YOY MTD  

    IF([PY MTD]<>BLANK(),[MTD]-[PY MTD])

    本季累计与上年同期的差异

    YOY QTD  

    IF([PY QTD]<>BLANK(),[QTD]-[PY QTD])

    本年累计与上年的差异

    YOY YTD  

    IF([PY YTD]<>BLANK(),[YTD]-[PY YTD])

    同比增长

    YOY %  Year Over Year Percentage

    本月累计的同比

    YOY MTD %= DIVIDE([YOY MTD],[PY MTD])

    本季累计的同比

    YOY QTD % = DIVIDE([YOY QTD],[PY QTD])

    本年累计的同比

    YOY YTD % = DIVIDE([YOY YTD],[PY YTD])

    上面这些关于时间计算的度量值,以及上一篇MAT的计算(Power BI 度量值 | 滚动聚合),记住这些度量值的写法,基本可以满足大部分的正常需求,

    上述度量值的示例文件已分享在知识星球,需要的请自行下载练习。

    如果你刚开始接触Power BI,可在微信公众号后台回复"PowerBI",获取《七天入门PowerBI》电子书,轻松上手。

    成为PowerBI星球会员,问题随时答疑,更多资源分享。

    精彩推荐

    PowerBI数据分析和可视化实战案例

    精选 | 实用炫酷的Power BI自定义图表

    准备30天,我通过了PowerBI认证考试

    相关文章

      网友评论

        本文标题:各种时间指标的Power BI度量值,一次全分享给你

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