Ich habe einen Datensatz:wie Summe über Zeilen in einer Gruppe unter der Bedingung in Oracle basiert bekommen
type month id1 id2 id3 value
history jan-17 1 2 3 10
future jan-17 1 2 3 15
history feb 1 2 3 12
history march 1 2 3 11
future march 1 2 3 14
Ich möchte für jeden Monat auf einige Berechnung auf der Grundlage Wert erhalten und auf den Wert der type
Spalte basiert.
Für zB: die Ausgabe sollte wie folgt aussehen:
month id1 id2 id3 value
JAN-17 1 2 3 15(future value of jan) + 0(as future value of feb is not present)+ 14(take the future value of march)
FEB-17 1 2 3 10(history value of jan)+14(take the future value of march)
MAR-17 1 2 3 10(history value of jan)+12(history value of feb)+11(history value of mar)
Die Berechnung basiert auf der Anzahl Quartal eines jeden Monats in einem Jahr basiert.
Wenn es im ersten Monat eines Quartals ist, nehmen Sie den zukünftigen Wert ersten Monat + Zukunft des zweiten Monats + zukünftigen Wert 3. Monat
Wenn der Monat 2. Monat eines Quartals ist, nehmen Sie die Geschichte Wert von 1. Monat + zukünftiger Wert des zweiten Monats + zukünftiger Wert des dritten Monats
Wenn der Monat der dritte Monat eines Quartals ist, nehmen Sie den historischen Wert des ersten Monats + historischen Werts des zweiten Monats + zukünftigen Werts des dritten Monats.
Ich habe versucht Partitionierung der Datenmenge basierend auf Monat id1
, id2
, id3
, aber es gibt mir nicht das erwartete Ergebnis.