我正在计算两个不同年份的月数。这意味着如果我选择从 2020 年 1 月 1 日至今的日期过滤器,我需要显示 2020 年有 12 个月,2021 年从 1 月至今有 02 个月。我想单独显示 02 张卡片显示月份。有没有办法做到这一点?我尝试了 Datediff。但它显示了 2020 年至今的月数。有人可以帮我弄到这个吗?
谢谢
答案 0 :(得分:0)
假设您只有一个仅包含 'Date'[Date] 列的表,例如
Date = CALENDAR("2019-01-01", "2021-12-31")
您可以编写两种度量,一种用于获取选择中去年的月份和上一年的月份
# Months =
VAR CurrentYear = YEAR( MAX( 'Date'[Date] ) )
VAR CurrentYearDates = FILTER( 'Date', YEAR( 'Date'[Date] ) = CurrentYear )
VAR Months = SELECTCOLUMNS( CurrentYearDates, "Month", MONTH( 'Date'[Date] ) )
RETURN
COUNTROWS( DISTINCT ( Months ) )
# Months PY =
VAR PY = YEAR( MAX( 'Date'[Date] ) ) - 1
VAR PYDates = FILTER( 'Date', YEAR( 'Date'[Date] ) = PY )
VAR Months = SELECTCOLUMNS( PYDates, "Month", MONTH( 'Date'[Date] ) )
RETURN
COUNTROWS( DISTINCT ( Months ) )
这允许为每张卡片分配一个度量
这可以通过带有年和月的日期表来简化
Date =
ADDCOLUMNS (
CALENDAR ( "2019-01-01", "2021-12-31" ),
"Year", YEAR ( [Date] ),
"Month", MONTH ( [Date] )
)
# Months =
VAR CurrentYear = YEAR( MAX( 'Date'[Date] ) )
RETURN
CALCULATE( DISTINCTCOUNT( 'Date'[Month] ), 'Date'[Year] = CurrentYear )
# Months PY =
VAR PY = YEAR( MAX( 'Date'[Date] ) ) - 1
RETURN
CALCULATE( DISTINCTCOUNT( 'Date'[Month] ), 'Date'[Year] = PY )