按天计算的 SamePeriodLastYear
SamePeriodLastYear by Day
我正在计算 SAMEPERIODLASTYEAR
的销售额。我有一个 table 查看过去几年的销售额并使用 SAMEPERIODLASTYEAR
函数我可以将整个 1 月拉回,但我想要的是将其拉到日期准确而不是到去年当月的月底。
例如,我的以下公式在去年整个一月份都有效。
Sales Last Year:=CALCULATE([Sum of Sales],SAMEPERIODLASTYEAR(Dates[Date]))
有没有办法只使用 SAMEPERIODLASTYEAR
函数而不是每天单独计算?
我并不是说这是最好的(或唯一的)方法,但是怎么样:
Sales Last Year =
CALCULATE (
[Sum of Sales],
FILTER (
SAMEPERIODLASTYEAR ( 'Dates'[Date] ),
'Dates'[Date]
< DATE ( YEAR ( TODAY () ) - 1, MONTH ( TODAY () ), DAY ( TODAY () ) )
)
)
基本上,我在 SAMEPERIODLASTYEAR 子句周围添加了一个 FILTER() 语句,并将结果过滤到去年的当前日期之前。如果今天是 2018 年 1 月 8 日,这意味着 2017 年 1 月 8 日或之后的任何销售都将被过滤掉。
本质上,我采用当前日期 (TODAY()),将其分解为各个组成部分,从年份中减去 1,然后使用 DAX DATE() 将其重新构建为日期值函数。
我这样做而不是使用 DATEADD() 减去一年 Excel 风格的原因是因为 DATEADD 需要 table 个日期作为输入,而 TODAY() 是一个日期.因此,您不能将 TODAY() 直接放入 DATEADD()。
我可以不使用 TODAY(),而是使用一个度量来标识有数据的最近日期并调用它。都是一样的解决方法。
我很好奇其他人是否有更好的方法来做到这一点。这让我觉得这是人们必须 运行 经常遇到的一个常见问题。
我正在计算 SAMEPERIODLASTYEAR
的销售额。我有一个 table 查看过去几年的销售额并使用 SAMEPERIODLASTYEAR
函数我可以将整个 1 月拉回,但我想要的是将其拉到日期准确而不是到去年当月的月底。
例如,我的以下公式在去年整个一月份都有效。
Sales Last Year:=CALCULATE([Sum of Sales],SAMEPERIODLASTYEAR(Dates[Date]))
有没有办法只使用 SAMEPERIODLASTYEAR
函数而不是每天单独计算?
我并不是说这是最好的(或唯一的)方法,但是怎么样:
Sales Last Year =
CALCULATE (
[Sum of Sales],
FILTER (
SAMEPERIODLASTYEAR ( 'Dates'[Date] ),
'Dates'[Date]
< DATE ( YEAR ( TODAY () ) - 1, MONTH ( TODAY () ), DAY ( TODAY () ) )
)
)
基本上,我在 SAMEPERIODLASTYEAR 子句周围添加了一个 FILTER() 语句,并将结果过滤到去年的当前日期之前。如果今天是 2018 年 1 月 8 日,这意味着 2017 年 1 月 8 日或之后的任何销售都将被过滤掉。
本质上,我采用当前日期 (TODAY()),将其分解为各个组成部分,从年份中减去 1,然后使用 DAX DATE() 将其重新构建为日期值函数。
我这样做而不是使用 DATEADD() 减去一年 Excel 风格的原因是因为 DATEADD 需要 table 个日期作为输入,而 TODAY() 是一个日期.因此,您不能将 TODAY() 直接放入 DATEADD()。
我可以不使用 TODAY(),而是使用一个度量来标识有数据的最近日期并调用它。都是一样的解决方法。
我很好奇其他人是否有更好的方法来做到这一点。这让我觉得这是人们必须 运行 经常遇到的一个常见问题。