首页 文章

SSRS折线图NULL VALUE - 水平线

提问于
浏览
1

Horizontal Line

enter image description here

enter image description here

enter image description here

我希望有人可以帮助我 . 我创建了一份SSRS(2012)报告,随着时间的推移绘制了多个系列 . 该图表如上所示 . 通过使空点值与线本身具有相同的颜色和大小,可以轻松地“连接”许多非连接点 . 我用MC113证明了这一点 . 这一切都很好 - 我在网上找到了大量有用的信息,以帮助我解决这个问题 . 我遇到的问题是前导(有时是滞后)水平线(带圆圈) . 这是该系列中的数据不会与其余数据在同一点开始或结束的地方(上面的示例似乎从2009年开始,其中数据的其余部分始于2005年) .

数据集派生自查询,这些点将作为NULL值返回 . 如何删除此行 - 以便在这种情况下 - 该行将从2009年开始?我尝试过滤 - 但这只会截断所有系列(到2009年),而不仅仅是过滤MC113 .

有没有人有什么建议?也许我需要研究我的查询中的当前数据?

目前看起来像:

Query_Results

非常感激任何的帮助!

2 回答

  • 1

    好的 - 这里变得丑陋......我认为您可能需要在TSQL中执行此操作以找到每个系列的值为 not null 的最低日期,如果日期在此之前,请将线条颜色设置为白色

    下面的代码将创建列以确定是否显示数据点

    WITH x AS  (
                      Select SampleDate, MC113,MC114,MC46,MC47,MC48
                      From sometable
    )
    ,MinDates AS (
    SELECT MC113MinDate = (SELECT Min(SampleDate) FROM x WHERE MC113 IS NOT NULL)
          ,MC114MinDate = (SELECT Min(SampleDate) FROM x WHERE MC114 IS NOT NULL)
          ,MC46MinDate = (SELECT Min(SampleDate) FROM x WHERE MC46 IS NOT NULL)
          ,MC47MinDate = (SELECT Min(SampleDate) FROM x WHERE MC47 IS NOT NULL)
          ,MC48MinDate = (SELECT Min(SampleDate) FROM x WHERE MC48 IS NOT NULL)
          )
    SELECT x.SampleDate
            ,MC113,ShowMC113 = CASE WHEN MC113 IS NULL THEN CASE WHEN MC113MinDate >= x.SampleDate THEN 0 ELSE 1 END ELSE 1 END
            ,MC114,ShowMC114 = CASE WHEN MC114 IS NULL THEN CASE WHEN MC114MinDate >= x.SampleDate THEN 0 ELSE 1 END ELSE 1 END
            ,MC46,ShowMC46 = CASE WHEN MC46 IS NULL THEN CASE WHEN MC46MinDate >= x.SampleDate THEN 0 ELSE 1 END ELSE 1 END
            ,MC47,ShowMC47 = CASE WHEN MC47 IS NULL THEN CASE WHEN MC47MinDate >= x.SampleDate THEN 0 ELSE 1 END ELSE 1 END
            ,MC48,ShowMC48 = CASE WHEN MC48 IS NULL THEN CASE WHEN MC48MinDate >= x.SampleDate THEN 0 ELSE 1 END ELSE 1 END
    FROM x CROSS JOIN MinDates
    

    然后设置系列的 Color 和空点属性设置您已经完成的颜色,具体取决于值ShowMC113,ShowMC114等

    注意:有一些技巧让传说显示你选择的颜色而不是白色,但希望这会给你一个去的地方......

  • 1

    你能将线条的颜色设置为表达式吗?

    =iif(isNothing(Fields!SelectedValue.Value),'No Color',"LightBlue")
    

相关问题