CRM 2011,显示用户列表的 SSRS 报告,列中包含团队

CRM 2011, SSRS Report showing user list, with teams in columns

Rookie T-SQL 和使用 CRM 2011 的 SSRS 用户。我非常相信有一种相对简单的方法可以完成我正在寻找的事情,但我还没有找到合适的术语搜索并找到解决方案。

我想要 运行 一个使用 SSRS 的用户列表,该列表将显示他们的团队成员资格,但每个团队都有一个专门的列来放置 "O" 或 "X,"例如。

我的 CRM 中只使用了大约 12 个团队,因此为他们设置列不会使报告在横向上太大。这基本上是我现在 运行 的方式:

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 中执行分组和其他内容,使它看起来至少好一点,但它看起来基本上是这样的: Team Memberships as separate rows

理想情况下,它会看起来多一点 like this:

                         <--------------------- (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     |
    +--------------------+--------+--------+--------+----------------+-----------+

User Summary out-of-the-box report does something similar, but with Security Roles. I was hoping to reverse engineer that one a bit, but there's a Microsoft assembly referring to an RdlHelper in some of the expressions... and at that point I'm quite out of my element.

你的 select 语句很好,将你的报表设计设置为矩阵,在行组中你需要 Name,在列组中你需要 Team,在聚合字段中你需要表达式: IIF(计数(字段!Name.Value)> 0,0,"")

见附件示例: