假设我有一个汽车经销店的销售表,其中包含以下几列:
Salesperson
VehicleType
(可以是“汽车”或“卡车”)
SaleType
(可以是“基本”或“豪华”)
使用SSDT2012,我想制作一个条形图,显示存储在此表中的销售额。我想将数据按Salesperson
分组在X轴上。对于每个Salesperson
分组,我想要2个群集列,每个列代表每个VehicleType
的销售总数。我希望这些列中的每一列也显示堆叠数据,以显示每个SalesType
的总数。本质上,我希望图表如下所示:
(请注意,栏中的文本标签是为了澄清目的,不需要在实际报告中显示)
我知道将这些数据显示为4个群集列和1个堆积列的方法,但是找不到找到此方法的方法。我找到了一种解决方法,其中涉及将第二个系列设置为使用辅助轴,但是在真实的报告中,我正在创建该值已被其他对象使用,因此我无法做到这一点。我还尝试了SSRS BIDS clustered stacked bar chart处另一篇SO帖子中的解决方案,但正如发帖人在评论中提到的那样,格式与我需要的格式不匹配。如果有人知道实现上述目标的方法,或者甚至在SSDT2012中无法做到这一点,我将不胜感激。
答案 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