Berechnung der Durchschnittskosten mit einer Abfrage

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

rso
*
Beiträge: 12
Registriert: Di, 07.02.2006 00:25
Wohnort: Zürich, Schweiz

Berechnung der Durchschnittskosten mit einer Abfrage

Beitrag von rso »

Hallo zusammen

Aufgrund der folgenden Tabelle mit Wertschriften-Transaktionen möchte ich mit einer Abfrage in OOBase die aufgeführten Werte berechnen:

<_________Tabelle_________> <_______________Abfrage_________________>

ID___Op___Qty___Price________Total___cum_Units___cum_Cost___ø_Unit_Cost

16___Buy___50___3.00________150.00______50______150.00______3.00
17___Sale__20___2.00________-40.00______30_______90.00_______3.00
18___Buy___30___6.00________180.00______60______270.00______4.50
19___Buy___25___4.00________100.00______85______370.00______4.35
20___Sale__40___5.00________-200.00______45______195.88______4.35

Beschreibung der Attribute in der Abfrage:
- Total als Transaktionswert ergibt sich aus Qty x Price
- cum_Units ist die kumulierte Stückzahl (Qty) unter Berücksichtigung von Kauf oder Verkauf
- cum_Cost entspricht dem kumulierten Total unter Berücksichtigung von Kauf oder Verkauf: Bei Kauf wird jeweils das Total der Transaktion hinzugezählt, bei Verkauf hingegen folgender Wert abgezählt: Qty x ø_Unit_Cost der vorhergehenden Transaktion (z.B. bei ID 17: -20 x 3 = -60, weshalb ich von 150 auf 90 komme und nicht auf 110!).
- ø_Unit_Cost ergibt sich aus cum_Cost / cum_Units

Die damit verbundene Herausforderung ist für mich die Realisierung der "average-cost-method", weil
- ich die Qty der aktuellen Transaktion mit den ø_Unit_Cost der vorhergehenden Transaktion multiplizieren muss
- und zwar als if-Bedingung wegen der unterschiedlichen Behandlung von Kauf und Verkauf
- und das dann noch als Laufsumme, damit ich jeweils die kumulierten Anschaffungskosten habe.

Da bin ich total überfordert! Ich habe mir schon die Zähne ausgebissen und komme nicht weiter.

Ich arbeite mit Linux Ubuntu 7.04, OOo 2.2.1 und integrierter hsqldb.

Mit MS Access habe ich es geschafft, weil dieses proprietäre Funktionen integriert hat, welche im SQL-Standard nicht zur Verfügung stehen - hsqldb unterstützt nur Standard-SQL.

Wer kann mir helfen, wäre schlicht toll.

Vielen Dank.