SSRS范围条形图,无数据时颜色不同

问题描述 投票:2回答:1

我希望改变我建立的范围图表中“间隙”的颜色。

基本上我正在尝试为员工构建可视化以查看托架上的可用性。红色标记意味着海湾被预订,我想要绿色然后在红色之间突出自由海湾。

占用的海湾:

Occupied Bays

我怀疑我需要回到我的数据集并添加一些日期表来显示“空数据”以允许“切换”工作,但我想有人可能知道我是否可以改变它而不用这种方式。

数据集的一个示例是:

Data Set Example

Following up

这是我的输出的屏幕截图,我添加了数据标签,看看我是否出错...然而,我还为我的数据添加了阴影,我的数据实际上仍然存在,只是隐藏了我的二级棒..... 。

follow up data

你对我的数据集是正确的,我不得不添加一系列分组来让我的约会全部显得另外明智我只是在行上的第一次约会才出现....

enter image description here

Following up 2

接下来,我遵循了@iamdave优秀的RangeChart.RDL

我已经应用了我的数据集,但我现在得到以下输出,我知道我可能遗漏了一些简单的东西,我的直觉告诉我,cust_id正在将所有约会分开到单独的行但我有主轴和辅轴设为“DrawSideBySide = False”

这是我的设置.. New Set Up

这是我的最新输出,如果我可以将所有行/条/行分组到6个托架那就太棒了。

enter image description here

reporting-services charts colors sql-server-2008-r2 timeline
1个回答
2
投票

您可以通过添加基于原始数据集的其他数据系列来完成此操作,这将比填写WEI_DBA建议的所有空白期间的处理要少得多。

  1. 在数据集中,添加一个返回dense_rank() over (order by BAY) as BayID的新列(order by应该是您想要的轴标签)。 这可能最好作为包装select语句来保留查询逻辑的其余部分。
  2. 在你的范围图表中,添加另一个Values项目,与当前的Category Field相同。
  3. Top Value设置为1,将Bottom Value设置为0。 您还可以将此设置为数据集的minmax时间或报告的开始和结束时间,以仅涵盖Bay可用的时间段。
  4. 将它设置为在Secondary Axis上显示VerticalHorizontal轴。
  5. 同时选择Do not show this series in a legend选项。
  6. 以与主垂直轴完全相同的方式设置辅助垂直轴。
  7. 将辅助水平轴MinimumMaximum设置为与上面的BottomTop相同的值。
  8. 隐藏辅助轴。
  9. 选择新的Values项目,在Properties窗口中,展开CustomAttributes部分并将DrawSideBySide更改为False
  10. 如有必要,调整Values窗口中Chart Data项目的顺序,以确保新的Range Bar显示在实际数据下方。
  11. 选择原始的Values项目,然后在属性侧栏中导航到Data > DataPoint: 将AxisLabel更改为=Fields!BAY.Value(您的轴标签)。 将Values > X更改为=Fields!BayID.Value(从第1点开始的值)。

您现在应该有一个范围图表,可以在实心条上显示您的数据,您可以将其设置为您需要的任何颜色:

© www.soinside.com 2019 - 2024. All rights reserved.