Расчет задолженности по платежам из таблицы, где платежи и счета находятся в тех же полях.Должен быть в т-sql / sql - PullRequest
0 голосов
/ 09 мая 2019

У меня есть структура таблицы, как показано ниже:

Account Number | Transaction Type   | Transaction Date   | Bill Due Date  | Transaction Number | Transaction Amount
---------------|--------------------|--------------------|----------------|--------------------|-------------------
1              | B                  |  7/03/2019         | 7/04/2019      | 1                  | $82.68 
1              | P                  |  12/03/2019        | 30/12/3999     | 2                  | $819.31 
1              | B                  |  22/02/2019        | 25/03/2019     | 3                  | $919.46 
2              | B                  |  3/04/2019         | 4/05/2019      | 1                  | $134.21 
2              | P                  |  8/04/2019         | 30/12/3999     | 2                  | $361.10 
2              | P                  |  13/04/2019        | 30/12/3999     | 3                  | $885.79 
3              | B                  |  6/03/2019         | 6/04/2019      | 1                  | $228.73 
3              | P                  |  11/03/2019        | 30/12/3999     | 2                  | $939.31 
3              | B                  |  31/03/2019        | 1/05/2019      | 3                  | $630.37 
4              | B                  |  20/04/2019        | 21/05/2019     | 1                  | $915.31 
4              | P                  |  25/04/2019        | 30/12/3999     | 2                  | $538.94 
4              | B                  |  2/04/2019         | 3/05/2019      | 3                  | $85.28 

Мне нужно рассчитать задолженность по каждому счету, а затем состарить его, т.е. посчитайте, сколько лет этой задолженности. Я тогда ведро это по возрасту (0-30,31-60,60-90,90 +). Если платеж сделан, это процесс «первым пришел - первым обслужен» (самые старые долги выплачиваются первыми). Когда платеж сделан, срок оплаты счета 3999-12-31

Я построил это с помощью SAS, так как разработал автомобиль с кредитным рейтингом, но теперь мне нужно реализовать его в SQL Server 2017. Я бы использовал Retain Etc из SAS, но пока не нашел функции в t-sql, которая может этот.

Это вообще возможно?

Я использовал скользящие суммы (-bill (B), + Pay (P)), но я борюсь со старением задолженности и ведением их.

Я также должен посмотреть на снимки и затем рассчитать мои переменные моделирования по ним (для этого я использую аналитические оконные функции).

Я также пробовал оконные функции со старением, но я просто не могу воспроизвести выходные данные из сценария SAS, который я разработал.

Любая помощь будет принята с благодарностью.

Таблица индексируется по номеру счета и транс. Имеет около 2 миллионов уникальных номеров счетов и 500 миллионов транзакций

Вывод будет выглядеть следующим образом:

enter image description here

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