отчетные услуги разворачиваются на графике - PullRequest
0 голосов
/ 21 июня 2011

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

create table #data (id INT,[type] NVARCHAR(30), error1 INT, error2 INT, error3 INT, error4 INT,error5 INT)

INSERT INTO #data values (1,'a',1,0,1,0,1)
INSERT INTO #data values (2,'a',0,0,1,1,0)
INSERT INTO #data values (3,'b',1,1,0,0,0)
INSERT INTO #data values (4,'c',1,1,1,1,1)
INSERT INTO #data values (5,'b',0,0,1,0,1)
INSERT INTO #data values (6,'a',0,0,0,0,1)

И это показывает для каждого идентификатора и введите количество ошибок (на самом деле это 18 столбцов типа ошибок и около 40000 строк данных).

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

В своем нынешнем виде я могу создать горизонтальную столбчатую диаграмму с накоплением, которая показывает для каждого типа количество ошибок - т.е.:

A | error1 sum | error2 sum | error3 sum | error4 sum | error5 sum     
B | error1 sum | error2 sum | error3 sum | error4 sum | error5 sum     
C | error1 sum | error2 sum | error3 sum | error4 sum | error5 sum 

Но я хотел бы получить:

Error1 |  Sum of A  |  Sum of B  |  Sum of C    
Error2 |  Sum of A  |  Sum of B  |  Sum of C    
Error3 |  Sum of A  |  Sum of B  |  Sum of C    
Error4 |  Sum of A  |  Sum of B  |  Sum of C    
Error5 |  Sum of A  |  Sum of B  |  Sum of C

А потом, в идеале, иметь возможность сортировать по сумме А + В + С (по убыванию)?

Надеюсь, это имеет смысл - новичок в службах отчетности, поэтому не уверен, каким будет наилучший подход к этому - я мог бы перезапустить свои данные для вывода в другом формате, если это поможет!

Спасибо:)

1 Ответ

1 голос
/ 22 июня 2011

Сначала создайте представление, чтобы ваши данные выглядели более плоскими (как в таблице)

Например

SELECT type, 'error1' As errorname, error1 AS error
FROM data

UNION ALL

SELECT type, 'error2', error2
FROM data

UNION ALL

....

Затем сделайте запрос, который выбирает из представления

SELECT type,errorname, SUM(error) AS error
FROM data
GROUP BY type,errorname

Вы можете использовать матрицу служб отчетов для отображения данных и составления диаграмм с любой комбинацией, которая вам нужна

...