我正在Power Bi中构建自定义日历 .
我主要使用美国财年 Value ,这意味着2017财年将于10月1日(2016-10-01)开始,并将于9月30日(2017-09-30)结束 . 那么,当前日历年与财政年度相比看起来如下:
===============================================
Calendar YearMonth || Fiscal YearMonth
===============================================
201601 || 201604
201602 || 201605
201603 || 201606
201604 || 201607
201605 || 201608
201606 || 201609
201607 || 201610
201608 || 201611
201609 || 201612
201610 || 201701
201611 || 201702
201612 || 201703
为了计算月初至今,季度至今和年初至今的 Value ,我需要一份工作日历 . 我尝试解决问题的方法是,我创建了计算列 .
我设法让财政年度和财政月份编号公式起作用:
Fiscal Year = IF(MONTH([DATE]) > 9, YEAR([DATE])+1, YEAR([DATE]))
Fiscal YearMonth No =
SWITCH(
TRUE(),
MONTH('Calendar'[Date]) = 10, 1,
MONTH('Calendar'[Date]) = 11, 2,
MONTH('Calendar'[Date]) = 12, 3,
MONTH('Calendar'[Date]) = 1, 4,
MONTH('Calendar'[Date]) = 2, 5,
MONTH('Calendar'[Date]) = 3, 6,
MONTH('Calendar'[Date]) = 4, 7,
MONTH('Calendar'[Date]) = 5, 8,
MONTH('Calendar'[Date]) = 6, 9,
MONTH('Calendar'[Date]) = 7, 10,
MONTH('Calendar'[Date]) = 8, 11,
MONTH('Calendar'[Date]) = 9, 12
)
但不幸的是,我似乎无法找出一个公式来获得财政年度季度号 . 我最近的尝试是使用SWITCH功能和DATESBETWEEN,如下所示:
Fiscal YearQuarter No =
SWITCH(
TRUE(),
(DATESBETWEEN('Calendar',MONTH('Calendar'[Date]) >= 9, MONTH('Calendar'[Date])) <= 12)), 1,
(DATESBETWEEN ('Calendar'[Date],MONTH('Calendar'[Date]) >= 1, MONTH('Calendar'[Date]) <= 3)), 2,
(DATESBETWEEN ('Calendar'[Date],MONTH('Calendar'[Date]) >= 4, MONTH('Calendar'[Date]) <= 6)), 3,
(DATESBETWEEN ('Calendar'[Date],MONTH('Calendar'[Date]) >= 7, MONTH('Calendar'[Date]) <= 9)), 4
)
不幸的是我收到了语法错误 .
2 回答
由于MONTH()函数返回一个整数值,我认为这就是为什么你通过用DATESBETWEEN()函数包装它来获得语法错误 .
相反,只需使用简单的整数运算符 . 我用这个计算测试了你的数据并且它有效:
此外,您可能不需要这么长的表达式来计算您的会计月度数字,因为您的会计日历仅比标准日历偏移3个月 . 尝试使用算术公式替换它 . 这应该工作:
您可以像这样简单地将日历年更改为会计年度
本财政年度根据印度财政年度计算 .