我需要一些帮助,找出如何在SSRS的堆叠图表中准确显示标签;我需要在下面的图表中单独表示上层堆栈。
图表本身有两种状态,它可以基于红色或绿色数据,两者都在同一个数据源中。
目前图表看起来像这样(这是基于绿色数据):
正如您可以清楚地看到图表中的标签和图例都完全混乱。我们的想法是有一个传奇,我们有两个项目(延迟问题和未完成的问题);一个显示任何未完成的问题,另一个显示超出估计截止日期的任何未完成的问题。
供参考:上图应该有1个未解决的问题和5个未决问题(3个正在进行和2个未完成的问题,请参阅下面有关阶段的更多信息)。
在图表中,我们希望对上述要求进行数字表示。基本上是代表未决问题的数字,以及显示任何未完成问题的数字。
这是红色表示的样子:
此时我不确定再出现什么问题了。如前所述,它们都运行在相同的数据集上,但值略有不同。
红色跟踪器具有简单的True / False值,它运行大部分数据,而绿色跟踪器具有三个值(5-7)的数字表示。它代表的数据是:5 - 开放,6 - 正在进行,7 - 关闭。
我试图仅在系列是上述三个数字中的任何一个时获得绿色数据,而且当它只获得任何未关闭的数据时(5,6但不是7)。
这是为图表的栗色部分设置标签的代码(它只是一个可行的片段。):
IIF(Count(IIF(Fields!Outstanding.Value = 1 AND
Fields!TRK_TrackerStatus_LKID2.Value <> 7, 1, Nothing)) = 0, "",
Count(IIF(Fields!Outstanding.Value = 1 AND
Fields!TRK_TrackerStatus_LKID2.Value <> 7, 1, Nothing))))
它基本上做的是检查是否有超过0项未完成且未完成(不是7)。如果大于0,则设置标签。如果有0个计数项,则标签应为空字符串。
答案 0 :(得分:0)
我认为您想要做的是根据状态编号对您的系列数据进行分组。您可以在数据集查询中将其作为case
语句执行,也可以在系列组中使用表达式:
我在那里使用的表达如下:
=switch(Fields!Status.Value = 5, "Group 1", Fields!Status.Value = 6, "Group 2", Fields!Status.Value = 7, "Group 2", TRUE, "Group 3")
这实际上是根据字段中的值为数据分配分组值。在这种情况下,Status
5
变为Group 1
,Status
6
或7
变为Group 2
,所有其他值变为Group 3
只是为了确保报告中的数据不明显。
它的作用是将图表与原始数据一起显示(左侧)并将其转换为我认为您想要看到它的方式(右侧):
您还需要将相同的逻辑应用于图表标签。出于这个原因,我建议您在原始SQL脚本中添加一个列,为您执行此分组,因此您只需进行一次更改。