【问题标题】:SSRS chart labelsSSRS 图表标签
【发布时间】:2016-11-07 15:27:18
【问题描述】:

我需要一些帮助来弄清楚如何在 SSRS 的堆叠图中准确显示标签;我需要下图中上层堆栈的单一表示。

图表本身有两种状态,可以基于redgreen数据,两者都在同一个数据源中。

目前图表如下(这是基于绿色数据):

您可以清楚地看到图表中的标签和图例绝对是杂乱无章的。这个想法是有一个传说,我们有两个项目(迟到的问题和未完成的问题);一种显示任何未完成的问题,另一种显示超出预计到期日的任何未完成的问题。

供参考:上表应包含 1 个非未决问题和 5 个未决问题(3 个正在进行中和 2 个未决问题,有关阶段的更多信息,请参见下文)。

在图表中,我们希望对上述要求进行数字表示。基本上是一个代表未完成问题的数字和一个显示任何未完成问题的数字。

这是红色表示的样子:

在这一点上,我不确定有什么问题了。如前所述,它们都在同一个数据集上运行,但值略有不同。

红色跟踪器有一个简单的真/假值,它运行大部分数据,而绿色跟踪器具有三个值 (5-7) 的数字表示。它代表的数据是:5 - 开放,6 - 正在进行,7 - 关闭。

我试图只在系列是上述三个数字之一时获得绿色数据,而且当它只获得未关闭的任何数据(5,6 但不是 7)时。

这是为图表的栗色部分设置标签的代码(它只是一个可行的sn-p。):

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,则标签应为空字符串。

【问题讨论】:

  • 您的实际问题是什么?是标签中的数字、格式或布局有问题吗?您想要的结果是什么?从您的问题来看,这一切都不清楚。
  • 编辑了问题;基本上我需要一个数字来准确地代表迟到/未解决的问题。
  • 所以您希望7 在一个标签中,而不是331
  • 基本上我希望 7 被忽略(7 表示问题已被处理)并且 5,6 显示为一个组。该图表应显示 LKID2 = 5、6 和未完成 = 0 在一个堆栈上的项目,以及一个 LKID2 = 5,6 和未完成 = 1 的项目。基本上我需要一个堆栈用于未解决(迟到)问题,一个用于未关闭(打开)问题。
  • 我在下面的回答告诉你如何做到这一点。

标签: sql-server reporting-services charts


【解决方案1】:

我认为您想要做的是根据状态编号对您的系列数据进行分组。您可以在数据集查询中将其作为 case 语句执行,也可以在系列组中使用表达式:

我在那里使用的表达式如下:
=switch(Fields!Status.Value = 5, "Group 1", Fields!Status.Value = 6, "Group 2", Fields!Status.Value = 7, "Group 2", TRUE, "Group 3")

这实质上是根据字段中的值为您的数据分配一个分组值。在这种情况下,5Status 变为Group 167Status 变为Group 2,所有其他值变为Group 3,以确保在报告。

它的作用是将图表与原始数据一起显示(在左侧)并将其转换为我认为您希望看到的样子(在右侧):

您还需要对图表标签应用相同的逻辑。出于这个原因,我建议您在原始 SQL 脚本中添加一个列来为您执行此分组,因此您只需进行一次更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多