【问题标题】:SSRS Line Chart Connecting two values in one line chartSSRS 折线图 在一张折线图中连接两个值
【发布时间】:2016-03-13 08:00:02
【问题描述】:

我有一个折线图,其中包含 3 个值(上一年实际值、预测值和当年实际值)和一个类别组(月-年,例如:2016 年 1 月)。我可以将 3 个值很好地放在折线图中,但我很难绘制“连续线(带标记)”,这意味着首先我想绘制当前年份的实际值和上个月的图表,例如,2016 年 2 月的预测图表线将显示。我可以在 MSExcel 中做到这一点,左边的线是实际的,黄色突出显示的是预测,但我无法在 SSRS 中做到。请指教。

【问题讨论】:

    标签: reporting-services ssrs-2008 ssrs-2008-r2


    【解决方案1】:

    在您的选择查询中组合您的数据。您可以使用UNION 语句,如下例所示。

    SELECT actual_sales AS 'sales'
        , calendar_day AS 'calendar_day'
        , 'actual' AS 'sales_type'
    FROM actual_sales_data
    UNION
    SELECT projected_sales AS 'sales'
        , calendar_day AS 'calendar_day'
        , 'projected' AS 'sales_type'
    FROM projected_sales_data
    

    然后您可以将两种类型的销售(实际和预计)绘制成一条连续的线,因为这将是一个数据集。

    以下是一些可用于示例查询的示例数据:

    DECLARE @actual_sales_data TABLE (actual_sales int, calendar_day DATE)
    DECLARE @projected_sales_data TABLE (projected_sales int, calendar_day DATE)
    
    INSERT INTO @actual_sales_data
    SELECT 100, '1/1/2016'
    UNION
    SELECT 200, '1/2/2016'
    UNION
    SELECT 150, '1/3/2016'
    UNION
    SELECT 180, '1/4/2016'
    UNION
    SELECT 210, '1/5/2016'
    UNION
    SELECT 230, '1/6/2016'
    UNION
    SELECT 200, '1/7/2016'
    UNION
    SELECT 220, '1/8/2016'
    
    
    INSERT INTO @projected_sales_data
    SELECT 220, '1/8/2016' -- This data point matches the last actual sales number so that SSRS will draw a continuous line
    UNION
    SELECT 250, '1/9/2016'
    UNION
    SELECT 220, '1/10/2016'
    UNION
    SELECT 180, '1/11/2016'
    UNION
    SELECT 250, '1/12/2016'
    UNION
    SELECT 210, '1/13/2016'
    UNION
    SELECT 270, '1/14/2016'
    UNION
    SELECT 200, '1/15/2016'
    UNION
    SELECT 290, '1/16/2016'
    
    SELECT actual_sales AS 'sales'
        , calendar_day AS 'calendar_day'
        , 'actual' AS 'sales_type'
    FROM @actual_sales_data
    UNION
    SELECT projected_sales AS 'sales'
        , calendar_day AS 'calendar_day'
        , 'projected' AS 'sales_type'
    FROM @projected_sales_data
    

    【讨论】:

    • 感谢您的帮助。我可以做一条连续的线,但我如何在图表底部放置 2 个图例标签 1) 实际和 2) 预计?
    • 在我的示例中,如果您将图表的值设置为“sales”,将类别组设置为“calendar_day”,将系列组设置为“sales_type”,那么您将获得一个显示预计和实际之间差异的图例销售。
    • 如果您需要将 2 行连接起来(注意每个数据点都会出现,但是当数据从实际切换到投影时它们不会形成连续的线)然后在投影中插入一行数据等于同一日期的最后一个实际销售额。这将覆盖该数据点上的预测数据和实际数据,并绘制一条连接的连续线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    相关资源
    最近更新 更多