C# 如何显示双分组报表
假设我的SQL查询的结果是C# 如何显示双分组报表,c#,crystal-reports,report,rdlc,C#,Crystal Reports,Report,Rdlc,假设我的SQL查询的结果是 Colour size week 1 week2 week 3 Black x 1 2 3 white xx 1 1 0 yellow large 2 1 0 我想从这样的查询生成一个报告 week 1 week 2 week 3 --
Colour size week 1 week2 week 3
Black x 1 2 3
white xx 1 1 0
yellow large 2 1 0
我想从这样的查询生成一个报告
week 1 week 2 week 3
----------------------------------------------------------------
x xx large x xx large x xx large
---------------------- -------------- -------------
black 1 0 0 2 0 0 3 0 0
white 1 0 0 0 1 0 0 0 0
yellow 2 0 0 0 2 0 0 0 0
我一直这么认为的可能性
是否有人会建议我,以上述格式生成报告的最佳方式是什么。这是我缺少的一些东西。这可以通过分组来完成,但这需要很大的努力。假设weeks列是静态的,您基本上需要按每个数据列(weeks、size、color)分组,然后将页眉放在group Footer中,其中包含汇总或运行总计,将您的值带到您需要的位置 第一部分故意含糊其辞,因为详细描述这一点会很复杂,所以我打算提出一个不同的解决方案。相反,您可以使用交叉表,但由于您的sql目前正在构建中,我相信每周都需要单独的交叉表 我建议,这是基于一些假设,但我假设您有能力控制进入报表的sql查询。如果可以的话,我相信最好是重新格式化sql查询,让交叉表完成所有工作,而不是自己中断几周的工作。在我回答的第一部分中,我假设周是静态的,但我猜这不是最终的解决方案,在这种情况下,我认为如果您使用下面的数据输出,您应该能够创建一个交叉表,允许您将周显示为列
Color size week amt
Black x 1 1
Black x 2 2
Black x 3 3
white xx 1 1
white xx 2 1
white xx 3 0
yellow large 1 2
yellow large 2 1
yellow large 3 0
这是未经测试的,所以不要向我开枪,但我相信使用这种布局,您只需将weeks和size列设置为交叉选项卡columns部分的字段、交叉选项卡rows部分的color字段和Summated fields部分的amount
一般来说,在我提出解决方案之前,我会尝试回答这里提出的问题,并理解在这种情况下我没有这样做,但如果您能够修改报表接受的sql查询,我相信这是一个更好的解决方案。如果您有任何问题,请告诉我。希望这有帮助