如何使用或过滤器从 Excel 中的 OLAP 多维数据集数据透视表中获取数据

Posted

技术标签:

【中文标题】如何使用或过滤器从 Excel 中的 OLAP 多维数据集数据透视表中获取数据【英文标题】:How to use Or filters for getting data from OLAP cube pivot table in Excel 【发布时间】:2019-09-12 13:10:27 【问题描述】:

我们正在将 SSAS 模型(多维数据集)中的数据加载到 Excel 数据透视表中。电子表格中的数据需要使用 2 个条件以 OR 方式显示,我的意思是,我有 2 个来自数据库的字段:原始金额和修改金额,当原始金额

我尝试在 Excel 数据透视表上使用普通过滤器,但它不起作用,因为过滤器使用 AND 隐式显示信息,我需要 OR。

我尝试在 Excel 数据透视表上使用普通过滤器(值和标签过滤器),但它不起作用,因为过滤器使用 AND 隐式显示信息,我需要 OR。

example:
Code    original amount     amendment amount
C1          25000   500
C2          2000    18000
C3          14000   9000
C4          12000   10500

按 Original_amount

预期的结果是显示 C1、C2 和 C3 代码记录,因为这两个条件都为真... 如何过滤以显示正确的数据?

使用上述示例,预期的结果是显示的 C1、C2 和 C3 代码记录,因为两个条件之一为真...

results expected:
Code      original amount    amendment amount
C1        25.000             500
C2         2.000             18.000
C3        14.000             9.000

如何过滤以显示正确的数据?

【问题讨论】:

【参考方案1】:

在数据透视表中创建一个calculated measure,称为显示行:

IIF(
 (
  Not(IsEmpty([Measures].[original amount]))
  AND [Measures].[original amount] <=10000
 )
 OR 
 (
  Not(IsEmpty([Measures].[amendment amount]))
  AND [Measures].[amendment amount]<=10000
 ),
 1,
 Null
)

然后将该计算的度量添加到您的数据透视表并过滤以仅保留 Show Row >= 1 的行。

【讨论】:

谢谢,我试过了,但不幸的是它似乎不起作用,我成功创建了计算的度量,但是当我尝试将它作为列添加到数据透视表时,Excel 冻结并更改了很长时间没有做任何事情 - 不列补充道。一些想法为什么会发生?提前致谢 @Mat.B 也许从一个较小的枢轴开始,比如一行一列来测试你的公式? 好的,谢谢,我试试。第二个问题.. 我还有一个新字段可以包含在任何其他 Excel 报告中。数据来自 ssas,实际上来自同一个模型。我正在尝试以与您这次在答案中提到的计算度量相同的方式实现该列,但没有正确的结果。这是我的计算量度: 这是我对第二个问题的衡量标准: IIF( ( Not(IsEmpty([Measures].[Total Contract Amount])) AND [Measures].[Total Contract Amount] 0 ), [PO].[Record Date], 1) 问题是:当条件为真时,显示的信息只有空格,没有显示record_date数据,而是显示更多的记录,我的意思是在添加度量之前它显示了 5 条记录,包括测量后它显示至少 100 条记录,这是错误的。我该怎么做才能解决它? @Mat.B 你在行上有什么维度? PO 维度中的某些内容?

以上是关于如何使用或过滤器从 Excel 中的 OLAP 多维数据集数据透视表中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

Excel 2013 - 在基于 OLAP 的数据透视表上更改页面过滤器时记录的宏错误

Excel 中显示的 OLAP 多维数据集连接

在 Excel 中的 OLAP 多维数据集中搜索

OLAP进阶:Excel可直接分析的大数据语义层

Excel 多维数据集 - OLAP?

按大维度过滤数据透视表