如何对 RDLC 报告中表达式产生的值进行分组
How to group value which is result from expression in RDLC Report
我有这样的数据集
字段 "Type A" , "Type B" 和 "Type C" 是布尔类型。
我为上面的数据集分配了 tablix。
Tablix 的类型列由此表达式设置。
= Switch(
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 0 , "Regrinding",
Fields!TYPE_A.Value = 0 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 0 , "Coating",
Fields!TYPE_A.Value = 0 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 1 , "Modifying",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 0 , "Regrind & Coating",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 1 , "Regrind & Modifying",
Fields!TYPE_A.Value = 0 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 1 , "Coating & Modifying",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 1 , "Regriding & Modifying",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 1 , "Regriding,Coatin & Modifying",
1 = 1 , "None" )
在"Type count"列我需要统计每种类型
通过用两个数据分组
1.TOOLS_CODE 来自数据集
2.String 来自 Tablix"Type" 列的表达式的值
我该怎么办?
输出:
如果数据集中有这样的项目
- TLD001(类型重写)
- TLD001(类型重写)
- TLD001(打字涂层)
- TLD002(类型重写)
- TLD003(类型再研磨和涂层)
一份报告将显示...
最简单的解决方案是在数据库中创建一个新视图来进行必要的分组。然后你可以在你的报告中显示它。
另一种解决方案是在 C# 中处理分组并将自定义列表作为参数传递给报告者。
如果您确实需要在 reporter 中完成这项工作,您可以使用嵌套列表,在其中添加文本框以使用表达式获取数据。但我不推荐这样做,因为它变得非常复杂。我强烈建议第一个解决方案。
我有这样的数据集
字段 "Type A" , "Type B" 和 "Type C" 是布尔类型。
我为上面的数据集分配了 tablix。 Tablix 的类型列由此表达式设置。
= Switch(
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 0 , "Regrinding",
Fields!TYPE_A.Value = 0 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 0 , "Coating",
Fields!TYPE_A.Value = 0 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 1 , "Modifying",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 0 , "Regrind & Coating",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 1 , "Regrind & Modifying",
Fields!TYPE_A.Value = 0 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 1 , "Coating & Modifying",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 0 And Fields!TYPE_C.Value = 1 , "Regriding & Modifying",
Fields!TYPE_A.Value = 1 And Fields!TYPE_B.Value = 1 And Fields!TYPE_C.Value = 1 , "Regriding,Coatin & Modifying",
1 = 1 , "None" )
在"Type count"列我需要统计每种类型 通过用两个数据分组
1.TOOLS_CODE 来自数据集
2.String 来自 Tablix"Type" 列的表达式的值
我该怎么办?
输出:
如果数据集中有这样的项目
- TLD001(类型重写)
- TLD001(类型重写)
- TLD001(打字涂层)
- TLD002(类型重写)
- TLD003(类型再研磨和涂层)
一份报告将显示...
最简单的解决方案是在数据库中创建一个新视图来进行必要的分组。然后你可以在你的报告中显示它。
另一种解决方案是在 C# 中处理分组并将自定义列表作为参数传递给报告者。
如果您确实需要在 reporter 中完成这项工作,您可以使用嵌套列表,在其中添加文本框以使用表达式获取数据。但我不推荐这样做,因为它变得非常复杂。我强烈建议第一个解决方案。