Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summewenns in Power Query

Forumthread: Summewenns in Power Query

Summewenns in Power Query
22.03.2023 10:52:37
Gesa

Moin zusammen.
Ich versuche derzeit in Power Query einzusteigen und habe mir bereits zwei Tabellen zusammengeführt. Nun habe ich dort ein Problem und komme trotz tagelanger Recherche im Netz nicht weiter. Also benötige ich einmal mehr eure Intelligenz.

Folgende Tabelle habe ich:

https://www.herber.de/bbs/user/158361.xlsx

Wie man sieht sind nicht alle Aufschläge in jedem Auftrag enthalten. Ich möchte gerne die Tabelle so komprimieren, dass ich jede Auftragsnummer nur einmal angezeigt bekomme und die Werte für die Aufschläge in der Zeile hintereinander auftauchen, je nachdem ob der Aufschlag in dem Auftrag enthalten ist der nicht (null).
Ich habe schon viel versucht mit pivotieren, entpivotieren, gruppieren, bedingte Spalten etc. aber ich bekomme es nicht hin :-(

In Excel hätte ich einfach eine Summewenns eingebaut, aber das kennt PQ so nicht.
Kann mir jemand sagen, wie ich trotzdem zur Lösung kommen kann, ohne dass ich das dann in Excel direkt verformele bzw. über extra Pivot-Tabellen löse?
Das Ergebnis muss ich noch weiter verarbeiten, daher wäre die Lösung in PQ für mich das optimalste (sofern möglich).
Ich habe auch schon Einträge zu dem Thema in Foren gefunden, aber nicht verstanden bzw. nicht anwenden können.

Kann mir jemand bitte helfen??

Vielen lieben Dank und viele Grüße

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summewenns in Power Query
22.03.2023 12:06:15
Rudi Maintaire
Hallo,
wirklich Ahnung habe ich auch nicht von PQ. Meinst du so?
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    GeänderterTyp = Table.TransformColumnTypes(Quelle,{{"Auftragsnummer", Int64.Type}, {"Gewicht", type number}, {"Frachtkosten", type number}, {"Treibstoffzuschlag", type number}, {"Maut", type number}, {"Gefahrgut", type number}, {"Aviskosten", type number}}),
    NULLweg = Table.ReplaceValue(GeänderterTyp,null,0,Replacer.ReplaceValue,{"Frachtkosten", "Treibstoffzuschlag", "Maut", "Gefahrgut", "Aviskosten"}),
    Gruppieren = Table.Group(NULLweg, {"Auftragsnummer", "Gewicht"}, {{"Fracht", each List.Sum([Frachtkosten]), type nullable number}, {"Sprit", each List.Sum([Treibstoffzuschlag]), type nullable number}, {"Maut", each List.Sum([Maut]), type nullable number}, {"Gefahr", each List.Sum([Gefahrgut]), type nullable number}, {"Avis", each List.Sum([Aviskosten]), type nullable number}}),
    Summieren = Table.AddColumn(Gruppieren, "Gesamt", each [Fracht]+[Sprit]+[Maut]+[Gefahr]+[Avis])
in
    Summieren
Gruß
Rudi


Anzeige
AW: Summewenns in Power Query
22.03.2023 14:06:02
Gesa
Hallo Rudi,

danke für deine Antwort und den Vorschlag. Ich habe versucht deine Idee in meiner Datei einzubauen. Da meine eigentliche Tabelle natürlich viel größer ist als mein Beispiel und die Spalten auch teilweise andere Überschriften haben scheitere ich mal wieder :-( Kannst du mir eine kurze Erklärung geben, was du da genau machst? Wann vergibst du neue Namen, wann werden die aus der Datentabelle verwendet usw.?

Danke...


Anzeige
AW: Summewenns in Power Query
23.03.2023 11:12:38
Rudi Maintaire
Hallo,
hier wird nach Auftrag und Gewicht gruppiert:

Gruppieren = Table.Group(NULLweg, {"Auftragsnummer", "Gewicht"}, {{"Fracht", each List.Sum([Frachtkosten]), type nullable number}, {"Sprit", each List.Sum([Treibstoffzuschlag]), type nullable number}, {"Maut", each List.Sum([Maut]), type nullable number}, {"Gefahr", each List.Sum([Gefahrgut]), type nullable number}, {"Avis", each List.Sum([Aviskosten]), type nullable number}}),

Dabei werden auch neue Spaltennamen vergeben. Muss man aber nicht.

Gruß
Rudi

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Summewenns in Power Query


Schritt-für-Schritt-Anleitung

Um die gewünschte Summewenns-Funktionalität in Power Query zu implementieren, folge diesen Schritten:

  1. Datenquelle laden: Lade deine Excel-Datei in Power Query. Dies geschieht über Daten > Abfragen und Verbindungen > Neue Abfrage > Aus Datei > Aus Excel.

  2. Daten transformieren:

    • Gehe zu Start > Daten transformieren.
    • Benenne die Spalten nach deinen Bedürfnissen, falls notwendig.
  3. Nullwerte ersetzen: Verwende den Befehl Table.ReplaceValue, um fehlende Werte durch 0 zu ersetzen. Das ist wichtig, um korrekte Summen zu berechnen.

    NULLweg = Table.ReplaceValue(GeänderterTyp,null,0,Replacer.ReplaceValue,{"Frachtkosten", "Treibstoffzuschlag", "Maut", "Gefahrgut", "Aviskosten"})
  4. Gruppieren und summieren: Nutze den Table.Group-Befehl, um deine Daten nach Auftragsnummer und Gewicht zu gruppieren und die Summen der verschiedenen Kostenarten zu berechnen.

    Gruppieren = Table.Group(NULLweg, {"Auftragsnummer", "Gewicht"}, {{"Fracht", each List.Sum([Frachtkosten]), type nullable number}, {"Sprit", each List.Sum([Treibstoffzuschlag]), type nullable number}, {"Maut", each List.Sum([Maut]), type nullable number}, {"Gefahr", each List.Sum([Gefahrgut]), type nullable number}, {"Avis", each List.Sum([Aviskosten]), type nullable number}})
  5. Gesamtsumme hinzufügen: Erstelle eine neue Spalte zur Berechnung der Gesamtsumme.

    Summieren = Table.AddColumn(Gruppieren, "Gesamt", each [Fracht]+[Sprit]+[Maut]+[Gefahr]+[Avis])
  6. Abfrage laden: Lade die bearbeitete Abfrage zurück in Excel, indem du auf Schließen & Laden klickst.


Häufige Fehler und Lösungen

  • Fehlende Werte nicht ersetzt: Stelle sicher, dass du die richtige Spaltennamen verwendest, wenn du Nullwerte ersetzt.

  • Gruppierung funktioniert nicht: Überprüfe, ob die Spalten, die du gruppieren möchtest, tatsächlich die richtigen Datentypen haben. Manchmal müssen die Spalten vorher in den richtigen Typ konvertiert werden.

  • Fehler bei der Summierung: Achte darauf, dass du die korrekten Spaltennamen in der List.Sum-Funktion verwendest.


Alternative Methoden

Wenn du Schwierigkeiten mit Power Query hast, kannst du alternativ in Excel die SUMMEWENNS-Funktion verwenden, um die Summen direkt zu berechnen. In Power BI kannst du summewenn oder summewenns in DAX-Formeln verwenden, um ähnliche Ergebnisse zu erzielen.


Praktische Beispiele

Hier ist ein einfaches Beispiel für die Verwendung von Table.Group in Power Query:

let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    GeänderterTyp = Table.TransformColumnTypes(Quelle,{{"Auftragsnummer", Int64.Type}, {"Frachtkosten", type number}, {"Treibstoffzuschlag", type number}}),
    NULLweg = Table.ReplaceValue(GeänderterTyp,null,0,Replacer.ReplaceValue,{"Frachtkosten", "Treibstoffzuschlag"}),
    Gruppieren = Table.Group(NULLweg, {"Auftragsnummer"}, {{"Gesamtkosten", each List.Sum([Frachtkosten]) + List.Sum([Treibstoffzuschlag]), type nullable number}})
in
    Gruppieren

Tipps für Profis

  • Verwende benutzerdefinierte Funktionen: Wenn du häufig ähnliche Berechnungen durchführst, erstelle benutzerdefinierte Funktionen in Power Query, um deine Arbeit zu automatisieren.

  • Nutze die M-Sprache: Ein gutes Verständnis der M-Sprache kann dir helfen, komplexere Datenmanipulationen durchzuführen.

  • Überprüfe die Abfrage: Regelmäßiges Überprüfen deiner Abfragen auf Performance-Probleme kann helfen, die Ladezeiten zu minimieren.


FAQ: Häufige Fragen

1. Wie kann ich die gesamte Tabelle in Power Query summieren? Du kannst die Table.Sum-Funktion verwenden, um die Summe aller Werte in einer bestimmten Spalte zu berechnen.

2. Kann ich mehrere Bedingungen in Power Query verwenden? Ja, du kannst die if-Bedingung in Power Query verwenden, um mehrere Bedingungen zu prüfen und entsprechende Werte zurückzugeben.

3. Unterstützt Power Query auch Zählenwenn? Ja, ähnlich wie in Excel kannst du mit Table.Group und List.Count die Anzahl der Einträge zählen, die bestimmten Kriterien entsprechen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige