繁体   English   中英

创建图表,其中数据集的列为类别-Report Builder 3.0

[英]Create chart where the columns of the data set are the categories - Report Builder 3.0

我想添加一个非常简单的图表,但我一生无法解决。 图表引用了返回这样的数据的数据集。 它正在计算每个位置的总和,然后使用汇总来为每个“星期”列产生总计数

Location     CurrentWeek    PreviousWeek     2WeeksAgo
========     ===========    ===========      ===========        

North             5               6               3
South             4               3               1
East              8               2               3
West              2               7               0
Total             19              18              7

我想要做的是让CurrentWeek,PreviousWeek,2WeeksAgo列表示X轴(水平),并绘制每个相应列的“总计”值。

添加片段... 示例图

感谢您添加图片。

因此,我们有几个步骤可以到达需要的位置-首先,我们需要将数据转换为更易于使用和扩展的格式(如果我们添加了“ 3周前”列,我们不会不想重做所有事情)。 所需的格式为:

   Date           Amount
Current Week        19
1 week ago          18 
2 weeks ago         17

我个人而言,而不是将东西命名为“当前星期”,“ 1星期前”等,我将有一个WeeksPrior列,其中0表示当前星期,1表示一周之前,依此类推。

无论如何,要从示例表中获取更标准化的输入,我们必须使用unpivot(它们总是会伤到我的大脑,但是文档中有一些很好的示例可供您使用)。

SELECT
    *
    , ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS Ordinal 
    --this is hacky, but ordering by (select null) allows us to assign a row number by the default order
FROM (SELECT 'Total' AS Location, 19 AS CurrentWeek, 18 AS PreviousWeek, 7 AS [2WeeksAgo]) x 
--This is the test data, replace this with your actual query
UNPIVOT (Value FOR Date IN ([CurrentWeek], [PreviousWeek], [2WeeksAgo])) y 
--This unpivots the test data, converting the separate columns into a single [Date] column, and assigning the values to the [Value] column.

这将吐出以下内容:

Location  Value     Date       Ordinal
 Total     19    CurrentWeek      1
 Total     18    PreviousWeek     2
 Total     7     2WeeksAgo        3

从这里,我们将数据添加到图表中。 这很简单,但是要注意一些“陷阱”。

首先,我们将“ Value列添加为图表值,并将“ Ordinal列添加为类别组。 图表

让我们通过运行报告来查看图表的外观。 在此处输入图片说明

好的,它到达了,但我们希望标签位于底部。 为此,我们进入Ordinal类别组的属性,然后将标签切换到date列。 确保您仍然按Ordinal排序,因为SSRS不知道“ 1周前”相对于“当前周”的含义,如果不告诉您Ordinal排序,则会按字母或随机排序。

在此处输入图片说明

我们还可以通过删除图例并在水平轴上将主要刻度线样式更改为“实心”来稍微整理一下图表,从而使我们看起来像这样:

在此处输入图片说明

在垂直轴上添加标签也可能会提高可读性,就像将悬停文本添加到图表上的点一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM