SQL ServerでSASコードを再設計しようとしています。 コードには、次の文を含むproc-sqlファイルがあります。SQL ServerのSAS max
sum(case when max(t1,t2) = 0 and transac='D' THEN sales else 0 end)/sum(sales)
私は以下のようにSQLに変換しようとしましたが、明らかに間違っています。 ここに誰かを憧れて、正しいアプローチを指摘することができます。
sum(case when (select max(Tval) from values(t1,t2) as TVal) = 0 AND transac = 'D' THEN sales else 0)/nullif(sum(sales),0)
も試してみました:
sum(case when (t1 > t2 AND t1 = 0 OR t2 > t1 AND t2 = 0) AND transac ='D' THEN SALES ELSE 0 END)/nullif(sum(sales),0)
しかし、このアプローチを使用したSAS結果を複製することができませんでした。
ご協力いただければ幸いです。
おかげで、 B T1とT2である列を想定し
で
置き換えていますか? – Simon
ありがとう@サイモンはい、t1とt2は列です – Bee
どこが違うかを示すためにデータを提供することはできますか? – LAS