私はSAP HANA
にこのtable
EFFがありますSAPのHANA - SQLスクリプト内の範囲によって集計日数
OBJECT;PN;MANUFACTURER;MONTH;QTY
OBJ1;PN1;MAN1;201601;1
OBJ1;PN1;MAN1;201602;1
OBJ1;PN1;MAN1;201603;2
OBJ1;PN1;MAN1;201604;1
OBJ1;PN1;MAN1;201605;1
OBJ1;PN1;MAN1;201606;1
私は日付順に並べ替えられOBJECT/PN/MANUF/QTY
によってtable
が、のSQL statement
集約されたビューを取得したいと思います 。ここに私が欲しいものがあります。 = 1
- 1行を:私は常に入手
OBJECT;PN;MANUFACTURER;DATE_FROM;DATE_TO;QTY OBJ1;PN1;MAN1;201601;201602;1 (from 01-2016 to 02-2016, OBJ1 contained 1 PN1) OBJ1;PN1;MAN1;201603;201603;2 (from 03-2016 to 03-2016, OBJ1 contained 2 PN1) OBJ1;PN1;MAN1;201604;201606;1 (from 04-2016 to 06-2016, OBJ1 contained 1 PN1)
私はすでに多くのソリューションをテストしてみたが、何もうまく機能していません... 03から2016 03から2016まで数量= 2
でそれは十分ではありません...
私はに見てきましたFIRST_VALUE (partition by...)
とLAST_VALUE
が、それが正常に動作していないようなSAP HANA
で...
は、あなたが任意のアイデアを持っていてくださいますか?
注:私はすでにそれを行うにはcursor
とstored procedure
を実装して、それが動作します(数時間で)、私ははるかに高速なものを必要としています。何十億本もの回線が懸念されるからです。
希望するロジックがまだ明確ではありません。 QTYが変わるたびに新しいグループを作成しますか?その場合は、ウィンドウ関数を使用して「最長ストリーク」の例を探す必要があります。 –
ラールにお返事いただきありがとうございます。はい、私は数量で行をグループ化するが、時系列を尊重するソリューションが欲しい。私は 'LEAD' /' LAG'と 'ROW_NUMBER'関数に基づいた解決策を書いています。 – KrasshX