このようなことを試してみてください...特定のデータのために交差するもので遊ぶ必要があるかもしれません。データなしでテストするのは難しいです。
case
when
sum([Pay in 2015]) over (intersect([CustomerID],[Amount],[Date of Payment])) >= 2
and
sum([Reimburse in 2016]) over (intersect([CustomerID],[Amount],[Date of Payment])) >= 2
then 2
else 0
end
EDIT
そこにあなたのデータを見た後、私は、各充電および償還のためのユニークな識別子せずにこれを行う方法が表示されません。たとえば、貼り付けたデータには4つの料金があります。 80の場合は2、-80の場合は2は、これらがオフセットすることを意味します。しかし、同じ自然と目的のために別の80があったらどうなるでしょうか?最後の1つを無視して、2つの料金に2つのクレジットを好きになるような表現はありません。一般的に言うと、本当にItemIDや、一意の識別子を指定して料金を返す必要があります。さもなければ、誰かが80ドルまたは150ドルの口座に振り込むことができ、どのような特定の商品(どの旅行券など)を伝えるのかは分かりません。
お客様が今すぐ行うことができるのは、顧客全体を見て、請求された合計金額と比較して請求された合計金額を返しますが、各行を調整することは、ユニークチャージID /クーチャーIDなど
申し訳ありません。
あなたはウィンドウ関数を持っていないので、 'over'節は使用できません。達成しようとしていることを正確に説明できますか?いくつかの文脈は、私たちが質問を理解し、最終的にあなたを抱くのに役立ちます。 – Mureinik
@Mureinik:レスポンスありがとうございます。私が達成しようとしていることを説明するための図を添付しました。私が達成しようとしているのは、[2015年に支払う]に「1」、[2016年に払い戻し]に「1」があり、[顧客ID]が同じままで新しい列に「2」と表示された場合です"0"助けてくれてありがとう –
これは助けになるが、まだ分かっていない。出力をどのように見たいのですか?このクエリーに別の列を追加するか、または何かを集計するだけですか? – Mureinik