【问题标题】:Change rendered display to show chart horizontally (x number of columns)更改渲染显示以水平显示图表(x 列数)
【发布时间】:2018-05-16 16:09:34
【问题描述】:

我在 SSRS(我相信是 2014 版)中有一份报告,其中在 tablix 中有一个图表,如图所示:

当我点击“查看报告”时,它显示如下:

注意它如何显示垂直向下的每个图表(每个细节)。有没有一种简单的方法或属性可以用来说水平显示 x 列数。因此,不是每行一个图表,而是在它旁边显示下一个图表……以此类推,直到它达到“x”数字。所以它会显示 WP 10.45,然后在它旁边显示 WP 3.05 等的图表。

【问题讨论】:

  • 如果它只有 3 个图表.. 你可以制作三个 tablix 并将每一个过滤到相关数据并完成它。如果它是未知数量的图表..那么你可以做同样的事情..但是用 Mod 3 做一个 row_number 然后将每个 tablix 过滤为 0 1 和 2.. 希望这是有道理的
  • 您还可以查看将报告拆分为 3 列(在报告属性 - 列下)

标签: reporting-services ssrs-2014


【解决方案1】:

tl;dr:我最终复制了 tablix,然后设置了一个过滤器。

技术细节

对于其他想要这样做并需要更好解释的人来说,这正是我所做的。

请记住我在最初的问题中提到的第一次创建的 tablix。 这个:

我继续复制了整个 tablix(作为另一个 tablix)并将它们放在 Reporting Services 中 rectangle 对象的顶部。它们是完全相同的 tablix 报告内容:

很难看到,但它们都位于矩形对象的顶部。话虽如此,我然后转到我的 tablix 的属性并转到过滤器部分:

注意表达式,当我点击表达式按钮时,这是我输入的表达式:

=Fields!SortOrder.Value Mod 2

现在您可能会问SortOrder 到底是什么,这是针对我的业务案例的。我们的每一个“里程碑”都有一个与之相关的排序顺序。我们不想按字母顺序排序,因为 A-Z 无关紧要。我们必须提供一个列来确保我们的里程碑正确排列,并且我们表格中的这种排序顺序可以做到这一点。

现在您可能还想知道为什么Mod 2。只是因为我们想并排显示 2 个图表。如果您想显示 3 个图表,您可以使用 Mod 3 并复制 tablix 3 次。如果你想显示 4 个图表,你可以使用 Mod 4 并复制 tablix 4 次,等等。

在我的例子中使用Mod 2 与SortOrder 结合使用(SortOrder 字段只是一个整数)。我最终得到 0(完美除法)或值 1(我得到余数)的结果。因此,我的过滤器成立,因为我的tablix 之一的过滤器值为 0,而另一个的过滤器值为 1,如图所示:

结果非常好......我们最终得到了这个:

将其与我最初在问题中的内容进行比较,您会发现这实际上要好得多。我也可以在 RS 中使用 columns 属性,但这看起来不太好。

【讨论】:

    猜你喜欢
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2014-10-16
    • 2021-05-25
    • 1970-01-01
    相关资源
    最近更新 更多