Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Power Query: MAXWENNS

Power Query: MAXWENNS
22.03.2021 11:26:02
Chris
Hallo Zusammen,
ich möchte mit Power Query einen MAX-Wert anhand 3 Kriterien ermitteln (aktuell noch mit einer MAXWENNS-Formel realisiert), welchen ich später für die Berechnung von benutzerdefinierten Spalten brauche - wie mache ich das? Geht das mit List.Max?
Der Weg über eine Extra-Zusammenfassung würde meiner Meinung nach zu viele Schritte kreieren, worunter die Performance leidet - daher suche ich einen eleganteren Weg - Danke schonmal für Eure Hilfe!
Lg,
Chris

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Power Query: MAXWENNS
22.03.2021 11:30:37
Günther
Ein uralter Spruch: "Probieren geht über studieren".
Ansonsten halte ich mich raus, da ich lieber einige Sekunden längere Laufzeit in Kauf nehme, wenn dadurch der Code (Formeln, M-Code) transparenter wird.
 
Gruß
Günther  |  mein Excel-Blog

AW: Power Query: MAXWENNS
22.03.2021 11:32:28
ChrisL
Hi Chris
Ich schätze hierzu würde ich einfach "Gruppieren".
Falls es ein Zwischenschritt darstellt, muss das Resultat nicht zwingend ausgegeben werden. Performance braucht hauptsächlich das Laden. Selbst wenn es eine eigene Funktion List.MaxIfs gäbe, wäre diese m.E. nicht prinzipiell schneller.
cu
Chris

Anzeige
AW: Power Query: MAX
22.03.2021 14:55:29
ChrisL
Hi
Gruppieren und frisch zusammenfügen ist bei 3 Spalten doch etwas unpraktisch. Darum mit Table.Max().
https://www.herber.de/bbs/user/145019.xlsx
n.b. Mit Max-"WENNS" und Kriterien hat es übrigens nicht zu tun. Ein Standard-Max, aber 3x angewendet.
cu
Chris

AW: Power Query: MAX
24.03.2021 07:00:42
Chris
Danke Chris,
ich habe dein Post erst jetzt gesehen - Gott sei dank gibt es doch eine smartere Lösung!
Ein Bier geht auf Dich!
Lg

AW: Power Query: MAX
26.03.2021 12:41:07
Chris
Hallo ChrisL,
jetzt tut sich doch noch ein Problem auf - wenn ich Table.Max() auf ein Tabelleblatt anwende welches von einer Abfrage erstellt wurde, funktioniert das bei mir leider nicht...
Gibt es auch eine Lösung, wenn ich das innerhalb einer Abfrage machen möchte (also nur als Verbindung geladen)?
Ich hoffe, Du / Ihr überrascht mich erneut mit einer Lösung - vielen Dank und schönes WE!
Lg,
Chris

Anzeige
AW: Power Query: MAX
26.03.2021 13:50:29
ChrisL
Hi
Grundsätzlich sollte es genauso gehen. Bitte Beispieldatei.
cu
Chris

AW: Power Query: MAX
26.03.2021 18:31:56
Chris
Hallo Chris,
anbei deine Beispieldatei,, wo ich auf eine Spalte im Abfrageeditor den MAX-Wert ermitteln möchte - siehe Error:
https://www.herber.de/bbs/user/145147.xlsx
Danke schonmal fürs tüfteln!
Lg,
Chris

AW: Power Query: MAX
26.03.2021 18:32:41
Chris
Hallo Chris,
anbei deine Beispieldatei,, wo ich auf eine Spalte im Abfrageeditor den MAX-Wert ermitteln möchte - siehe Error:
https://www.herber.de/bbs/user/145147.xlsx
Danke schonmal fürs tüfteln!
Lg,
Chris

Anzeige
AW: der PQ-Fehler ist plausibel ...
26.03.2021 19:07:45
neopa
Hallo Chris,
... denn Du hast die auszuwertende Spaltenamen mit "[]" umgeben anstelle mit "". ChrisL hat es Dir doch in Schritt 2 bis 4 richtig aufgezeigt.
Warum bzw. wozu Du eine neuerliche MAX-Auswertung vornehmen willst, erschließt sich mir allerdings nicht.
Gruß Werner
.. , - ...

AW: der PQ-Fehler ist plausibel ...
26.03.2021 20:42:53
Christian
Hallo Werner,
geht leider nicht - habe die Spaltennamen der eigentlichen Tabelle geändert, damit nun in der MAX-Funktion wirklich nur der Spaltenname der Abfrage vorkommt: https://www.herber.de/bbs/user/145149.xlsx
Wäre cool, wenn man innerhalb einer Abfrage das elegant lösen könnte - Danke!
Lg

Anzeige
AW: wenn Änderungen in der PQ-Datenquelle ...
27.03.2021 08:46:40
neopa
Hallo Chris,
... von Dir vorgenommen werden bzw. wurden, wie dies aus der neu eingestellten Datei zu entnehmen ist (den bisherigen Überschriften wurde nach "Jahr" eine 1 angehangen) , dann sind diese im Script natürlich auch entsprechend zu ändern. PQ passt im Script diese nicht automatisch an, wie dies z.B. bei Formelauswertungen der Fall ist). Wenn Du das berücksichtigst , dann erhältst Du auch das von Dir gewünschte.
Wobei ich nicht verstanden habe und verstehe, warum Du den jeweiligen MAX-Wert in jeder Datenzeile haben möchtest. Die Ermittlung der (einmaligen) MAX-Werte unterhalb der Quelldatenspalte (auch mit PQ möglich, nur etwas anders) ist mE doch völlig ausreichend und verständlicher.
Gruß Werner
.. , - ...

