假设我有一个汽车经销商的销售表,其中包含以下列:
Salesperson
VehicleType
(可以是“汽车”或“卡车”)
SaleType
(可以是“基本的”或“奢侈的”)
使用SSDT2012,我想制作一个条形图,显示存储在此表中的销售额。我希望Salesperson
将数据分组在X轴上。对于每个Salesperson
分组,我想要2个聚类列,每个列代表每个VehicleType
的总销售额。我希望这些列中的每一列也显示堆叠数据,以了解每个SalesType
总数。基本上我希望图表如下所示:
(请注意,栏中的文字标签仅供说明之用,不需要在实际报告中显示)
我知道如何将此数据显示为4个聚簇列,并作为1个堆叠列,但无法找到执行此操作的方法。我找到了一个解决方法,涉及将第二个系列设置为使用辅助轴,但在我正在创建的实际报告中,已经被其他东西使用,所以我无法做到这一点。我也尝试过另一个SO帖子的解决方案:SSRS BIDS clustered stacked bar chart但是在评论中提到的格式与格式不符合我需要的格式。如果有人知道如何完成上述任务,或者甚至无法在SSDT2012中完成,我将非常感激。
我主要通过在数据集中伪造额外的“Salesperson”条目来解决这个问题。对于您的示例数据,我会为以下内容添加一行:
销售员=“A_”| VehicleType =“car”| SaleType =“basic”|销售额= 0
然后你只需要抑制那些“_”条目的标签。您可以使用类别组标签上的表达式执行此操作,例如
=If ( Fields!Salesperson.Value.Contains("_"),"", Fields!Salesperson.Value )
=If ( Fields!Salesperson.Value.Contains("_"),"", Fields!VehicleType.Value)
我已经为此共享了一个演示,它位于我的演示文件夹中,文件:Report Builder演示 - Stacked and Clustered Bar Chart.rdl