【问题标题】:Calculate the difference between 2 measures from different rows计算来自不同行的 2 个度量之间的差异
【发布时间】:2019-11-18 04:25:40
【问题描述】:

我是 DAX 和 power pivot 的新手,我有一个小问题我无法解决。我希望你能帮助我。

我每周都会记录我的数据,因此我每周五晚上都会生成系统销售报告。每个月我都会在另一个表中建立我的月目标除以周,这样我就可以比较每周的成就和我的目标。

问题是我想在我的客户数据透视表上创建一个衡量标准,衡量当周客户目标减去上周五报告(上周)报告的实际客户之间的差异。

这是我的数据透视表的示例。

这是我的 Dax 度量的示例:

=CALCULATE(sum(MetaTotalMes[#Clientes]),
FILTER(MetaTotalMes,MetaTotalMes[#Sem])) - CALCULATE(sum(Cartera[Clientes]),
FILTER(Cartera,[# Sem.]-1))

我正在使用计算和过滤器来获取每周的客户总数,问题是我需要减去过去一周的实际客户数才能得到本周的实际目标。

这是一个使用 excel 的示例,以显示我需要使用 dax 度量做什么。

UDATE

我对@AlexisOlson 给我的函数进行了一些调整,并且正在根据需要解决一个小问题,一旦 Actual client 列上的值是 BLANK,度量就会停止返回值,因此要解决我想要使用的问题LASTNONBLANK 函数,用于复制所有 BLANK 字段中最后注册的值;你能帮我么?这是我对您给我的原始功能所做的更改。

=VAR CurrentWeek = MAX ( Cartera[# Sem.] ) 
RETURN 
SUM(MetaTotalMes[#Clientes]) - CALCULATE(SUM(Cartera[Clientes]),
FILTER(ALL(Cartera),Cartera[#Sem.]=CurrentWeek-1))

这是我用来计算 de ACTUAL CLIENTS 列的函数(这是我试图包含 LASTNONBLANK 函数的地方)。

=CALCULATE(SUM([Clientes]),FILTER(ALL(Cartera[# Sem.]),
Cartera[#Sem.]=MAX(Cartera[# Sem.])))

这是一个预期微积分的示例,我使用颜色来更具体地说明所需的微积分。黄色字段是空白字段,我正在尝试填充的字段是该列的最后一个注册值。

https://i.stack.imgur.com/Mnfgr.png

【问题讨论】:

    标签: excel pivot-table dax powerpivot


    【解决方案1】:

    我想你想要这样的东西

    Difference =
    VAR CurrentWeek = MAX ( Cartera[# Sem.] )
    RETURN
        CALCULATE ( SUM ( Cartera[Clientes] ), Cartera[# Sem.] = CurrentWeek + 1 )
            - SUM ( MetaTotalMes[#Clientes] )
    

    CALCULATE 允许您将当前周过滤器上下文替换为下一周。

    我认为第二部分不需要CALCULATE,因为如果您的表关系设置正确,它是在本周的上下文中计算的。

    【讨论】:

    • @FernandoAndrade 你能把它编辑到你的帖子中吗? cmets中的代码很难阅读。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 2014-07-21
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多