Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
SQL: gewichtetes Mittel in query ausgeben
zurück: Daten an PDF Formular übergeben weiter: Debug-Modus abfragen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Zielscheibe
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. März 2011, 11:05
Rufname:

SQL: gewichtetes Mittel in query ausgeben - SQL: gewichtetes Mittel in query ausgeben

Nach oben
       Version: Office 2003

Hallo,

ich habe ein Query mit Artikeln, Verbauposition, Lagerplatz, Menge und Preis.

Die Beziehungen der Ursprungstabellen sind:
Artikel:Verbauposition 1:n
Artikel:Lagerplatz n:m

Ein Artikel kann an mehreren Verbaupositionen gebraucht werden.
Ein Artikel kann an mehreren Lagerorten gelagert werden.
Auf einem Lagerplatz können mehrere Artikel liegen.

Jeder Artikel hat einen unterschiedlichen Preis, bzw. unterschiedlichen Menge. Preis und Menge sind Felder einer Verknüpfungstabelle.

Jetzt würde ich gerne Gruppieren nach Artikel, Verbauposition und Lagerort. Die Menge soll aufsummiert werden.

Das Problem:
Ich hätte gerne einen gewichteten Preis Mittelwert für jede Artikel-Verbauposition Kombination auf einem Lagerplatz. Aber über alle Lagerplätze soll dieser Preis gleich sein. Bsp:

ArtikelName1 VerbauPos1 LagerPlatz1 200Stk 5,4€
ArtikelName1 VerbauPos1 Lagerplatz2 300Stk 5,4€
ArtikelName1 VerbauPos1 LagerPlatz3 120Stk 5,4€
ArtikelName1 VerbauPos1 Lagerplatz4 250Stk 5,4€
ArtikelName1 VerbauPos1 LagerPlatz5 003Stk 5,4€
ArtikelName1 VerbauPos1 Lagerplatz6 123Stk 5,4€

Ursprünglich kann das mal so ausgesehen haben (der gew. Mittelwert oben stimmt nicht, alles fiktive Werte):

ArtikelName1 VerbauPos1 LagerPlatz1 200Stk 3,2€
ArtikelName1 VerbauPos1 Lagerplatz2 300Stk 6,8€
ArtikelName1 VerbauPos1 LagerPlatz3 120Stk 5,0€
ArtikelName1 VerbauPos1 Lagerplatz4 250Stk 5,2€
ArtikelName1 VerbauPos1 LagerPlatz5 003Stk 1,4€
ArtikelName1 VerbauPos1 Lagerplatz6 123Stk 8,1€

Der gewichtete Mittelwert wird dann so berechnet:

(Menge1*Preis1 + Menge2*Preis2 + ...) / (Menge1 + Menge2 + ...)

Habt Ihr Ideen?

Viele Grüße,
Michael
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. März 2011, 11:23
Rufname:
Wohnort: NRW


AW: SQL: gewichtetes Mittel in query ausgeben - AW: SQL: gewichtetes Mittel in query ausgeben

Nach oben
       Version: Office 2003

Hallo,

ich verstehe nicht, wieso ein Artikel unterschiedliche Preise haben kann. Confused

Ein nachvollziehbares bzw. nachrechenbares Beispiel wäre hier evtl. sinnvoller gewesen...

_________________
Gruß MissPh!
Zielscheibe
Im Profil kannst Du frei den Rang ändern


Verfasst am:
15. März 2011, 13:42
Rufname:

AW: SQL: gewichtetes Mittel in query ausgeben - AW: SQL: gewichtetes Mittel in query ausgeben

Nach oben
       Version: Office 2003

Hallo,

wenn die Preise am Beginn des Projektes verhandelt werden, die Lieferung aber erst in einem Jahr beginnt, ändern sich die Preise häufig (Rohstoffpreise verändern sich, Lohnsteigerungen, Lieferant wird gedrückt, usw.)

Ich rechne mein Beispiel einfach mal nach:

ArtikelName1 VerbauPos1 LagerPlatz1 200Stk 3,2€ 200*3,2=640
ArtikelName1 VerbauPos1 Lagerplatz2 300Stk 6,8€ 300*6,8=2040
ArtikelName1 VerbauPos1 LagerPlatz3 120Stk 5,0€ 120*5,0=600
ArtikelName1 VerbauPos1 Lagerplatz4 250Stk 5,2€ 250*5,2=1300
ArtikelName1 VerbauPos1 LagerPlatz5 003Stk 1,4€ 3*1,4 =4,2
ArtikelName1 VerbauPos1 Lagerplatz6 123Stk 8,1€ 123*8,1=996,3
Summe=5580,5€
Menge =200+300+120+250+3+123=996

