具有矩阵的ssrs中动态列中特定行的非空白单元格计数

时间:2013-08-02 06:29:10

标签: sql sql-server ssrs-2008

我有像这样的SQL查询

SELECT sam.AREATOPICID, 
       sec.SURVEYSECTION, 
       us.USERSURVEYID, 
       us.SURVEYAREATOPICID, 
       us.USERID, 
       usr.SURVEYUSERNAME, 
       us.COMMENT 
FROM   USERSURVEY us 
       INNER JOIN USERS usr 
               ON us.USERID = usr.USERID 
       INNER JOIN SURVEYAREATOPICMAPDEMO sam 
               ON sam.AREATOPICID = us.SURVEYAREATOPICID 
       INNER JOIN SECTION sec 
               ON sam.SURVEYSECTIONID = sec.SURVEYSECTIONID 
ORDER  BY us.USERID, 
          sam.AREATOPICID, 
          SURVEYSECTION 

现在,在SSRS中我想显示这样的报告

enter image description here 现在评论,我想在一个特定的行中有多少用户对它发表评论。该字段只需显示非空白和特定行(即问题)的注释计数。

我已经为user1,user2 ..,列类型做了,但我无法计算评论。

1 个答案:

答案 0 :(得分:0)

创建矩阵时,其中有行(您的问题),列(您的用户)和数据单元格(sum(COMMENT))。右键单击它,您应该获得Add Total菜单项。用它来添加列总数。然后,您可以将该列定位到表格中的适当位置。

修改

对于计数记录,您使用COUNT(),例如COUNT(Fields!Comment.Value)

对于非空/空值的计数,请使用:

SUM(IIF(IsNothing(Fields!Comment.Value) OR (Fields!Comment.Value = ""),0,1))