判断当前日期周是否跨年_Power BI | DAX函数(四)周分析

本文介绍了在Power BI中如何使用DAX函数进行周分析,包括创建日期表、理解WEEKDAY()和WEEKNUM()函数的用法,以及如何计算上周同期、本周至今和周环比。通过实例展示了如何构建分析指标,强调了日期表在分析中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fb50a4926bd0f8685cffcf1d30e127dd.png

power bi 中时间函数只对应年、季、月、天,而在零售、电商等公司中,周分析非常常见,这里整理了一些周分析的小技巧,再次申明下,思路均来自power bi 星球,我只是对其公众号文章进行整理补充。对步骤不理解的小伙伴可以参考power bi星球相关文章。

这里是文章链接:

学会了这个思路,你也可以轻松进行周分析!​mp.weixin.qq.com
3a71105873fdfdee7d41cd898d152b92.png

c7d02ae86e96d2954d98bbd2d4677e15.png

先建立日期表。

日期表(周) = 
ADDCOLUMNS(
  ADDCOLUMNS (
    CALENDAR (DATE(2016,1,1), DATE(2017,12,31)),
 "日期",FORMAT([Date],"YYYY/MM/DD"),   //增加一项日期方便文章后续进行分析
    "年度", YEAR ([Date]),
    "季度", "Q" & FORMAT ( [Date], "Q" ),
    "月份", FORMAT ( [Date], "MM" ),
    "日",FORMAT ( [Date], "DD" ),
    "年度季度", FORMAT ( [Date], "YYYY" ) & "Q" & FORMAT ( [Date], "Q" ),
    "年度月份", FORMAT ( [Date], "YYYY/MM" ),
    "周几", WEEKDAY ( [Date],2 ),
    "周数",WEEKNUM([Date],2)
  ),
  "年度周数",[年度]*100+[周数]
)

其中WEEKDAY()和WEEKNUM()函数是有关周的函数:

WEEKDAY():返回当前日期的星期,第二个参数控制每周从哪一天开始

  • 参数为1时,周日为第一天,编号1-7;
  • 参数为2时,周一为第一天,编号1-7;
  • 参数为3时,周日为第一天,编号0-6.

WEEKNUM():返回当前日期属于当年的第几周,第二个参数可以控制每周的第一天是周日还是周一

  • 参数为1时,周日为第一天
  • 参数为2时,周一为第一天

*建立出的日期表别忘了与要做分析的表进行关联

上周同期

比如今天是周一,上周同期就是上周一

代码:

上周同期销量 = 
CALCULATE(
    SUM('订单表'[订单数量]),
    DATEADD('日期表(周)'[Date],-7,DAY)
)

ed7d8586b44037d2c53834ed0548091f.png

我这里只有2016/1/1的数据,但不影响看到执行效果。

本周至今

Power BI中有本年至今YTD、本季至今QTD、本月至今MTD,那这就构造一个本周至今WTD

本周至今 = 
VAR curyearweek=SELECTEDVALUE('日期表(周)'[年度周数])
RETURN
CALCULATE(
    SUM('订单表'[订单数量]),
    FILTER(
        ALL('日期表(周)'),
        '日期表(周)'[年度周数]=curyearweek
        &&'日期表(周)'[日期]<=MAX('日期表(周)'[日期])))

dd7aac2d4d3e80f6911ed8f7b5cbe47a.png

周环比

先对上周的累计销量进行统计

上周累计 = 
VAR curyear=SELECTEDVALUE('日期表(周)'[年度])
VAR curweeknum=SELECTEDVALUE('日期表(周)'[周数])
RETURN
CALCULATE(
    SUM('订单表'[订单数量]),
    FILTER(
        ALL('日期表(周)'),
        '日期表(周)'[年度]=curyear
        &&'日期表(周)'[周数]=curweeknum-1))

再对创建周环比度量值:

周环比 = 
FORMAT(DIVIDE(SUM('订单表'[订单数量]),[上周累计])-1,"0.00%")

这里的FORMAT()函数将数字格式转换为百分比格式

d756731702d42924276d42dc6bd7eac7.png

可以看到有一个好用的日期表是非常重要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值