Вычтите значения строк в одном столбце, взяв значение первой строки в качестве базового значения для выполнения задачи в построителе отчетов sql ssrs - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь вычесть значения строк из столбца в построителе отчетов SSRS, чтобы вычислить суммарный почасовой час выполнения в день, в котором значение первой строки будет равно количеству часов жизни до вчерашнего дня.Может ли кто-нибудь, пожалуйста, помогите мне, как действовать.Пожалуйста, обратитесь к изображению для требуемого формата отчета.

DATE  TIME          RUNHR COLUMN A(RUN HR in MINUTES)                   ROW NO
12/12/2018 00:00AM  100    100(TOTAL RUN HR TILL YEST MID-NIGHT11:45PM)   1
12/12/2018 00:30AM  101    1  (I HAVE TO START SUBTRACTING FROM HERE)     2 
12/12/2018 01:00AM  105    5                                              3

---------------------------------------------------------------------------

12/12/2018 11:00PM  130    30                                             47
12/12/2018 11:30PM  135    35                                             48

Я хочу отобразить значение, как показано в столбце A, где первая строка в столбце A показывает общее значение RUNHR за вчерашний день и последующие строки (от 2 до 48).) показывает совокупное (к тому времени) значение RUNHR только для этого дня (т. е. начиная со значения в первой строке).

1 Ответ

0 голосов
/ 04 марта 2019

Учитывая, что RUNHR является кумулятивным, вы можете сделать это, присоединившись к минимальному значению RUNHR за этот период (при условии, что ваш набор данных основан на Sql):

SELECT PumpId, PumpName, SampleTime, RUNHR, StartingValue, (RUNHR - StartingValue) AS COLUMNA
FROM PumpDataTable A
INNER JOIN
  (SELECT PumpId, MIN(RUNHR) AS StartingValue 
  FROM PumpDataTable 
  WHERE SampleTime >= @StartTIme AND SampleTime <= @EndTime GROUP BY PumpId) B ON A.PumpId = B.PumpId
WHERE PumpId = @PumpId 
  AND SampleTime >= @StartTIme AND SampleTime <= @EndTime 
ORDER BY SampleTime
...