在Server报告中
是否可以在报表中定义MDX查询,然后重复使用它几次,但每次使用不同的WHERE部分。
也就是说,每个行的成员和SELECT部分是相同的(MTD.Count,YTD.Count)
但是,我想用10种不同的方法过滤它。
我现在唯一能想到这样做的方法是添加10个数据集,每个数据集都有不同的WHERE部分,但是我只想重复使用一个DS。
另一种
另一个完全可以接受的选择是将整个MDX查询作为某种类型的参数提供给报表。我面临的挑战是我的MDX查询是动态生成的(,包括实际查询的#),所有这些都是用户驱动的。那么,我是否可以向报表提供n个MDX查询,并将其插入到矩阵中呢?我今天想到的一种方法是动态地发出整个RDL XML。
发布于 2011-07-12 00:03:38
这很可能是我的解决方案:
次级报告
是的,副报告救了我..。我的实际目标是对每一行使用不同的WHERE部分重复相同的MDX查询。子报告就是为此而设计的。可以定义矩阵并将其绑定到数据集。该数据集将确定您的矩阵将填充多少行数据。
您可以在矩阵的一个单元格中嵌入一个子报表,并向它传递一个参数(在我的例子中,我传递的是整个WHERE过滤器,但您可以使它变得更细,并且只传递一个字段。
然后,在子报表中,可以根据从父报表传入的参数只显示一组信息。
以下是更多的链接
SubReports
使用自定义MDX查询设计报表
发布于 2011-07-09 02:55:51
您可以使用以下几个参数来获得数据集:
SELECT
{
StrToSet(@rowAxisMdx)
} ON 0,
{
StrToSet(@columnAxisMdx)
} ON 1
FROM [Cube]
WHERE {
@StrToSet(@slicerAxisMdx)
}由于您正在使用大量的StrToSet函数,所以它会很慢,但是它应该可以工作。
https://stackoverflow.com/questions/6629252
复制相似问题