SSRS 2012-创建堆叠和群集的条形图

时间:2019-04-11 16:21:44

标签: reporting-services reporting ssrs-2012 sql-server-data-tools

假设我有一个汽车经销店的销售表,其中包含以下几列:

Salesperson

VehicleType(可以是“汽车”或“卡车”)

SaleType(可以是“基本”或“豪华”)

使用SSDT2012,我想制作一个条形图,显示存储在此表中的销售额。我想将数据按Salesperson分组在X轴上。对于每个Salesperson分组,我想要2个群集列,每个列代表每个VehicleType的销售总数。我希望这些列中的每一列也显示堆叠数据,以显示每个SalesType的总数。本质上,我希望图表如下所示:

enter image description here

(请注意,栏中的文本标签是为了澄清目的,不需要在实际报告中显示)

我知道将这些数据显示为4个群集列和1个堆积列的方法,但是找不到找到此方法的方法。我找到了一种解决方法,其中涉及将第二个系列设置为使用辅助轴,但是在真实的报告中,我正在创建该值已被其他对象使用,因此我无法做到这一点。我还尝试了SSRS BIDS clustered stacked bar chart处另一篇SO帖子中的解决方案,但正如发帖人在评论中提到的那样,格式与我需要的格式不匹配。如果有人知道实现上述目标的方法,或者甚至在SSDT2012中无法做到这一点,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

我主要通过伪造数据集中多余的“销售员”条目来解决此问题。对于您的示例数据,我将为以下行添加一行:

销售员=“ A_” | VehicleType =“汽车” | SaleType =“基本” |销售额= 0

然后,您只需要隐藏那些“ _”条目的标签即可。您可以使用类别组标签上的表达式来做到这一点,例如

=If ( Fields!Salesperson.Value.Contains("_"),"", Fields!Salesperson.Value )

=If ( Fields!Salesperson.Value.Contains("_"),"", Fields!VehicleType.Value)

我已经为此共享了一个演示,该演示位于我的Demo文件夹中,文件为: Report Builder演示-堆积和群集的条形图.rdl

https://1drv.ms/f/s!AGLFDsG7h6JPgw4

Stacked and Clustered Bar Chart