2015-12-21 4 views
0

Я пытаюсь назначить значения текстовым полям в SSRS, но я столкнулся с небольшими проблемами.Выбрать оператор в текстовом поле 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 | 
------------------------------- 

Report Grid

Я хочу, чтобы назначить ячейки в сетке в картине до определенного ID. Ячейка для резервуара 110 всегда была бы целевой ID = 50 и фактической ID = 50, например. Многие возвращенные идентификаторы не будут заполнены в таблице, а только 10, отображаемые в этой таблице. Есть ли способ выполнить SELECT или эквивалент в текстовом поле как выражение для получения этих конкретных значений из набора данных?

ответ

1

Вы можете использовать функцию Lookup.

Это должно получить ID # 50 и выход его Цель:

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

Я думаю, что если бы мне было, я бы просто использовать сазе, что-то вроде

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] 

, а затем построить ваш отчет, используя представленные значения. Лучше будет дополнительная таблица с именами Tank, связанными с идентификаторами, которые вы вытаскиваете, но если у вас этого нет, тогда утверждение Case довольно легко поддерживать.

Смежные вопросы