所以我知道这个问题已经问过几次了,我认真地研究了不同的方法,但是我仍然不太明白为什么我得到的结果不正确。
案例:我有从〜2016-> 2019年的销售数据(直到2/18/2019)我有一个度量来显示年初至今,但是我正在寻找迄今为止的最新年份的度量(在这种情况下为第18位)。
现在,我有这个:
Total Sales LYTD =
CALCULATE (
[Total Sales],
SAMEPERIODLASTYEAR (
FILTER (
VALUES ( Sales[Completed Date] ),
Sales[Completed Date] <= MAX ( Sales[Completed Date] )
)
)
)
对我来说逻辑是合理的,但我确定我缺少什么,它似乎抓住了整个2018年的总和,而实际上我正在寻找01/01/2018-> 2/18 / 2018
这将与新的销售数据一起动态上传
我想念什么?非常感谢!
答案 0 :(得分:0)
不确定我是否了解您的表设置,因此让我们看一下这种情况,希望对您有帮助。
假设您有两个表Sales和Calendar中的数据,并且日历和Sales表之间存在1:*的关系。然后,我将这样写一些措施:
SalesToDateThisYear =
calculate(
Sum(Sales[Sales]);
Calendar[Year] = Year(Today())
)
和
SalesToDateLastYear =
var dateLastYear = Today() - 365
return
calculate(
Sum(Sales[Sales]);
Calendar[Year] = Year(dateLatsYear);
Calendar[Date] < dateLastYear
)
两个过滤器参数与逻辑AND结合在一起。因此,仅包括从去年第一天到去年今天的日期。
如果要使用SamePeriod函数,您可能可以编写如下内容
SPLY =
calculate =
Sum(Sales[Sales]);
SamePeriodLastYear(
Filter(
Values(Calendar[Date]);
Calendar[Date] >= Date(year(today()); 1; 1) && Calendar[Date] < Today()
)
)
)
SamePeriod函数采用一组日期(今年)并将其转换为去年的日期。
欢呼