首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSRS:部分重用MDX查询?还是MDX作为参数?

SSRS:部分重用MDX查询?还是MDX作为参数?
EN

Stack Overflow用户
提问于 2011-07-08 19:10:07
回答 2查看 707关注 0票数 1

在Server报告中

是否可以在报表中定义MDX查询,然后重复使用它几次,但每次使用不同的WHERE部分。

也就是说,每个行的成员和SELECT部分是相同的(MTD.Count,YTD.Count)

但是,我想用10种不同的方法过滤它。

我现在唯一能想到这样做的方法是添加10个数据集,每个数据集都有不同的WHERE部分,但是我只想重复使用一个DS。

另一种

另一个完全可以接受的选择是将整个MDX查询作为某种类型的参数提供给报表。我面临的挑战是我的MDX查询是动态生成的(,包括实际查询的#),所有这些都是用户驱动的。那么,我是否可以向报表提供n个MDX查询,并将其插入到矩阵中呢?我今天想到的一种方法是动态地发出整个RDL XML。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-12 00:03:38

这很可能是我的解决方案:

次级报告

是的,副报告救了我..。我的实际目标是对每一行使用不同的WHERE部分重复相同的MDX查询。子报告就是为此而设计的。可以定义矩阵并将其绑定到数据集。该数据集将确定您的矩阵将填充多少行数据。

您可以在矩阵的一个单元格中嵌入一个子报表,并向它传递一个参数(在我的例子中,我传递的是整个WHERE过滤器,但您可以使它变得更细,并且只传递一个字段。

然后,在子报表中,可以根据从父报表传入的参数只显示一组信息。

以下是更多的链接

SubReports

使用自定义MDX查询设计报表

票数 0
EN

Stack Overflow用户

发布于 2011-07-09 02:55:51

您可以使用以下几个参数来获得数据集:

代码语言:javascript
复制
SELECT
{
    StrToSet(@rowAxisMdx)
} ON 0,
{
    StrToSet(@columnAxisMdx)
} ON 1
FROM [Cube]
WHERE {
    @StrToSet(@slicerAxisMdx)
}

由于您正在使用大量的StrToSet函数,所以它会很慢,但是它应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6629252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档