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

Forumthread: Power Query Zeilen aus anderer Abfrage/Tabelle zählen

Power Query Zeilen aus anderer Abfrage/Tabelle zählen
06.12.2023 08:59:08
theknicker55
Liebes Forum,

ich benötige bitte eure Hilfe.

In Power Query lade ich verschiedene Dateien ein und bereite dort diese Daten auf.
Es gibt verschiedene Dateien (Einkauf, Verkauf, Mitarbeiter) und dementsprechend auch in Power Query verschiedene "Abfragen".

Ich möchte jetzt in einer neuen Abfrage die Mitarbeiter auflisten und in jeweils einer Spalte die Anzahl der Einkäufe pro Mitarbeiter und die Anzahl der Verkäufe pro Mitarbeiter.

Die Ausgangsdaten in der PowerQuery sollen dabei erhalten bleiben. Der Schritt "Transformieren => Gruppieren nach" gibt mir zwar die Anzahl der Einträge pro Mitarbeiter aus, die Ausgangsdaten werden jedoch zusammengefasst. Ich möchte aber lediglich in einer neuen Tabelle diese zusammengefasst haben.

Ich habe das ganze mal als Beispiel-Exceldatei hochgeladen. Hier sind die eigentlich in PowerQuery als Abfragen vorhandenen Daten pro Arbeitsblatt aufgelistet. Zusätzlich habe ich ein weiteres Arbeitsblatt angelegt, um zu verdeutlichen welches Ergebnis meine neue "Abfrage" in PowerQuery zeigen soll.
https://www.herber.de/bbs/user/164881.xlsx

