SSRS基于相同数据类型的多行 - 折线图

时间:2016-08-01 02:16:39

标签: sql sql-server tsql reporting-services ssrs-2008

enter image description here我有一个TSQL查询,它为一些性能基准提供月份数据。我在折线图中显示数据。现在我想在报告中添加更多参数,以提供从两个不同月份中选择数据的选项,并将其显示在同一折线图中进行比较。我不确定如何开始。关于如何获取数据集并在折线图中显示的任何想法都会有所帮助。任何模拟预期结果的链接也会有所帮助。

编辑:我在相同的数据集中提供了两个月的数据,当我像@Hannover Fist那样进行系列分组表达时,我得到了下面的图表。但是当我用类别分组表达时,我不会得到重叠的图形,因为有些东西与日期有关!请指导我做错了什么!以下是我预期的图表。

enter image description here 注意:查询太大了,出于安全原因我无法在此处发布。如果您需要有关查询的任何信息,请与我们联系。

3 个答案:

答案 0 :(得分:3)

您希望在横轴(类别组)上设置一组简单的日期,然后将月份用作系列组。

如果可能,请将月中某月和月份作为数据集中的单独列返回。让数据库做数据库擅长的事情。以AdventureWorksDW为例,

select ..., 
datepart(day, fulldatealternatekey) as Day, 
left(datename(month, fulldatealternatekey), 3) as Month, 
sum(SomeValue) as SomeValue
from ...

然后在折线图中,将值设置为Sum(SomeValue),将Category Groups设置为Day,将Series Group设置为Month。那应该很好。它可能会尝试每5天(5,10,15等)设置轴标签,但您可以通过转到水平轴属性中的轴选项并将间隔更改为1来覆盖它(只需键入值)替换Auto)。

如果无法更改数据集查询,则使用表达式完成相同的操作:

  • 对于类别组,请使用您的日期。但是,在“图表”窗格中右键单击它,然后打开“类别组属性”。单击label旁边的表达式按钮并将此表达式(将SomeDate替换为您的实际Date列)设置为

    = DatePart(" d",Fields!SomeDate.Value)

  • 对类别组的Group On表达式重复。

  • 接下来,将您的日期添加为系列组,但右键单击它并打开“系列组”属性。将Label和Group On表达式更改为

    = MONTHNAME(月(字段!SomeDate.Value))

  • 如果需要,为月份设置系列组的排序。请改用:

    =月(字段!SomeDate.Value)

这是我得到的 - 我假设这是你正在寻找的结构。你的问题有点不清楚,但这是我对你所要求的看法。 ssrs example

答案 1 :(得分:2)

我认为如果您在查询中返回两个月的数据,它将以您想要的方式工作。

为每个日期添加参数,然后根据查询或数据集的参数为数据添加过滤器。

然后将月份添加为图表中的系列,将分组添加为

等表达式
=FORMAT(Fields!Your_Date.Value, "YYYY-MM")

答案 2 :(得分:0)

您需要做的是:

1)再添加一个数据集,该数据集可以定义month参数的有效值范围。

2)更改主数据集,在WHERE条件中包含参数(单值或多值)。

3)编辑参数属性。

4)在设计窗格中编辑报告字段。