Reporting services SSRS文本框内的Select语句

Reporting services SSRS文本框内的Select语句,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我试图给SSRS中的文本框赋值,但遇到了一些麻烦 我的数据集dsStepInfo根据ID对多行进行分组和求和,查询如下 SELECT ID, SUM(Target) AS Target, SUM(Actual) AS Actual FROM tblStepComplete WHERE (CompleteID = @ParamID) GROUP BY ID 并返回: ID Target Actual -----------

我试图给SSRS中的文本框赋值,但遇到了一些麻烦

我的数据集dsStepInfo根据ID对多行进行分组和求和,查询如下

SELECT       ID, SUM(Target) AS Target, SUM(Actual) AS Actual
FROM         tblStepComplete
WHERE        (CompleteID = @ParamID)
GROUP BY     ID
并返回:

   ID      Target     Actual
-------------------------------
|  10   |  44418   |  44418   |
-------------------------------
|  12   |  13193   |  13123   |
-------------------------------
|  22   |  1411    |  1411    |
-------------------------------
|  50   |  160     |  80      |
-------------------------------
|  52   |  68      |  34      |
-------------------------------
|  101  |  12120   |  12119   |
-------------------------------
|  105  |  875     |  868     |
-------------------------------
|  140  |  40      |  40      |
-------------------------------
|  560  |  2985    |  3418    |
-------------------------------
我想将图片中网格中的单元格分配给某个ID。例如,储罐110的单元格始终是ID=50的目标,实际ID=50。返回的许多ID不会在表中填充,只会在表中显示10个。有没有办法在文本框中执行SELECT或等效的表达式,以从数据集中获取这些特定值?

您可以使用该函数

这将获取ID 50并输出其目标:

=Lookup(50, Fields!ID.Value, Fields!Target.Value, "DSStepInfo")

我想如果是我,我会用一个案例陈述,比如

SELECT 
Case [ID]
    WHEN 10 Then 'Tank 50'
    WHEN 12 Then 'Tank 120'
    When 22 Then 'Tank 130'
    WHEN 50 Then 'Tank 140'
    When 52 Then 'Tank 150'
End As TankNo
,SUM([Target]) As Target
,SUM([Actual]) As Actual
FROM         tblStepComplete
WHERE        (CompleteID = @ParamID)
Group By [ID]
然后使用显示的值生成报告。最好是一个附加的表,该表将油箱名称链接到您正在提取的ID,但是如果您没有该表,那么Case语句就相当容易维护