在 PowerPivot 的筛选条件中使用度量
Using a measure in a filter condition in PowerPivot
我的总体目标如下:仅使用当前财政年度之前的数据计算所有四个财政季度的出勤率历史分布。我有一个针对当前过滤器上下文准确执行此操作的度量。我似乎无法管理的是从当前环境中找出前几个季度的情况。
如果我可以计算出上一季度的所有时间(2015 年之前)出勤率,我可以从那里获取。我无法让 Date Intelligence 功能发挥作用,因为我必须取消筛选,然后重新筛选年份字段。这是我的季度出勤率。我只是想不出如何将它倒退四分之一。
QTotal:=CALCULATE(SUM([CNF]),
ALLEXCEPT(DateTable,DateTable[ACQuarter]),
DateTable[ACYear]<2015)
接下来我尝试的是直接在过滤器中指定季度。以下措施可以可靠地计算出上一季度的数字:
PrevQ:=MOD(LOOKUPVALUE(DateTable[ACQuarter],
DateTable[DateKey],
FIRSTDATE(DateTable[DateKey]))-2,4)+1
但是当我将它分成以下度量时...
Test:=CALCULATE(SUM([CNF]),
FILTER(ALL(DateTable),
DateTable[ACQuarter]=[PrevQ] &&
DateTable[ACYear]<2015))
...我得到的都是空白。不过,使用数字而不是度量的完全相同的度量是有效的。我猜它是在继承的 ALL 上下文而不是未更改的过滤器上下文中计算 [PrevQ]。
我错过了什么?任何帮助将不胜感激。
我找到了一种方法来完成我的尝试,方法是创建一个单独的度量来计算每个季度的历史总计,然后使用 SWITCH 函数在它们之间进行选择。
我的总体目标如下:仅使用当前财政年度之前的数据计算所有四个财政季度的出勤率历史分布。我有一个针对当前过滤器上下文准确执行此操作的度量。我似乎无法管理的是从当前环境中找出前几个季度的情况。
如果我可以计算出上一季度的所有时间(2015 年之前)出勤率,我可以从那里获取。我无法让 Date Intelligence 功能发挥作用,因为我必须取消筛选,然后重新筛选年份字段。这是我的季度出勤率。我只是想不出如何将它倒退四分之一。
QTotal:=CALCULATE(SUM([CNF]),
ALLEXCEPT(DateTable,DateTable[ACQuarter]),
DateTable[ACYear]<2015)
接下来我尝试的是直接在过滤器中指定季度。以下措施可以可靠地计算出上一季度的数字:
PrevQ:=MOD(LOOKUPVALUE(DateTable[ACQuarter],
DateTable[DateKey],
FIRSTDATE(DateTable[DateKey]))-2,4)+1
但是当我将它分成以下度量时...
Test:=CALCULATE(SUM([CNF]),
FILTER(ALL(DateTable),
DateTable[ACQuarter]=[PrevQ] &&
DateTable[ACYear]<2015))
...我得到的都是空白。不过,使用数字而不是度量的完全相同的度量是有效的。我猜它是在继承的 ALL 上下文而不是未更改的过滤器上下文中计算 [PrevQ]。
我错过了什么?任何帮助将不胜感激。
我找到了一种方法来完成我的尝试,方法是创建一个单独的度量来计算每个季度的历史总计,然后使用 SWITCH 函数在它们之间进行选择。