CRM 2011, отчет SSRS с отображением списка пользователей с командами в столбцах - PullRequest
3 голосов
/ 08 марта 2019

Новичок T-SQL и SSRS пользователь здесь с CRM 2011. Я совершенно уверен, что есть относительно простой способ сделать то, что я ищу, но я не совсем нашел правильные термины для поиска и поиска решение.

Я хочу запустить список пользователей, использующих SSRS, который покажет членство в их группах, но для каждой команды есть выделенный столбец, например, для обозначения «O» или «X».

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

SELECT
     u.Fullname   AS 'Name',
     t.Name       AS 'Team'
FROM TeamMembership tm

INNER JOIN SystemUser u
ON tm.SystemUserID = u.SystemUserId

INNER JOIN Team t
ON tm.TeamId = t.TeamId

... а затем я выполняю группировку и прочее в Visual Studio, чтобы она выглядела, по крайней мере, немного лучше, но в основном она выглядит так: Членство в команде в виде отдельных строк

В идеале это бы выглядело немного более вот так :

                         <--------------------- (Teams) ------------------------->
    +--------------------+--------+--------+--------+----------------+-----------+
    | Name               |Student |Teacher |Potions |Transfiguration |Divination |
    |--------------------+--------+--------+--------+----------------+-----------+
    | Harry Potter       |   O    |        |   O    |       O        |     O     |
    | Ron Weasley        |   O    |        |   O    |       O        |     O     |
    | Hermione Granger   |   O    |        |   O    |       O        |           |
    | Minerva McGonagall |        |   O    |        |       O        |           |
    | Severus Snape      |        |   O    |   O    |                |           |
    | Sybill Trelawney   |        |   O    |        |                |     O     |
    +--------------------+--------+--------+--------+----------------+-----------+

В готовом отчете Сводка пользователя выполняется нечто подобное, но с ролями безопасности. Я надеялся немного перепроектировать это, но есть сборка Microsoft, ссылающаяся на RdlHelper в некоторых выражениях ... и в этот момент Я совершенно не в себе .

1 Ответ

1 голос
/ 08 марта 2019

С вашим оператором select все в порядке, изложите свой дизайн отчета в виде матрицы, в группах строк вам нужно имя, в группах столбцов вам нужна команда, в агрегированном поле вам нужно выражение: IIF (Count (Fields! Name.Value)> 0,0, "")

См. Прилагаемый пример:

enter image description here

...