当组值未出现在数据集中时显示它们

时间:2014-02-21 16:29:48

标签: sql reporting-services dataset grouping

我最近获得了一个模仿我组织的计时系统的任务,然后复制我们每周获得的时间表报告。

我设计了一个带有TimeEntry表的数据库。它包含小时数列,以及与用户表和条目类型表的FK关系。

在Entry Type表中,有3位列。使用这些,我可以确定我创建的报告的条目类别。这是我在SqlServer数据工具中用于数据集的查询:

SELECT u.Name AS UserName, 
       et.EntryDescription, 
       p.Name as ProjectName, 
       a.Desciption, 
       d.Date, 
       e.[Hours] 
  FROM [Entry] as e
       JOIN [Day] AS d
            ON d.DayID = e.DayID
       JOIN [User] AS u
            ON u.UserID = d.UserID
       JOIN Project AS p
            ON p.ProjectID = e.ProjectID
       JOIN EntryType AS et
            ON et.EntryTypeID = e.EntryTypeIDs
       JOIN Activity as A
            ON a.ActivityID = e.ActivityID

在SSRS中,向导的矩阵可以对此进行排序。有一个基于UserName的RowGroup,以及一个基于Entry Description的ColumnGroup。

这是我的问题:对于这两个组,如果没有条目,则此查询显然无法将它们添加到矩阵中。例如,未在系统中记录本周时间的员工不会显示为零小时的用户,而是根本不显示。同样,如果没有为特定的EntryType输入时间条目,则它不会显示为列。

我对SSRS(很明显)很新,并且想弄清楚如何确保组中所有可能的元素都出现在矩阵中。我应该为用户和EntryType创建新的数据集吗?如果我这样做,如何在原始数据集中为其各自的组使用这些可能的值?有没有办法在这个数据集中制作查询​​,以确保我从这两个表中获得所有可能的值?

感谢您的帮助,您可以给我!

0 个答案:

没有答案