0

私はテーブルを持っています=>

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 の最初の行に D1 の SUM が必要です。レポートビューアにD1フィールドを表示するには、これを試しました

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

しかし、私はここで間違っています。レポート ビューアーでも、表示されているテーブルの上に同じ結果が表示されます。最初の行のすべての PK について、SPK が 0 であるすべての値の合計が必要です。しかし、SPK=0 の合計として最初の行を取得しません。また、SUM を表示したい行のデータベースから SPK=0 の場合、D1 は常に 0 です。

SPK=0 の 0 ではなく、最初の行で D1 の SUM を取得する方法はありますか?

4

1 に答える 1

2

クエリで d1 の合計を取得し、レポートで使用できます

SELECT PK, SPK, NAME, CASE WHEN SPK = 0 THEN SUM(D1) OVER(PARTITION BY PK) ELSE D1 END AS D1 MT 
于 2013-11-02T04:27:12.303 に答える