Расчет по месячной разнице - SSIS - PullRequest
0 голосов
/ 17 мая 2018

Мне нужно сделать расчет, в котором я получаю значение суммы из столбца «A» и делю его на значение суммы из столбца «B», равное разнице в 1 месяц от значений.

Пример:

Date            A                B            
2015-02-31     796.92           885.47        
2015-02-31     932.2900         932.29        
2015-02-31     803.29           1147.56       
2015-02-31     839.1800         839.18        
2015-02-31     139.20           143.50        
2015-02-31     299.64           308.91        
2015-02-31     125.47           129.35        
2015-02-31      117.98         393.27         
2015-02-31     0.00             747.68        
2015-01-31     735.29           758.03        
2015-01-31     0.00             683.24        
2015-01-31     0.00             734.25        
2015-01-31     323.64           333.65        
2015-01-31     442.36           456.04        
2015-03-31    52.84             54.47          
2015-03-31     0.00             549.96        
2015-03-31     462.24           476.54      

Так что мне нужно использовать значения в B, разделенные на значения A, которые были на месяц раньше ...

                  A                B
2015-02-31     442.36           456.04        
2015-03-31    52.84             54.47   

В этом случае выше будет 54,47 / 442,36.

Итак, мне нужно сделать это с таблицей в SQL, чтобы представить результаты на информационной панели.

Может кто-нибудь помочь мне с этим?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Требуется lag() функция:

select date, a, b,
       b / coalesce(lag(a) over (order by date), 0) as Result
from(select date, sum(A) as a, sum(B) as b
     from table 
     group by date
    ) t; 

Однако предполагается, что в столбце date нет ни одного дня в одном месяце , как указано в o / p , если это так,затем используйте функцию datepart() или month() и соответственно настройте subquery.

0 голосов
/ 17 мая 2018

можно попробовать с помощью оконных функций на сервере sql https://www.sqlshack.com/use-window-functions-sql-server/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...