Report Studio之使用多维模型二、过滤交叉表的行或列

浏览: 2383

此例,我们研究一下如何过滤基于多维数据集的交叉表的行或者列。

 

准备工作…

 

此例,我们使用多维数据源。具体来说,使用示例中提供的微软MSAS多维数据集。关于MSAS多维数据集示例的部署配置,请参照IBM官方安装部署文档。由于不同版本的示例略有不同,这里我们以8版本提供的示例为准。本例中使用GO Sales SSAS cube数据包连接MSAS多维数据集。

 

如何实施…

 

1. 新建一个交叉表。

2. 拖拽级别Current Year和Current Month到交叉表的列,级别Organization Code2到交叉表的行,度量Stmt Year到交叉表交集。

Clipboard Image.png

3. 运行并测试报表。报表看起来应该如下图。

Clipboard Image.png

4. 可以看到一些Organization Code对应的行无数据。这里我们要过滤掉这些空行。先从列中删掉Organization Code2.

5. 拖拽一个Set Expression(对于10版本,此控件已集成到Query Calculation控件中)到列中。

Clipboard Image.png

6. 将此计算集命名为Filtered Org,并选择其层级为Organization Dim


Clipboard Image.png

7. 定义其表达式为:

filter([GO Finance Fact].[Organization Dim].[Organization Dim].[Organization Code2], [Stmt Year] is not null).

Clipboard Image.png

8. 运行并测试报表。

Clipboard Image.png


工作原理…

 

Report Studio的过滤器(汇总/明细)主要用在关系型数据源和列表中。对基于多维数据集的报表,如果预先在抽取成员的表达式中过滤行或者列,可以获得更好的性能。

本例我们使用了filter函数。此函数允许我们定义过滤的条件。条件可以基于成员属性或者度量值。此例,我们需要抑制空值行,所以我们基于度量过滤(当然,这里我们也可以直接使用工具栏中的数据下的抑制选项)。

推荐 0
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册