2013-11-02 36 views
0

我有表=>SUM在ASP .NET报告查看器根据条件

Main Table : MT 
================ 
PK SPK Name D1 
============== 
1, 0, XYZ, 0 
1, 1, A, 99 
1, 2, B, 88 
1, 3, C, 77 
2, 0, NULL, 0 
2, 1, NULL, 99 
2, 2, Z, 88 

现在,数据库和报告观看者恰好示出上面的图案。 我想在每个PK的第一行D1的SUM在SPK = 0。 在报告查看器中显示D1领域我想这

=IIF(Fields!SPK.Value=0,SUM(Fields!D1.Value),Fields!D1.Value) 

但我错在这里。在报表查看器中,我也得到了上面显示的表格。 我想要第一行中每个PK的SPK为0的所有值的总和。但是我没有把第一行作为Total,其中SPK = 0。 另外,D1总是0,其中SPK = 0从数据库中我想要显示SUM的行。

任何方式获得在第一行的D1的SUM而不是0其中SPK = 0?

回答

2

你可以在查询D1的总和,然后将其在报表中使用

SELECT PK, SPK, NAME, CASE WHEN SPK = 0 THEN SUM(D1) OVER(PARTITION BY PK) ELSE D1 END AS D1 MT