在Excel2013中使用PowerQuery为PowerPivot模型构建日历表时,我使用了它的Date.QuarterOfYear函数来获取季度编号。
在SSAS表格中构建相同的内容需要一些变通方法。没有等价的DAX函数来从日期中获取季度数字。奇怪的是,DAX有YEAR()和MONTH(),但没有QUARTER()。
嵌套的IF或SWITCH语句真的是获取季度数字的唯一方法吗?
为什么没有这样一个简单而有用的函数呢?我忽视了这个决定的至高无上的智慧吗?
发布于 2015-09-15 20:49:04
我在this这本好书里找到了答案!
人们应该使用=ROUNDUP(MONTH([Date])/3, 0)来获取季度数字。
发布于 2017-05-10 11:54:44
DAX中的
No QUARTER()?
是的,这是正确的。
真的吗?
是的,这是疯狂的,没有任何意义。幸运的是,解决方法只是将月份除以3。
解决方案:
VAR quarterNumber = CEILING(MONTH([Date])/3,1)替代解决方案:
由于DAX有多种取整数字的方法,因此也可以使用这些方法:
VAR quarterNumber = ISO.CEILING(MONTH([Date])/3,1)
VAR quarterNumber = ROUNDUP(MONTH([Date])/3,0)哪种解决方案最好:
发布于 2016-11-22 18:03:39
它没有文档记录,但它是有效的:
INT(FORMAT(Date,"q"))
https://stackoverflow.com/questions/32466455
复制相似问题