我最近获得了一个模仿我组织的计时系统的任务,然后复制我们每周获得的时间表报告。
我设计了一个带有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创建新的数据集吗?如果我这样做,如何在原始数据集中为其各自的组使用这些可能的值?有没有办法在这个数据集中制作查询,以确保我从这两个表中获得所有可能的值?
感谢您的帮助,您可以给我!