使用 NULL 作为通配符的 SSRS Tablix 分组

SSRS Tablix Groupings with NULL as Wildcard

我的源查询生成如下内容:

| timestamp                | inUser | outUser | xferUser | taskID |
| 2018-03-01 17:00:00.000  | USER.A | NULL    | NULL     | 1234   |
| 2018-03-02 14:00:00.000  | NULL   | USER.A  | NULL     | 2345   |
| 2018-03-02 15:00:00.000  | USER.B | NULL    | NULL     | 2312   |
| 2018-03-03 12:00:00.000  | NULL   | USER.A  | NULL     | 9283   |
| 2018-03-04 13:00:00.000  | NULL   | NULL    | USER.C   | 1928   |
| 2018-03-04 13:59:00.000  | NULL   | USER.A  | USER.C   | 1883   |
| 2018-03-05 14:01:00.000  | NULL   | NULL    | USER.B   | 9910   |

我正在尝试制作摘要table 以显示每个用户的 [Count(inUser)]、[Count(outUser)] 和 [Count(xferUser)]:

| user   | inCount | outCount | xferCount |
| USER.A | 1       | 3        | 0         |
| USER.B | 1       | 0        | 1         |
| USER.C | 0       | 0        | 2         |

我可以通过 inUser、outUser 和 xferUser 的列分组非常接近这一点。但是我 运行 将 NULL 值组合在一起的问题。

我也可以通过多个矩阵来做到这一点,每列一个,但我宁愿尝试将它们组合起来,因为它为每个用户提供了更好的可视化效果。

如果您可以编辑数据源,我建议按如下方式格式化输出...(我省略了时间戳值以节省输入时间!)

taskID  State       UserID   TimeStamp
1234    'inUser'    'USER.A' 
2312    'inUser'    'USER.B.'
1883    'outUser'   'USER.A' 
1883    'xferUser'  'USER.C'
etc...

然后您可以构建一个简单的矩阵,其中行按 UserID 分组,列按 State 分组。数据单元格只是一个计数,您就完成了。