SSRS - получить предыдущее или первое поле вне выбранных данных

У меня есть таблица SQL, содержащая 4 столбца

1) ID 2) EquipmentID 3) Дата 4) Часы напр. 10000

У меня есть отчет SSRS, в котором отображается содержимое этой таблицы

Параметр от и до даты используется для выбора диапазона дат для записей.

Таблица сгруппирована по оборудованию

В группе оборудования я добавил строку ниже со следующим выражением в столбце часов

Последний (Fields! Hours.Value) - Первый (Fields! Hours.Value) = «Общее фактическое количество часов», например 10000 - 9500 = 500

Это не возвращает правильное «Общее фактическое количество часов».

Выражение неверное

На самом деле это должно быть ...

Last (Fields! Hours.Value) - PREVIOUS (First (Fields! Hours.Value)) = «Общее фактическое количество часов», например 10000 - 9450 = 550

Моя проблема в том, как я могу получить ПРЕДЫДУЩИЙ (Первый (Поля! Часы.Значение)?

Выбирая диапазон дат параметра, я не получаю PREVIOUS (First (Fields! Hours.Value)

Спасибо!


person Adam    schedule 15.10.2012    source источник


Ответы (2)


Чтобы получить ожидаемый результат для выражения вашего отчета, то есть Last (Fields! Hours.Value) - First (Fields! Hours.Value), в вашем T-Sql / должно быть реализовано соответствующее предложение Order BY FieldName. SP.

person Aftab Ansari    schedule 15.10.2012

Спасибо за подсказку Афтаб

SQL уже упорядочен по дате

Возможно, пример таблицы поможет вам лучше понять, зачем мне PREVIOUS (First (Fields! Hours.Value)


Дата: 2012-09-01 Часы = 9500 (это общее количество часов, записанных в конце дня и используется в качестве начальных часов на следующий день)

...

Дата: 30.09.2012 Часов = 10000


Поэтому, если я использую выражение ...

Последний (Fields! Hours.Value) - Первый (Fields! Hours.Value) = «Общее фактическое количество часов», например 10000 - 9500 = 500

Это возвращает 500 «Всего фактических часов» за период с 2012-09-02 по 2012-09-30.

Мне нужно ПРЕДЫДУЩЕЕ (первое (поля! Hours.Value), чтобы рассчитать правильное «Общее фактическое количество часов» с 01.09.2012 по 30.09.2012

person Adam    schedule 15.10.2012