2013-03-15 63 views
0

我有一张如下图所示的表格。我有一个数据集,它返回这样的数据:根据数据集值填充单元格

Day  Hour Title 
----------------------- 
Monday 2  Title1 
Monday 4  Title2 
Friday 5  Title3 
     . 
     . 
     . 
     . 

我需要填充表取决于数据集中的值,即。第一行数据集将在第一列(星期一)与第二行(2。)相交的地方发生。

我该怎么做这个任务。

我使用SSRS 2008

enter image description here

回答

0

问题解决

首先,在数据库中,我分别创建了两个公共表表达式或CTE,天数和小时。然后,我在它们之间做了CROSS JOIN,从而形成一种关系。然后,我使用其余所需表格进行左连接,以便从CROSS JOIN获取每个组合的值(如果存在,当然)。

在报告中,我创建了与数据集相关的矩阵,该矩阵与之前创建的存储过程相关联。对于列组,我选择日期,对于行组,我选择小时,在相交处放置特定值。

真的很简单,但交叉连接两个CTE完成了很好的工作。