如何将两个数据集中的数据连接在一个矩阵中

时间:2015-01-20 22:34:18

标签: reporting-services ssrs-2008

我有一个OPEN_TICKETCLOSED_TICKET数据集,并想知道我如何能够将这两个数据集合在一起。

我有点能够实现我所需要的并显示此输出:

                   |      8 |         9 |      10 |       11 | etc... |
-----------------------------------------------------------------------
Total Open Tickets | 5645   | 6546      | 745     | 8451     | etc... |

我是通过创建Column Group INCIDENT_OPEN_DATE(已编号的标题)然后为我RowCount()上的Column Group表达式的行,通过引用它来完成此操作这个:RowCount("MY_COLUMN_GROUP_NAME")

我上面显示的矩阵显示了从打开日期开始的总票数。

我现在想在同一个月内展示当月的总票数。我能够获得与上面类似的输出,但只能使用已关闭的票证并使用INCIDENT_CLOSED_DATE

                     |      8 |         9 |
-------------------------------------------
Total Closed Tickets | 1863   | 7985      |

但我最终希望将所有内容都放在一个矩阵之下:

                     |      8 |         9 |      10 |       11 | etc... |
-------------------------------------------------------------------------
Total Open Tickets   | 5645   | 6546      | 745     | 8451     | etc... |
-------------------------------------------------------------------------
Total Closed Tickets | 1863   | 7985      | 0       | 0        | etc... |

对于模糊的问题感到抱歉,但这是我第一次使用SSRS并且运行查询不是我最强的区域。在矩阵报告中实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

最好的方法是使用Union并在SSRS之前格式化数据,但如果您无法控制数据,那么只有这样才能实现此目的是使用{ {1}}。 Here是关于此的更多信息。

根据您的要求,表达式可以如下使用,(未经测试,可能需要根据您的需要进行更改)

LookUp

但是有 =Lookup(Fields!INCIDENT_OPEN_DATE .Value, Fields!INCIDENT_OPEN_DATE .Value, RowCount("MY_COLUMN_GROUP_NAME"), "CLOSED_TICKET") 支持LookUp支持SSRS 2008 r2以上服务器而不是之前的服务器。因为我在报告中尝试做同样的事情,但我的服务器是2008,所以Lookup不支持我。如果您的服务器早于SSRS 2008 r2那么请告诉我,因为还有另一种技巧可以代替LookUp。但这很复杂所以如果你需要我可以在这里发布。请告诉我。

答案 1 :(得分:0)

这不是一个完整的答案。 (不幸的是,没有足够的细节)。 但是建议UNION第二个查询(总关闭票证)与您的第一个(总开放票证,并将结果放在同一个数据集中。

这样的事情

Select 'Total open tickets',1,2,3...etc
from Table
Where...
Union
Select 'total closed tickets',1,2,3... etc (the same qty of columns)
from table
where....

我希望这有助于朝着正确的方向发展。

罗杰