gewichtetes Mittel = Summe / Menge = 5,60€

Anzeige:
ArtikelName1 VerbauPos1 LagerPlatz1 200Stk 5,6€
ArtikelName1 VerbauPos1 Lagerplatz2 300Stk 5,6€
ArtikelName1 VerbauPos1 LagerPlatz3 120Stk 5,6€
ArtikelName1 VerbauPos1 Lagerplatz4 250Stk 5,6€
ArtikelName1 VerbauPos1 LagerPlatz5 003Stk 5,6€
ArtikelName1 VerbauPos1 Lagerplatz6 123Stk 5,6€
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. März 2011, 14:03
Rufname:
Wohnort: NRW


AW: SQL: gewichtetes Mittel in query ausgeben - AW: SQL: gewichtetes Mittel in query ausgeben

Nach oben
       Version: Office 2003

OK, nun habe ich es auch verstanden. Wink

Du kannst das mit einer Unterabfrage lösen:
Code:
SELECT tab_artikel.Artikelname, tab_artikel.VerbauPos, tab_artikel.Lagerort, sub.GesamtPreis / sub.GesamtMenge AS Durchschnittspreis
FROM tab_artikel INNER JOIN
(SELECT tab.Artikelname, tab.VerbauPos, Sum(tab.[Menge]*tab.[preis]) AS GesamtPreis, Sum(tab.Menge) AS GesamtMenge
   FROM tab_artikel AS tab
  GROUP BY tab.Artikelname, tab.VerbauPos) AS sub
ON tab_artikel.Artikelname = sub.Artikelname AND tab_artikel.VerbauPos = sub.VerbauPos
;
oder mit einer Domänenfunktion:
Code:
SELECT tab_artikel.Artikelname, tab_artikel.VerbauPos, tab_artikel.Lagerort,
DLookUP("Sum(preis * menge) / Sum(Menge)", "tab_artikel", "artikelname='" & tab_artikel.ArtikelName & "' AND VerbauPos='" & tab_artikel.VerbauPos & "'") AS Durchschnittspreis
FROM tab_artikel
GROUP BY tab_artikel.Artikelname, tab_artikel.VerbauPos, tab_artikel.Lagerort

_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: MAX-Funktion auf Summen in SQL? Brauche Hilfe! 2 Gonzo 1543 26. Feb 2005, 13:11
Gast MAX-Funktion auf Summen in SQL? Brauche Hilfe!
Keine neuen Beiträge Access Tabellen & Abfragen: Access ändert meine SQL Strings 1 Nil 608 24. Feb 2005, 13:25
lothi Access ändert meine SQL Strings
Keine neuen Beiträge Access Tabellen & Abfragen: SQL Gruppierung -AXP 2 nepokat 601 03. Feb 2005, 08:46
nepokat SQL Gruppierung -AXP
Keine neuen Beiträge Access Tabellen & Abfragen: teilsequenzen einer abfrage ausgeben 9 nugget 1014 20. Dez 2004, 13:59
Gast teilsequenzen einer abfrage ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Access SQL auskommentieren 2 excalibur 7156 21. Nov 2004, 20:24
excalibur1 Access SQL auskommentieren
Keine neuen Beiträge Access Tabellen & Abfragen: SQL Abfrage mit 2 Where??? 2 NewNewbie 1858 18. Nov 2004, 16:40
NewNewbie SQL Abfrage mit 2 Where???
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld Datensatzherkunft VBA SQL 2 JensM 8920 17. Nov 2004, 19:57
JensM Kombinationsfeld Datensatzherkunft VBA SQL
Keine neuen Beiträge Access Tabellen & Abfragen: ALiasname mit Punkt-Zeichen ausgeben? 1 jpa 1407 09. Nov 2004, 19:44
Skogafoss ALiasname mit Punkt-Zeichen ausgeben?
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Wenn-Dann-Sonst in SQL??? 2 SCHNEEMANN 998 18. Okt 2004, 17:26
Willi Wipp Wenn-Dann-Sonst in SQL???
Keine neuen Beiträge Access Tabellen & Abfragen: SQL - Abfrage ob ein Wert in der Tabelle enthalten ist 1 notausgang 1301 23. Sep 2004, 09:42
stpimi SQL - Abfrage ob ein Wert in der Tabelle enthalten ist
Keine neuen Beiträge Access Tabellen & Abfragen: sql neue tabelle erstellen 3 Gast 1232 19. Jul 2004, 23:09
lothi sql neue tabelle erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL ausführen 46 Gast_Matcher 2947 30. Jun 2004, 11:17
tocotronicx SQL ausführen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: CSS Forum