SSRS范围条形图,无数据时颜色不同
SSRS range bar chart, different color when no data
我想更改我构建的范围图表中“差距”的颜色。
本质上,我正在尝试为员工构建可视化效果,以查看托架的可用性。红色标记表示海湾已被预订,我希望绿色位于红色之间以突出显示空闲海湾。
占用的车位:
我怀疑我需要返回到我的数据集并添加一些日期表以显示“空数据”以允许“切换”工作,但我认为有人可能知道我是否可以在不执行此操作的情况下更改它方式。
数据集的一个例子是:
跟进
这是我的输出的屏幕截图,我添加了数据标签以查看我是否出错了...但是我还为我的数据添加了阴影并且我的数据实际上仍然存在,只是隐藏在我的辅助栏后面......
你对我的数据集是正确的,我必须添加一个系列分组才能让我的约会全部出现,否则我只是在该行中获得第一个约会才出现....
跟进 2
进一步跟进,我已经关注了@iamdave的优秀RangeChart.RDL
我已经将我的数据集应用到它,但我现在得到以下输出,我知道我可能遗漏了一些简单的东西,我的直觉告诉我 cust_id 将所有约会分开到单独的行但是我将主轴和副轴都设置为“DrawSideBySide = False”
这是我的设置..
这是我的最新输出,如果我可以将所有 rows/bars/lines 分组到 6 个托架,那就太好了。
您可以通过添加基于原始数据集的另一个数据系列来完成此操作,与按照 WEI_DBA
的建议填写所有空白时段相比,这需要的处理要少得多。
- 在您的数据集中,添加一个新列 returns
dense_rank() over (order by BAY) as BayID
(order by
应该是您想要的轴标签)。
- 这可能最好作为包装
select
语句来完成,以保留其余的查询逻辑。
- 在您的范围图中,添加另一个
Values
项目,与当前项目相同 Category Field
。
- 将
Top Value
设置为 1
,将 Bottom Value
设置为 0
。
- 您也可以将其设置为数据集的
min
和 max
时间或报告的开始和结束时间段以仅涵盖海湾可用的时间段。
- 将其设置为在
Vertical
和 Horizontal
轴的 Secondary Axis
上显示。
- 还有 select
Do not show this series in a legend
选项。
- 以与主垂直轴完全相同的方式设置次垂直轴。
- 将辅助水平轴
Minimum
和 Maximum
设置为与上面的 Bottom
和 Top
相同的值。
- 隐藏两个辅助轴。
- Select 新的
Values
项目和 Properties
window,展开 CustomAttributes
部分并将 DrawSideBySide
更改为 False
.
- 如有必要,请调整
Chart Data
window 中 Values
项的顺序,以确保新的范围栏显示在实际数据下方。
- Select 原始
Values
项并在属性边栏中导航至 Data > DataPoint
:
- 将
AxisLabel
更改为 =Fields!BAY.Value
(您的轴标签)。
- 将
Values > X
更改为 =Fields!BayID.Value
(第 1 点的值)。
您现在应该有一个范围图,在实心条的顶部显示您的数据,您可以将其设置为您需要的任何颜色:
我想更改我构建的范围图表中“差距”的颜色。
本质上,我正在尝试为员工构建可视化效果,以查看托架的可用性。红色标记表示海湾已被预订,我希望绿色位于红色之间以突出显示空闲海湾。
占用的车位:
我怀疑我需要返回到我的数据集并添加一些日期表以显示“空数据”以允许“切换”工作,但我认为有人可能知道我是否可以在不执行此操作的情况下更改它方式。
数据集的一个例子是:
跟进
这是我的输出的屏幕截图,我添加了数据标签以查看我是否出错了...但是我还为我的数据添加了阴影并且我的数据实际上仍然存在,只是隐藏在我的辅助栏后面......
你对我的数据集是正确的,我必须添加一个系列分组才能让我的约会全部出现,否则我只是在该行中获得第一个约会才出现....
跟进 2
进一步跟进,我已经关注了@iamdave的优秀RangeChart.RDL
我已经将我的数据集应用到它,但我现在得到以下输出,我知道我可能遗漏了一些简单的东西,我的直觉告诉我 cust_id 将所有约会分开到单独的行但是我将主轴和副轴都设置为“DrawSideBySide = False”
这是我的设置..
这是我的最新输出,如果我可以将所有 rows/bars/lines 分组到 6 个托架,那就太好了。
您可以通过添加基于原始数据集的另一个数据系列来完成此操作,与按照 WEI_DBA
的建议填写所有空白时段相比,这需要的处理要少得多。
- 在您的数据集中,添加一个新列 returns
dense_rank() over (order by BAY) as BayID
(order by
应该是您想要的轴标签)。- 这可能最好作为包装
select
语句来完成,以保留其余的查询逻辑。
- 这可能最好作为包装
- 在您的范围图中,添加另一个
Values
项目,与当前项目相同Category Field
。 - 将
Top Value
设置为1
,将Bottom Value
设置为0
。- 您也可以将其设置为数据集的
min
和max
时间或报告的开始和结束时间段以仅涵盖海湾可用的时间段。
- 您也可以将其设置为数据集的
- 将其设置为在
Vertical
和Horizontal
轴的Secondary Axis
上显示。 - 还有 select
Do not show this series in a legend
选项。 - 以与主垂直轴完全相同的方式设置次垂直轴。
- 将辅助水平轴
Minimum
和Maximum
设置为与上面的Bottom
和Top
相同的值。 - 隐藏两个辅助轴。
- Select 新的
Values
项目和Properties
window,展开CustomAttributes
部分并将DrawSideBySide
更改为False
. - 如有必要,请调整
Chart Data
window 中Values
项的顺序,以确保新的范围栏显示在实际数据下方。 - Select 原始
Values
项并在属性边栏中导航至Data > DataPoint
:- 将
AxisLabel
更改为=Fields!BAY.Value
(您的轴标签)。 - 将
Values > X
更改为=Fields!BayID.Value
(第 1 点的值)。
- 将
您现在应该有一个范围图,在实心条的顶部显示您的数据,您可以将其设置为您需要的任何颜色: