Access でクロス集計/ピボット テーブルを作成する次の機能するクエリがあります。
TRANSFORM Sum(y.TNAV) AS TNAV
SELECT y.RecDate
FROM BNYDaily AS y
WHERE (((y.AccName) In ("A","B")) AND y.RecDate >= DateValue("1/1/2013"))
GROUP BY y.RecDate
PIVOT y.AccName; )
問題は、クエリがNULL
計算を台無しにするフィールドを含む結果を返すことです。このクロス集計テーブルで、いずれかの列に値を持つ行を除外したいNULL
:
RecDate A B
....
1/25/2013 1,469,004,032.00 968.63
1/26/2013 1,466,082,304.00
1/28/2013 973.91
1/29/2013 1,471,277,440.00 971.66
...
上記のクエリをサブクエリとして使用する次のクエリを試してみましたが、うまくいきませんでした。
SELECT * FROM
(
TRANSFORM Sum(y.TNAV) AS TNAV
SELECT y.RecDate
FROM BNYDaily AS y
WHERE (((y.AccName) In ("A","B")) AND y.RecDate >= DateValue("1/1/2013"))
GROUP BY y.RecDate
PIVOT y.AccName;
) AS t
WHERE t.A IS NOT NULL AND t.B is NOT NULL
奇妙なことに Access では実行されず、エラーが返されます。クロス集計クエリから保存されたクエリ テーブルとしてクエリを実行すると、機能します。何か案は?