Ich habe folgende Funktionen gefunden, bekomme sie aber nicht richtig umgesetzt:
Table.RowCount(...)
Table.Group(#"Neu angeordnete Spalten", {"DP"}, {{"Anzahl", each Table.RowCount(_), Int64.Type}})

Vielen Dank im Voraus!
Herzliche Grüße
Joachim
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: seh Dein Problem nicht ...
06.12.2023 11:14:00
neopa C
Hallo Joachim,

... die Abfragen für Ein- und Verkäufe brauchst Du doch nur als "Nur Verbindung erstellen" und diese mit der Mitgliederliste zu verbinden.

Sieh mal: https://www.herber.de/bbs/user/164886.xlsx

Gruß Werner
.. , - ...
Anzeige
AW: seh Dein Problem nicht ...
07.12.2023 12:52:01
theknicker55
Hallo Werner,

vielen Dank für deine Lösung.

Herzliche Grüße
Joachim
AW: seh Dein Problem nicht ...
08.12.2023 19:16:07
Luschi
Hallo PQ-Fan's

hier mal 2 weitere PQ-Lösungsmöglichkeiten zum Beispiel, aber ohne 'Table.NestedJoin()'.

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

Gruß von Luschi
aus klein-Paris
Anzeige
AW: seh Dein Problem nicht ...
11.12.2023 09:15:35
theknicker55
Hallo Luschi,

vielen Dank für deine Lösungen.

Das "Ergebnis_2" kann ich nachvollziehen. Hierbei hast du jedoch die Ausgangsdaten gruppiert. Diese benötige ich jedoch weiterhin "nicht" gruppiert. Gibt es eine Möglichkeit deine Abfrage zu verwenden und die Ausgangsdaten nicht zu gruppieren? Oder geht das nur wenn ich die Ausgangsdaten zuvor dupliziere?

Beim "Ergebnis_3" kommt der Fehler: "Formula.Firewall: Abfrage 'Ergebnis_3' (Schritt 'Ergebnis') verweist auf andere Abfragen oder Schritte und kann daher nicht direkt auf eine Datenquelle zugreifen. Erstellen Sie diese Datenkombination neu."
In deiner Abfrage sehe ich aber, dass ebenfalls auf die gruppierten Werte zugegriffen wird. Daher kann ich diese Lösung (wenn sie funktioniert) leider so auch nicht verwenden.

Gibt es einen Befehl der die Ausgangsdaten nur für die "Ergebnis-Tabelle" gruppiert?
So nach dem Motto:
"Besorge mit die Summe der Einkäufe aus der Abfrage Einkäufe für jeden DP und füge sie als Spalte in meiner Ergebnis-Tabelle hinzu"

Beste Grüße
Joachim
Anzeige
AW: gern getan owT
07.12.2023 13:25:45
neopa C
Gruß Werner
.. , - ...
;
Anzeige
Anzeige

Infobox / Tutorial

Power Query: Zeilen aus einer anderen Abfrage zählen


Schritt-für-Schritt-Anleitung

  1. Power Query öffnen: Lade Deine Daten in Power Query. Klicke auf „Daten abrufen“ und wähle die entsprechenden Dateien (Einkauf, Verkauf, Mitarbeiter) aus.

  2. Abfragen erstellen: Stelle sicher, dass Du für jede Quelldatei eine eigene Abfrage in Power Query hast. Du benötigst die Abfragen „Einkauf“ und „Verkauf“, um die Anzahl der Einkäufe und Verkäufe pro Mitarbeiter zu zählen.

  3. Verbindung erstellen: Klicke auf „Abfrage“ > „Verbindung erstellen“ für die Abfragen „Einkauf“ und „Verkauf“. Dies ist wichtig, da die Formel Formula.Firewall auf andere Abfragen verweist und es sonst zu Fehlern kommen kann.

  4. Neue Abfrage anlegen: Erstelle eine neue Abfrage, die die Mitarbeiter auflistet.

  5. Gruppierung: Nutze die Funktion Table.Group, um die Anzahl der Einkäufe und Verkäufe zu zählen, ohne die Ausgangsdaten zu gruppieren.

    let
       Einkäufe = Table.RowCount(Einkauf),
       Verkäufe = Table.RowCount(Verkauf),
       Ergebnis = Table.FromRecords({[Mitarbeiter="Mitarbeiter 1", AnzahlEinkäufe=Einkäufe, AnzahlVerkäufe=Verkäufe]})
    in
       Ergebnis
  6. Abfrage schließen und laden: Schließe Power Query und lade die Daten in ein neues Arbeitsblatt.


Häufige Fehler und Lösungen

  • Fehler: Formula.Firewall
    Wenn Du diese Fehlermeldung erhältst, bedeutet das, dass die Abfrage auf andere Abfragen oder Schritte verweist. Um dies zu vermeiden, stelle sicher, dass Du nur Verbindungen ohne Datenkombinationen erstellst.

  • Abfragen verweisen auf andere Abfragen
    Um die Daten zu kombinieren, musst Du sicherstellen, dass alle nötigen Abfragen richtig verbunden sind. Optional kannst Du auch eine Zwischentabelle erstellen, die die notwendigen Daten aggregiert.


Alternative Methoden

  • Benutzung von DAX in Power Pivot: Wenn Du Zugriff auf Power Pivot hast, kannst Du auch DAX-Formeln verwenden, um die Anzahl der Einkäufe und Verkäufe pro Mitarbeiter zu zählen. Das gibt Dir mehr Flexibilität und Leistung.

  • Direkt in Excel: Eine einfache Möglichkeit, die Anzahl der Einkäufe und Verkäufe zu zählen, besteht darin, die ZÄHLENWENN-Funktion in Excel zu verwenden. Das funktioniert gut, wenn Du mit einer kleinen Datenmenge arbeitest.


Praktische Beispiele

Hier ist ein Beispiel für eine Abfrage, die die Anzahl der Einkäufe pro Mitarbeiter zählt:

let
    Quelle = Einkauf,
    Gruppiert = Table.Group(Quelle, {"Mitarbeiter"}, {{"AnzahlEinkäufe", each Table.RowCount(_), Int64.Type}})
in
    Gruppiert

Ähnlich kannst Du für die Verkäufe vorgehen. Achte darauf, dass Du die Tabelle nicht gruppierst, wenn Du die Ausgangsdaten weiterhin benötigst.


Tipps für Profis

  • Datenmodellierung: Achte darauf, Deine Abfragen gut zu strukturieren und zu benennen. Das hilft nicht nur Dir, sondern auch anderen, die Deine Arbeit nachvollziehen möchten.

  • Verwendung von M-Funktionen: Nutze die umfangreichen M-Funktionen in Power Query, um komplexe Datenmanipulationen durchzuführen. Das kann Dir helfen, Fehler zu vermeiden und die Performance zu steigern.


FAQ: Häufige Fragen

1. Wie kann ich die Ausgangsdaten in Power Query behalten?
Um die Ausgangsdaten zu behalten, vermeide Gruppierungsfunktionen in der Hauptabfrage. Du kannst stattdessen eine neue Abfrage für die Resultate erstellen.

2. Was bedeutet der Fehler Formula.Firewall?
Dieser Fehler tritt auf, wenn eine Abfrage auf andere Abfragen verweist, ohne dass diese richtig verknüpft sind. Stelle sicher, dass Du nur Verbindungen erstellst und die Datenkombination korrekt durchführst.

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