2017-01-30 6 views
-1

У меня есть таблица и отчет, который мне нужно создать, и я не уверен, как обернуть голову, как заставить его отображать в правильном порядке каждый месяц для вывода.Динамический стол/вывод каждый месяц для отчета

Используя SQL Server 2012 и SSRS 2016 в качестве вывода, мне нужно создать скользящий отчет, отображающий последние 12 месяцев с соответствующими значениями. Каждый месяц предыдущий 12-й месяц уходит.

Какой лучший дизайн стола подходит к чему-то подобному, и как вы контролируете выход, чтобы отказаться от предыдущего 12-го месяца и держать его в движении?

Образец нужного результата будет выглядеть как внизу, но в следующем месяце мне нужно сбросить Dec - 15 и добавить Jan - 16, но отсортировать столбцы в порядке убывания, чтобы предыдущий месяц всегда был в прошлом месяце в отчете.

-- Desc  | DEC - 15 | Jan - 16 | Feb - 16 | restofmonths| Nov 16 | Dec 16| 
******************************************************************************** 
-- Loss  | 1,000 | 2500 | 1700  | 123   | 4565 | 3433 | 
-- Expense | 2,000 | 3200 | 900  | 456   | 1223 | 4445 | 
-- Reserve | 3,000 | 3300 | 400  | 789   | 4747 | 4444 | 

ответ

0

Вам необходимо использовать матрицу.

В вашем наборе данных добавьте 2 столбца (если они еще не присутствуют). Первый - это заголовок столбца, а второй - порядок сортировки столбцов. Что-то вроде этого

[Header] = LEFT(DATENAME(MONTH, DateValue), 3) + ' - ' + RIGHT(YearNum, 2) 
, [HeaderSort] = CONVERT(VARCHAR, YEAR(DateValue)) + RIGHT('0' + CONVERT(VARCHAR, DATEPART(MONTH, DateValue)), 2) 

Установите группу столбцов матрицы для вашего значения заголовка и задать порядок сортировки для вашего значения HeaderSort.

+0

Спасибо :) Я думаю, что это сработает –

Смежные вопросы