Службы отчетов с несколькими группами
Я новичок в предоставлении отчетов. У меня есть 2 таблицы:
- "автомобили" с колонками id, cartype, вместимость
- "значения" с идентификатором столбца, carid, год, val1, val2
Записи для этих таблиц:
Cars:
id cartype capacity
1 Passat 2200
2 BMW 2800
Values:
id carid year val1 val2
1 1 2012 100 1
2 1 2011 200 2
3 1 2010 300 3
4 2 2012 400 4
5 2 2011 500 5
Я хочу сделать отчет, который показывает это:
Car Type Capacity
Passat 2200
2012 2011 2010
val1 100 200 300
val2 1 2 3
Car Type Capacity
BMV 2800
2012 2011
val1 400 500
val2 4 5
Я сделал источник данных с этим выбором:
SELECT m.Id AS carid, m.cartype, m.capacity, v.Id AS idval, v.An, v.val1, v.val2
FROM car AS m INNER JOIN values AS v ON m.Id = v.carid
Я пытался использовать матрицу, но мне не удалось создать этот формат. Может ли кто-нибудь помочь мне получить этот отчет?
1 ответ
Ваш набор данных подходит для этого отчета.
Вам необходимо создать список на основе группы автомобилей, в этот список добавить два текстовых поля для сведений об автомобиле и матрицу для val1, val2 и т. Д.
Список позволяет гибко размещать и перемещать элементы по мере необходимости, а размещение матрицы в группе " Машины " означает, что в нее будут включены только значения для каждого автомобиля. Список (и, следовательно, информация об автомобиле и матрица значений) будет повторяться для каждого автомобиля по мере необходимости.
Добавлено после комментария:
Невозможно сказать, что стало причиной вашей ошибки; это действительно конкретная деталь реализации. Чтобы привести пример того, как это можно сделать, я подготовил отчет. Первый шаг - создание группы автомобилей:
Вы можете видеть, что есть одна группа с одним текстовым полем. В текстовом поле есть прямоугольник (списки в SSRS - это просто таблицы со вставленными прямоугольниками). Автомобиль и Емкость - это просто текстовые поля. В этом примере я использовал две матрицы, но это можно сделать любым количеством способов. Val1:
Val2:
Конечный результат:
Таким образом, вы можете видеть, что это очень возможно, вам просто нужно понять требуемую группировку и как построить матрицу. К сожалению, невозможно сказать, что вызвало эту ошибку, но, надеюсь, это даст вам кое-что, к чему можно стремиться