Группировка столбцов и строк в службах SQL Server Reporting Services 2008 - PullRequest
4 голосов
/ 12 сентября 2010

alt text

Это желаемый результат, который мне нужно заполнить в виде отчета, где xx - это количество людей.

У меня есть таблица с полями, такими как:

----------
table1
----------
id
state
year(as Quarter)
gender

Мне нужно определить количество по идентификатору и заполнить отчет.Год похож на 20081, 20082..20084 (в квартале).

Я создал набор данных, используя этот запрос:

SELECT STATE,GENDER,YEAR,COUNT(*)
FROM TABLE 1
GROUP BY STATE,GENDER,YEAR

Из этого запроса я мог бы заполнить результат

ex: ca, m , 20081,3
    ny, f , 20091,4

Из приведенного выше запроса я мог бы заполнить счетчик и использовать группирование по состоянию (строка) (в ssrs).

Мне нужно сгруппировать по (столбец).По полу, который я получаю, и по году.

  1. Как мне взять пол столбца и сделать так, чтобы он содержал столбец Мужской и Женский?
  2. Нужно ли создавать несколько наборов данных?например, передать

    , где пол = 'M' или пол = 'F'

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

  3. Должен ли я заполнять результат отдельно, например, создание нескольких наборов данных для Male 2008, Female 2009 или есть какой-либо способМожно ли группировать по одному набору данных с использованием таблицы и столбцов матрицы SSRS?

  4. Должен ли я решить эту проблему на уровне моего запроса или в SSRS есть какие-либо функции, которые могли бы решить эту проблему?

Любая помощь будет оценена.

1 Ответ

5 голосов
/ 13 сентября 2010

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

select state, gender, left(year,4) as [Year], count(ID) as N
from table1
group by state, gender, left([year],4)

Тогда у вас есть классический случай для матрицы.Создайте новый отчет с помощью мастера отчетов, выберите «Матрица», затем перетащите поля через:

Строки: Состояние

Столбцы: Год, Пол

Сведения: N

Это должно дать вам необходимую Матрицу.Затем замените выражение текстового поля на «Пол» от

=Fields!gender.Value

до

=IIF(Fields!gender.Value="M", "Male", "Female")

Удачи.

...