基于条件的asp .net报表查看器中的SUM

时间:2013-11-02 01:28:10

标签: asp.net sql ssrs-2008 report reporting

我有table =>

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

现在,数据库和报告查看器 完全 显示上述模式。 对于SPK = 0的每个PK,我想在第一行中使用SUM的D1。 要在报表查看器中显示D1字段,我尝试了这个

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

但我错了。在报表查看器中,我在上面显示的表中也是相同的。 我想要第一行中每个PK的SPK为0的所有值的总和。但是我没有得到第一行作为总数SPK = 0。 此外,D1始终为0,其中SPK = 0,来自数据库的行,我想显示SUM。

如果在第一行中获得D1的SUM而不是在SPK = 0时获得0的任何方法?

1 个答案:

答案 0 :(得分:2)

您可以在查询中获得d1的总和,然后在报告中使用

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