将数据集计数存储为报告中的变量以在其他表中使用 - SSRS

时间:2014-02-05 23:28:01

标签: sql sql-server-2008 reporting-services

我们对SSRS报告有2个查询。

一个查询返回一个总记录数的数字。 另一个查询返回一个我们想要除以第一个查询中返回的总数的列。

所以

查询1 DATASET(这将始终返回单个值)

TOTAL  
100

查询2 DATASET(这将返回我们想要除以q1答案的值列表)

COL A
1
20
3
49

我们希望在报告中显示

RATIO (A/Total)
1/100
20/100
3/100
49/100

未显示如何在单个ssrs Tablix中结合这两个数据集。 100不是表2中表中任何值的集合,它是一个完全不同的数字,因此我不知道如何编写查询以在单个数据集中显示这些值。

想法?

感谢,.

MC

2 个答案:

答案 0 :(得分:1)

如果您不想合并数据集,可以执行以下操作以获得最终结果。

对于返回单个值的数据集,您可以创建一个隐藏的报表参数(@MyParam),并由数据集Query1填充。您的Query2数据集可以保持原样。然后,您可以使用以下表达式填充报表中的文本框

=CString(Fields!ColA.value) &"/"& CString(Parameters!MyParam.value) 

如果将其放入列表或表格中,它将遍历ColA中的每个值并生成所需的结果。

答案 1 :(得分:0)

为什么不做一个数据集?呃......我猜你想看到49/100而不是.49这个答案

select q2.A + '/' + q1.value as 'output'
from query2 q2, query1 q1

这是一个交叉连接,并将q1值应用于所有q2(因为q1只是一个值,这将起作用)... query1和query 2可以替换为你想要拥有的任何查询...你'如果你想要一个更完整的答案,我需要为q1和q2提供SQL