我有一个快速的问题,是否可以过滤两个月之间的特定日期的数据?
例如1月2日至15日的过滤器。
这可能吗?
例如,我使用一种度量来计算日期之间的天数
jQuery('#recipe').val("everybody@mydomain.com");
上次评估的确显示了从2个月前的16日到最近的15个月,例如12月16日至1月15日。 但是我需要显示最近6个月和最近1年的数据。
我该如何解决这个问题,以便显示过去的6个月和1年。
到目前为止,我不得不使用日期过滤器来手动选择要停止的日期并将其设为自动。
答案 0 :(得分:1)
如果只是最近6个月或去年,则可以在查询编辑器中创建一个自定义列(这将是最简单的方法)。就像过滤器标志:
'Includes the current month
Last 6 Months Flag = Date.IsInPreviousNMonths([YourDate], 6) or Date.IsInCurrentMonth([YourDate])
'Without the current month
Last 6 Months Flag = Date.IsInPreviousNMonths([YourDate], 6)
与去年相同:
Last Year Flag = Date.IsInPreviousYear([YourDate])
将这些自定义列作为过滤器拖放到报表上,就可以完成。
答案 1 :(得分:1)
考虑采取以下措施进行最新评估(基本上,您之前使用EDATE
可以安全地处理十二月/一月,使用变量可以提高性能)
Latest Assessment Date =
VAR __today = TODAY()
RETURN
IF (
DAY ( __today ) < 16,
DATE ( YEAR ( __today ), MONTH(EDATE(__today, - 1)), 15 ),
DATE ( YEAR ( __today ), MONTH ( __today ), 15 )
)
那么您就可以使用这种方法来处理1/6/12方案,只需将12替换为所需的月份数
Measure 12 =
VAR __nrOfMonthsBack = 12
VAR __lastAssesment = [Latest Assessment Date]
RETURN
CALCULATE (
SUM ( Table1[Duration] ),
ALL('Calendar'), --this will reset any date filters coming from slicers
DATESBETWEEN (
'Calendar'[Date],
EDATE ( __lastAssesment, - __nrOfMonthsBack ) + 1,
__lastAssesment
)
)
编辑:添加了ALL('Calendar')
以禁用来自切片器的过滤器