【问题标题】:Using a measure in a filter condition in PowerPivot在 PowerPivot 的筛选条件中使用度量
【发布时间】:2015-04-10 00:43:02
【问题描述】:

我的总体目标如下:仅使用当前财政年度之前的数据计算所有四个财政季度的出勤率的历史分布。我有一个针对当前过滤器上下文准确执行此操作的度量。我似乎无法管理的是从当前环境中弄清楚前几个季度的情况。

如果我可以计算出上一季度的全时(2015 年之前)出勤率,我可以从那里得到它。我无法让日期智能功能工作,因为我必须取消过滤,然后重新过滤年份字段。这是我的季度出勤率。我就是不知道怎么把它往回走四分之一。

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] 而不是未更改的过滤器上下文。

我错过了什么?任何帮助将不胜感激。

【问题讨论】:

  • 一些上下文可能会有所帮助。像表结构和关系。欢迎来到 SO!
  • 有问题的两个表是“Events”和“DateTable”。 'Events' 中的 [start_date] 链接到 'DateTable' 中的 [date_key]。出勤记录在 [CNF] 列的事件表中。 'DateTable' 自 2010 年 1 月 1 日以来的每个日期都有一行。它包括许多字段,但相关的是 [ACQuarter] 和 [ACYear],它们记录了该特定日期的财政季度和年度。

标签: excel powerpivot


【解决方案1】:

我找到了一种方法来做我正在尝试的事情,方法是创建一个单独的度量来计算每个季度的历史总和,然后使用 SWITCH 函数在它们之间进行选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多