【问题标题】:SSRS 2012 - Creating a Stacked and Clustered Bar ChartSSRS 2012 - 创建堆叠和聚集的条形图
【发布时间】:2019-04-11 16:21:43
【问题描述】:

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

Salesperson

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

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

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

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

我知道如何将此数据显示为 4 个聚集列和 1 个堆叠列,但找不到执行此操作的方法。我发现了一种解决方法,涉及将第二个系列设置为使用辅助轴,但在我正在创建的真实报告中,它已经被其他东西使用,所以我无法做到这一点。我还在这里尝试了另一篇 SO 帖子的解决方案:SSRS BIDS clustered stacked bar chart 但正如海报在 cmets 中提到的那样,格式与我需要的不符。如果有人知道完成上述操作的方法,或者是否根本无法在 SSDT2012 中完成,我将不胜感激。

【问题讨论】:

  • 我不明白你是怎么做到的——看来你需要一个额外的分组。如果按列(1 上的分组行)创建一个基于推销员的 MATRIX,并为每个相邻的图表重复图表,会怎样?不好的部分是每个轴。

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


【解决方案1】:

我主要通过在数据集中伪造额外的“销售人员”条目来解决这个问题。对于您的示例数据,我将添加一行:

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

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

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

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

我为此分享了一个演示,它在我的 Demo 文件夹中,文件:Report Builder demo - Stacked and Clustered Bar Chart.rdl

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

【讨论】:

  • 感谢您的回答,但是我无法使其正常工作。我尝试从查询中添加_行并且能够这样做,但无法使用它来创建堆栈和集群,无论_值是否显示,我仍然只能使用一个或另一个跨度>
  • 我很困惑。上面的屏幕截图与您的草图相符,我提供了一个 RDL 文件作为工作演示。图表类型为堆积柱形。
猜你喜欢
  • 2019-03-25
  • 1970-01-01
  • 2021-11-13
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-12
  • 2017-07-14
相关资源
最近更新 更多