基于多个日期条件筛选 PowerPivot
Filter PowerPivot based on multiple Date Criteria
我正在尝试在我的 PowerPivot 工作簿中应用一些时间智能功能,以了解项目和收到的资金。我有三个相关的 table;事项、付款和日期 Table。
每件事情都有一个创建日期和一个关闭日期(来自链接 table)。同样,每笔付款都有一个日期。我的报告设置得当,但现在我正在尝试使用时间智能来更清楚地过滤它。
如何设置 PowerPivot Pivot Table,以便显示的唯一事项是 selected 期间存在的事项。例如如果我 select 是 2014 年的切片器,我不想显示 2015 年创建的诉讼或 2013 年关闭的诉讼。诉讼应在指定期间内处于活动状态。
这可能吗?
使用过滤器和计算功能。
因此,如果您要对付款求和,它看起来像......
2014 年付款:= CALCULATE( SUM([Payments]), DateTable[Year]=2014)
根据与您的日期 table 相关的数据,Sum 函数会获取全部付款,过滤功能只会捕获 w/in 2014 年的付款。
除了CreationDate在你查看的日期范围上限之后或者ClosureDate在你查看的日期范围下限之前之外的所有事项。
假设您有这样的数据结构,其中左侧 table 是事务,右侧是付款:
如果您有一个名为 [Total Payments] 的计算字段,它只是将 Payments table 中的所有付款相加,类似于此的公式将起作用:-
[Payment in Range]:=IF(OR(MIN(Matters[Creation Date])>MAX('Reporting Dates'[Date]),MAX(Matters[Closure Date])<MIN('Reporting Dates'[Date])),BLANK(),[Total Payments])
这是在时间轴中选择了一个月的结果:
或者在年份切片器中选择了一年:
注意:在我的示例中,我使用了断开连接的日期 table。
此外,您会看到总计将所有付款相加,因为它采用所有创建日期中的最低日期和所有关闭日期中的最高日期来确定是否显示总付款值。如果总计正确显示很重要,则需要额外的措施:
[Fixed Totals Payment in Range]:=IF(COUNTROWS(VALUES(Matters[Matter]))=1,[Payment in Range],SUMX(VALUES(Matters[Matter]),[Payment in Range]))
用这个新度量替换数据透视表 table 中的 [Payment in Range],总计将正确显示,但是,这仅在 Matters[Matter] 用作其中一个字段时才有效枢轴 table.
我正在尝试在我的 PowerPivot 工作簿中应用一些时间智能功能,以了解项目和收到的资金。我有三个相关的 table;事项、付款和日期 Table。
每件事情都有一个创建日期和一个关闭日期(来自链接 table)。同样,每笔付款都有一个日期。我的报告设置得当,但现在我正在尝试使用时间智能来更清楚地过滤它。
如何设置 PowerPivot Pivot Table,以便显示的唯一事项是 selected 期间存在的事项。例如如果我 select 是 2014 年的切片器,我不想显示 2015 年创建的诉讼或 2013 年关闭的诉讼。诉讼应在指定期间内处于活动状态。
这可能吗?
使用过滤器和计算功能。
因此,如果您要对付款求和,它看起来像......
2014 年付款:= CALCULATE( SUM([Payments]), DateTable[Year]=2014)
根据与您的日期 table 相关的数据,Sum 函数会获取全部付款,过滤功能只会捕获 w/in 2014 年的付款。
除了CreationDate在你查看的日期范围上限之后或者ClosureDate在你查看的日期范围下限之前之外的所有事项。
假设您有这样的数据结构,其中左侧 table 是事务,右侧是付款:
如果您有一个名为 [Total Payments] 的计算字段,它只是将 Payments table 中的所有付款相加,类似于此的公式将起作用:-
[Payment in Range]:=IF(OR(MIN(Matters[Creation Date])>MAX('Reporting Dates'[Date]),MAX(Matters[Closure Date])<MIN('Reporting Dates'[Date])),BLANK(),[Total Payments])
这是在时间轴中选择了一个月的结果:
或者在年份切片器中选择了一年:
注意:在我的示例中,我使用了断开连接的日期 table。
此外,您会看到总计将所有付款相加,因为它采用所有创建日期中的最低日期和所有关闭日期中的最高日期来确定是否显示总付款值。如果总计正确显示很重要,则需要额外的措施:
[Fixed Totals Payment in Range]:=IF(COUNTROWS(VALUES(Matters[Matter]))=1,[Payment in Range],SUMX(VALUES(Matters[Matter]),[Payment in Range]))
用这个新度量替换数据透视表 table 中的 [Payment in Range],总计将正确显示,但是,这仅在 Matters[Matter] 用作其中一个字段时才有效枢轴 table.