Anzeige
AW: wenn Änderungen in der PQ-Datenquelle ...
27.03.2021 14:56:43
Christian
Hallo Werner,
ich habe nun eine neue Datei erstellt, da Dir vermutlich nicht ganz klar war, was ich machen möchte - ich will eigentlich innerhalb der Abfrage den MAX-Wert bestimmen - siehe hier: https://www.herber.de/bbs/user/145156.xlsx
Ich hoffe jetzt ist klarer was das Ziel ist ;-)
Danke!
Lg

AW: das ist dann was anderes ...
27.03.2021 16:52:47
neopa
Hallo Chris,
... bin kein PQ-Profi und habe folgendes jetzt dafür "zusammengebastelt":
In PQ-Editor folgender Code:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Datum", type date}, {"Material", type text}, {"Menge", Int64.Type}}),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Geänderter Typ",{{"Datum", type text}}),
#"Extrahierte letzte Zeichen" = Table.TransformColumns(#"Geänderter Typ1", {{"Datum", each Text.End(_, 4), type text}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Extrahierte letzte Zeichen", "Jahr", each if [Datum]="2021" then "Menge - aktuelles Jahr" else "Menge - letztes Jahr"),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"Datum"}),
#"Pivotierte Spalte" = Table.Pivot(#"Entfernte Spalten", List.Distinct(#"Entfernte Spalten"[Jahr]), "Jahr", "Menge", List.Sum),
Neu = Table.ReorderColumns(#"Pivotierte Spalte",{"Material", "Menge - aktuelles Jahr", "Menge - letztes Jahr"}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(Neu, "Max aktuelles Jahr", each List.Max(Neu[#"Menge - aktuelles Jahr"])),
#"Hinzugefügte benutzerdefinierte Spalte2" = Table.AddColumn(#"Hinzugefügte benutzerdefinierte Spalte1", "Benutzerdefiniert", each List.Max(Neu[#"Menge - letztes Jahr"]))
in
#"Hinzugefügte benutzerdefinierte Spalte2"
Gruß Werner
.. , - ...

Anzeige
AW: das ist dann was anderes ...
27.03.2021 17:53:33
Christian
Danke Werner - jetzt klappts!!!

AW: bitteschön owT
27.03.2021 19:31:03
neopa
Gruß Werner
.. , - ...

AW: Power Query: MAXWENNS
22.03.2021 11:41:48
Daniel
Hi
1. Liste nach der Spalte mit dem Wert absteigend sortieren
2. Duplikate entfernen mit den drei Kriteriumsspalten
dann sollten alle möglichen vorhandenen Variationen der drei Kriterien einmal aufgelistet werden und du hast für jede Kombination den Max-Wert.
sollte aber alternativ und ohne sortieren auch mit Hilfe eine Pivottabelle funktionieren.
dh die die drei Kriterien-Spalten nach "Zeilen" ziehen und in "Werte" dann mit "Maximum" auswerten.
Gruß Daniel

AW: Power Query: MAXWENNS
22.03.2021 14:08:19
Chris
Danke an alle für die Rückmeldung - ich habe nun eine Beispieldatei zur Veranschaulichung erstellt - ich möchte den ermittelten MAX-Wert wie in Spalte E bis G dargestellt ausgeben:
https://www.herber.de/bbs/user/145018.xlsx
Aber wie mache ich das?
Danke!
Lg,
Chris

Anzeige
AW: Power Query: MAXWENNS
23.03.2021 06:46:16
Chris
Guten Morgen Günther,
vielen Dank für deine Lösung - ich bräuchte die Lösung "oder etwa doch so", da ich mit dem Max-Wert je Material noch rechnen muss.
Wenn ich die Datei herunterlade, sehe ich keine Verbindungen - bitte daher prüfen - Danke!
Lg,
Chris

Anzeige
AW: Power Query: MAXWENNS
23.03.2021 09:34:14
Günther
Moin Chris,
… das war schon gewollt so (also ohne Code); daher auch "Ergebnis" als Anhang zum Filenamen bzw. der Hinweis auf den fehlenden Weg. Prinzipiell habe ich von jeder Jahr-Spalte eine neue Abfrage (Ergebnis=Liste) erstellt und dort per Mausklick das Maximum. Anschließend die 3 neuen Spalten mit den entsprechenden Namen erstellt und als Formel "nur" den Namen der entsprechenden Abfrage/Liste entsprechend eingefügt.
 
Gruß
Günther  |  mein Excel-Blog

Anzeige
AW: Power Query: MAXWENNS
24.03.2021 06:57:34
Chris
Guten Morgen Günther und auch an alle anderen,
danke nochmals für deine Rückmeldung.
Der Weg ist mir klar - ich dachte jedoch Du hast eine smartere Lösung gefunden, da ich die Anzahl der Abfragen so gering wie möglich halten möchte. Ich vermute (ist nur so ein Gefühl), dass beim mehrfachen Duplizieren von Abfragen um den MAX-Wert zu berechnen (muss ich pro Auswertung 3 mal machen und ich habe in Summe 7 verschiedene Auswertungen) die Performance darunter leidet und das ganze Konstrukt auch undurchsichtig wird.
Daher nochmals die Frage an Dich und auch alle anderen: Gibt es keine Lösung welche ich in der bestehenden Abfrage realisieren kann?
Lg,
Chris

AW: Power Query: MAXWENNS
24.03.2021 07:01:33
Chris
Ist erledigt, da ChrisL dies gelöst hat ;-)

44 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige