簡體   English   中英

Power BI (DAX) 中的自定義日歷 - 會計季度的計算列

[英]Custom Calendar in Power BI (DAX) - Calculated column for Fiscal Quarter

我正在 Power Bi 中構建自定義日歷。

我主要使用美國財政年度值,這意​​味着 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

為了計算月初至今、季度至今和年初至今的值,我需要一個工作日歷。 我試圖解決這個問題的方式是我創建了計算列。

我已經設法使會計年度和會計月份編號公式起作用:

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
)

不幸的是,我遇到了語法錯誤。

由於 MONTH() 函數返回一個整數值,我認為這就是為什么通過使用 DATESBETWEEN() 函數包裝它會出現語法錯誤的原因。

相反,只需使用簡單的整數運算符。 我用這個計算測試了你的數據並且它有效:

Fiscal YearQuarter No = 
SWITCH(
    TRUE(),
    MONTH('Calendar'[Date])>=10 && MONTH('Calendar'[Date]) <= 12,1,
    MONTH('Calendar'[Date])>=1 && MONTH('Calendar'[Date]) <= 3,2,
    MONTH('Calendar'[Date])>=4 && MONTH('Calendar'[Date]) <= 6,3,
    MONTH('Calendar'[Date])>=7 && MONTH('Calendar'[Date]) <= 9,4
)

此外,您可能不需要這么長的表達式來計算您的會計月份數,因為您的會計日歷只是從標准日歷偏移 3 個月。 嘗試一個算術公式來代替它。 這應該有效:

Fiscal YearMonth No= = 
=IF((MONTH('Calendar'[Date])+3)>12,ABS(12-(MONTH('Calendar'[Date])+3)),(MONTH('Calendar'[Date])+3))

您可以像這樣簡單地將日歷年更改為財政年

Fiscal Month = Orders[Order Date].[Month]

Fiscal Year = CONCATENATE("FY ",IF(Orders[Order Date].[MonthNo]>=4 && Orders[Order Date].[MonthNo]<=12,Orders[Order Date].[Year],Orders[Order Date].

[Year]-1))

這個財政年度是根據印度財政年度。

這將在 Power BI 中創建一個新表

Date = Calendar(Date(2019,1,1), Date(2025,12,31))
Month = Format('Date'[Date], "MMM yyyy")
Quarter = Year('Date'[Date]) & "-Q" & Format('Date'[Date], "q")
Year = Format('Date'[Date], "yyyy")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM