Я работаю над отчетом, который позволит пользователю просмотреть текущие итоги.Как построить скользящий вперед отчет SSRS
Это a матрица. Я включил образец того, как выглядят данные.
Отчет должен начинать текущую сумму с октября с суммой в 42 доллара США. Затем отчет будет подсчитываться по счетам. Затем возьмите $ 42 + $ 64 = $ 106. 106 долларов США переносятся на декабрьский месяц с начала баланса на уровне 106 долларов США.
Пример отчета
2016-011 2016-012
Beginning Balance 42 106
AP 31 41
APAJ 32 42
CJ 33 43
GEN -32 -42
Total Account 64 84
Begin Bal + Total Acc 106 190
Пример данных
DECLARE @ClosingBalTemp TABLE
(
Account_ID varchar(30),
Period_Nbr varchar(10),
Source_Code varchar(10),
Closing_Balance_Amt numeric(16,2)
)
INSERT INTO @ClosingBalTemp (Account_ID, Period_Nbr, Source_Code, Closing_Balance_Amt)
VALUES ('01-002-333', '2016-008', 'AP', 1),
('01-002-333', '2016-008', 'APAJ', 2),
('01-002-333', '2016-008', 'CJ', 3),
('01-002-333', '2016-008', 'GEN', -2),
('01-002-333', '2016-009', 'AP', 11),
('01-002-333', '2016-009', 'APAJ', 12),
('01-002-333', '2016-009', 'CJ', 13),
('01-002-333', '2016-009', 'GEN', -12),
('01-002-333', '2016-010', 'AP', 20),
('01-002-333', '2016-010', 'APAJ', 21),
('01-002-333', '2016-010', 'CJ', 23),
('01-002-333', '2016-010', 'GEN', -22),
('01-002-333', '2016-011', 'AP', 31),
('01-002-333', '2016-011', 'APAJ', 32),
('01-002-333', '2016-011', 'CJ', 33),
('01-002-333', '2016-011', 'GEN', -32),
('01-002-333', '2016-012', 'AP', 41),
('01-002-333', '2016-012', 'APAJ', 42),
('01-002-333', '2016-012', 'CJ', 43),
('01-002-333', '2016-012', 'GEN', -42)
SELECT * FROM @ClosingBalTemp
The data should look like this
The logic is almost working. The Bal type is not calculating the running balance correctly after Period 9. The 4.00 is coming from Oct that does not display.
B BAL 2016 9 4.00
T AP 2016 9 11.00
T APAJ 2016 9 12.00
T CJ 2016 9 13.00
T GEN 2016 9 -12.00
B BAL 2016 10 24.00 **Should be 33**
T AP 2016 10 20.00
T APAJ 2016 10 21.00
T CJ 2016 10 23.00
T GEN 2016 10 -22.00
B BAL 2016 11 42.00 **Should be 75**
T AP 2016 11 31.00
T APAJ 2016 11 32.00
T CJ 2016 11 33.00
T GEN 2016 11 -32.00
B BAL 2016 12 64.00 **Should be 139**
T AP 2016 12 41.00
T APAJ 2016 12 42.00
T CJ 2016 12 43.00
T GEN 2016 12 -42.00
Привет Адам, Wow! Спасибо за вашу помощь. Это здорово ... У меня небольшая проблема. Если вы вводите 2016-009 за предыдущий период и 2016-008 за предыдущий предыдущий период и 2016-012 за текущий период, BAL не рассчитывается на 2016-010 или 2016-011. Он не рассчитывается для периодов, находящихся в пределах диапазона выбора. Отчет должен работать с любым диапазоном периода, который вводится. –
Во-первых, я прошу вас принять мой ответ. Благодарю. Затем в вашем вопросе не указывалось, как вы собираетесь делать выбор - сколько периодов, как на это нужно ответить, поэтому я предположил, что вы выбрали два месяца. Укажите, что вы представляете, варианты (и столбцы), и ответ должен быть довольно легко настроить –
Hi Adam, Извините за это. Да, я не объяснил, как будут выбраны данные. Данные выбираются в диапазоне дат 08/01/16 - 12/31/16. Я конвертирую 2 даты, чтобы получить начальный и конечный периоды. Тогда базой по количеству периодов будет заголовок столбца, кроме предыдущего предыдущего периода. Я получаю только начальный баланс с этого периода. После этого сумма каждого периода будет начальным балансом следующего периода. Это произойдет, пока не отобразится весь период. –