Select SSRS 文本框内的语句

Select statement inside SSRS textbox

我正在尝试为 SSRS 中的文本框赋值,但 运行 遇到了一些麻烦。

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

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

和returns:

   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 不会填充到 table 中,只是显示在此 table 中的 10 个。有什么方法可以在文本框中执行 SELECT 或等效表达式作为从数据集中获取这些特定值的表达式?

您可以使用Lookup功能。

这应该获得 ID #50 并输出其目标:

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

我想如果是我,我会使用 Case 语句,比如

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]

然后使用提供的值构建您的报告。更好的做法是添加一个 table,将 Tank 名称链接到您提取的 ID,但如果您没有,则 Case 语句很容易维护。