【问题标题】:power bi calculate sameperiodlastyear problempower bi计算sameperiodlastyear问题
【发布时间】:2018-12-02 04:36:51
【问题描述】:

我有一个两年的数据表,我想在其中检索某个日期的前几年值。我的表显示了多次由另一个值描绘的同一日期,例如

员工、日期、销售额、上年销售额

山姆,2017 年 1 月 7 日,100

山姆,2017 年 2 月 7 日,120

约翰,2017 年 1 月 7 日,90

约翰,2017 年 2 月 7 日,23 日

山姆,2018 年 1 月 7 日,200、100

山姆,2/07/2018, 21, 120

约翰,1/07/2018, 45, 90

约翰,2/07/2018, 130, 23

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

我创建了一个销售量度和上一年销售量的列。后者使用计算和sameperiodlastyear:

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

我的问题是,如果每个日期有多行,即 sam 和 john,我无法在表格中得出前一年的销售额。如果只有一名员工,则该功能有效。

谁能帮忙?

【问题讨论】:

    标签: powerbi


    【解决方案1】:

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

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

    【讨论】:

    • 很好的模式!我一直遇到类似的问题。无法弄清楚为什么 m=calculate([Sales], ALLEXCEPT(T)) 不适用于 m_py = calculate( [m] , SAMEPERIODLASTYEAR( date ) )
    【解决方案2】:

    我对您所描述的案例进行了快速模拟,发现您未获得预期结果的原因可能是您的 SAMEPERIODLASTYEAR 函数参数末尾缺少 .[Date]

    查看我的模拟中的数据视图以及Prev Yr Sales 度量中突出显示的调整:

    报告视图中矩阵可视化的匹配结果:

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多