power bi计算去年同期的问题

时间:2018-12-02 04:36:52

标签: powerbi

我有一张两年的数据表,我想检索某个日期的前几年的值。我的表在同一日期显示了多次,并用另一个值(例如

员工,日期,销售额,上一年销售额

Sam,1/07 / 2017,100

Sam,2017年2月7日,120

John,1/07 / 2017,90

John,2017年2月7日,23

Sam,2018年1月7日,200、100

山姆,2018年2月7日,21,120

John,1/07 / 2018,45,90

John,2018年2月7日,130,23

我正在使用在DAX中创建的日期表,并且已经在我的表中的日期和日期表之间建立了联系。

我创建了销售量度和上一年销售额的列。后者使用计算和相同的periodlastyear:

Prev Yr Sales = CALCULATE([Sum Sales],SAMEPERIODLASTYEAR('Calendar'[Date]))

我的问题是,如果每个日期(例如sam和john)有多个行,则无法在表格中获得上一年的销售价值。如果只有一名员工,则该功能有效。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

我对您描述的情况进行了快速模拟,发现在.[Date]函数末尾,您未得到预期结果的原因可能SAMEPERIODLASTYEAR遗漏了论点。

在模拟中检出“数据”视图,并在Prev Yr Sales度量中突出显示调整项:

enter image description here

以及在报表视图上的矩阵可视化中的匹配结果:

enter image description here

希望有帮助, 罗兰多·伊西多罗

答案 1 :(得分:0)

编写包含CALCULATE的计算列时,表中的行上下文将成为您要在其中进行评估的过滤器上下文。对于此计算,您不需要任何该行上下文员工姓名除外,因此您可以使用ALLEXCEPT()函数将其删除:

Prev Yr Sales =
CALCULATE(
    [Sum Sales],
    ALLEXCEPT(Sales, Sales[Employee]),
    SAMEPERIODLASTYEAR('Calendar'[Date])
)

Output