正文
上一篇我们学习了月度时间进度的计算方法,今天我们学习季度时间进度的测算。
思路:找出目前共计消耗了多少天(季度),目前日期所在的季度共有多少天,两者相除即是季度的时间进度
首先列出DAX函数:
本季度第一天 = STARTOFQUARTER(TREATAS({TODAY()},'日期表'[日期]))
本季度最后一天 = ENDOFQUARTER(TREATAS({TODAY()},'日期表'[日期]))
STARTOFQUARTER和ENDOFQUARTER,分别会返回当季度的第一天和最后一天
根据这个特性,我们可以结合DATEDIFF,去计算消耗天数
(DATEDIFF共有三个参数,前两个参数是两个时间点,第三个参数是统计模式,此处选择了两个时间点,DAY为统计模式,所以函数返回的就是季度开始日期到目前日期的时间天数)
本季度已过天数 = DATEDIFF([本季度第一天],TODAY()+1,DAY)
同样的道理去计算全部天数
本季度总天数 = DATEDIFF([本季度第一天],[本季度最后一天],DAY)
最后两者相除即是最后的值。下面用VAR汇总。代码如下
本季度时间进度 =
VAR A = STARTOFQUARTER(TREATAS({TODAY()},'日期表'[日期]))
VAR B = ENDOFQUARTER(TREATAS({TODAY()},'日期表'[日期]))
RETURN
DIVIDE(TODAY()-A+1,B-A+1)