如何在矩阵中创建区间
How to create an interval in a matrix
我正在使用 SSRS 2008,我的源是一个立方体,我使用这个 MDX 查询:
SELECT NON EMPTY { [Measures].[Val] } ON COLUMNS,
NON EMPTY { ([DimCl].[Cl].[Cl].ALLMEMBERS,
[DDate].[Year].[Year].ALLMEMBERS ) }
ON ROWS FROM [DW]
我用以下数据创建了一个矩阵
2014 2015
0 10 11
1 15 10
2 15 11
3 18 14
4 10 8
5 5 5
6 12 10
7 10 15
8 20 18
我需要做一个区间,结果矩阵应该是这样的:
2014 2015
<=2 40 32
]2;4] 28 22
]4;6] 17 15
>6 30 33
我在 SSRS 中尝试了 switch 语句,但出现错误,有人可以告诉我该怎么做吗?
谢谢
您可以通过在 Tablix 中创建一个组并使用 group by 表达式来定义您的范围来完成此操作。右键单击 tablix 中的详细信息行,然后 select 添加组 -> 父组。单击分组依据:框旁边的功能按钮。你会添加这样的东西作为你的表达:
=iif(Fields!Val.Value <= 2, "<=2", iif(Fields!Val.Value <=4, "]2;4]", iif(Fields!Val.Value <=6, "]4;6]", ">6")))
现在,在 tablix 的新组行中,您只需为您的值添加一个求和函数。您将得到每组的总和。
由于您对数据进行分组并基于此进行聚合 "interval",我建议您添加一个 Calculated 字段并在值中使用 Switch() 函数。
=开关(
字段!Val.Value <= 2, "<=2",
字段!Val.Value <= 4, "2-4",
字段!Val.Value <= 6, "4-6",
字段!Val.Value >6 , ">6"
)
然后你可以只在这个字段上分组,并在 sum() 函数中指定组名作为范围
我正在使用 SSRS 2008,我的源是一个立方体,我使用这个 MDX 查询:
SELECT NON EMPTY { [Measures].[Val] } ON COLUMNS,
NON EMPTY { ([DimCl].[Cl].[Cl].ALLMEMBERS,
[DDate].[Year].[Year].ALLMEMBERS ) }
ON ROWS FROM [DW]
我用以下数据创建了一个矩阵
2014 2015
0 10 11
1 15 10
2 15 11
3 18 14
4 10 8
5 5 5
6 12 10
7 10 15
8 20 18
我需要做一个区间,结果矩阵应该是这样的:
2014 2015
<=2 40 32
]2;4] 28 22
]4;6] 17 15
>6 30 33
我在 SSRS 中尝试了 switch 语句,但出现错误,有人可以告诉我该怎么做吗?
谢谢
您可以通过在 Tablix 中创建一个组并使用 group by 表达式来定义您的范围来完成此操作。右键单击 tablix 中的详细信息行,然后 select 添加组 -> 父组。单击分组依据:框旁边的功能按钮。你会添加这样的东西作为你的表达:
=iif(Fields!Val.Value <= 2, "<=2", iif(Fields!Val.Value <=4, "]2;4]", iif(Fields!Val.Value <=6, "]4;6]", ">6")))
现在,在 tablix 的新组行中,您只需为您的值添加一个求和函数。您将得到每组的总和。
由于您对数据进行分组并基于此进行聚合 "interval",我建议您添加一个 Calculated 字段并在值中使用 Switch() 函数。
=开关(
字段!Val.Value <= 2, "<=2",
字段!Val.Value <= 4, "2-4",
字段!Val.Value <= 6, "4-6",
字段!Val.Value >6 , ">6" )
然后你可以只在这个字段上分组,并在 sum() 函数中指定组名作为范围