Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

kann ich den proz. Anteil an einer Gesamtsumme in einer Abfrage darstellen?

Begonnen von Axel18, Mai 28, 2010, 15:26:13

⏪ vorheriges - nächstes ⏩

Axel18

Guten Nachmittag Gemeinde,

mal wieder pünktlich zum Wochenende bekomme ich ein Problem:

Ich habe eine kleine Abfrage produziert, die mir den Umsatz pro Kunde kumuliert zusammenfasst.
Nun hätte ich gerne aber auch noch  - ohne das über einen Bericht laufen zu lassen – in einer weiteren Spalte eine Information, welchem Prozentsatz von der Gesamtmenge die Einzelmenge ausmacht.

Die beiden ersten Spalten sehen in SQL wie folgt aus:

SELECT kunden_gesamt_daten.ksort, Sum(kunden_gesamt_daten.Menge_Vj0) AS SummevonMenge_Vj0
FROM kunden_gesamt_daten
GROUP BY kunden_gesamt_daten.ksort;

Bis dahin ist das Ergebnis ok.
Kommt nun die 3. Spalte ,,Anteil in %"
Da habe ich die kursiv geschriebene Anweisung hinzugefügt:

SELECT kunden_gesamt_daten.ksort, Sum(kunden_gesamt_daten.Menge_Vj0) AS SummevonMenge_Vj0, Sum([Menge_Vj0]/[summevonMenge_Vj0]/100) AS anteilInProz
FROM kunden_gesamt_daten
GROUP BY kunden_gesamt_daten.ksort;

Bekomme aber bei der Ausführung die Fehlermeldung: Unterabfragen können im Ausdruck ...... nicht verwendet werden

Kann man denn überhaupt in einer Abfrage eine Gesamtsumme und damit einen prozentualen Anteil ausweisen?

Beste Grüße
Axel

Beste Grüße
Axel

Wurliwurm

Hallo Axel,

du kannst nicht Aggregate verschachteln, gruppiert wird immer nur auf einer Ebene, hier ksort. Aber es gibt da eine Funktion DSUM, die Du einbauen kannst in das SQL.

Was ich auf die Schnelle ausprobiert habe und geklappt hat:

SELECT kunden_gesamt_daten.ksort, Sum(kunden_gesamt_daten.Menge_Vj0) AS SummevonMenge_Vj0,  DSum("menge_vj0", "kunden_gesamt_daten") as Gesamtmenge, SummevonMenge_Vj0 / Gesamtmenge as prozent
FROM kunden_gesamt_daten
GROUP BY kunden_gesamt_daten.ksort, DSum("menge_vj0", "kunden_gesamt_daten")

Ich hoffe, das hilft Dir weiter

Grüße
Johannes

Axel18

Hallo Johannes,

danke für die Hilfe. Das Wochenende ist gerettet.
Es klappt zu 99,9%. ich musste die Prozent-Formel nur mit 100 noch multiplizieren, und jetzt stimmt's.
Nochmals danke und schönes Wochenende
Axel
Beste Grüße
Axel