PQQ: Maximum aus 25er-Blöcken berechnen

Messwerte – Maximum aus (beispielsweise) 25er-Blöcken mit Power Query berechnen


Video auf YouTubeHin­weis:
Die Arbeitss­chritte dieses Beitrages sind in einem kleinen Video doku­men­tiert. Das unter­stützende Begleit-Video find­en Sie auf YouTube an dieser Stelle.

Beacht­en Sie bitte: Dieses Begleit-Video enthält zusät­zliche Infor­ma­tio­nen, die im fol­gen­den Beitrag nicht doku­men­tiert sind!


Aus ein­er beliebig großen Liste, die auch schon ein­mal über 1.000.000 Mess­werte umfassen kann, sollen (beispiel­sweise) 25 er-Blöcke gebildet und aus jedem dieser logis­chen Ein­heit­en soll der Max­i­mal-Wert in ein­er getren­nten Spalte aus­gegeben wer­den. Und da die 1- Mio.-Grenze über­schrit­ten wer­den kann, bedarf es entwed­er Pow­er Query oder Pow­er Piv­ot, um der­ar­tige Daten­men­gen ver­ar­beit­en zu kön­nen. Wichtig ist nur, dass das Ergeb­nis in das Arbeits­blatt passt. 😉 

In dieser Beispiel-Datei sind 500 unter­schiedliche Mess­werte erfasst. Beispiel­sweise im gle­ichen Blatt in den Spal­ten D:E sollen die numerischen Eck­w­erte der Block­num­mern (1 – 25, 26 – 50, …) sowie das jew­eilige Max­i­mum des Bere­ichs angezeigt wer­den. Je nach Wun­sch kann auch die Spalte C mit der fort­laufend­en Num­mer der Blöcke gefüllt wer­den. Im End­ef­fekt soll das dann so ausse­hen, eventuell auch ohne die Spalte D:

Ergebnis der Berechnung

Ergeb­nis der Berech­nung

Wie immer wer­den sie als 1. Schritt die vorhan­de­nen Dat­en in eine for­matierte Liste/Tabelle umwan­deln StrgL, StrgT oder Als Tabelle for­matieren im Menü Start sind Ihnen dabei dien­lich. Anschließend importieren Sie diese Tabelle durch einen Klick auf Aus Tabelle in den Pow­er Query Edi­tor.

Im fol­gen­den Schritt wer­den Sie die 25 er-Blöcke definieren und gener­ieren. Dazu wech­seln Sie in das Menü-Reg­is­ter Spalte hinzufü­gen und im Menüband erweit­ern Sie die Auswahl Indexs­palte  durch einen Klick auf das Dreieck. Nun ein Klick auf Von 1 und automa­tisch wird eine Spalte mit der Über­schrift Index und dem Startwert 1 erstellt. Dieser Schritt ist wichtig, da sie in Pow­er Query zwar die Zeilen­num­mer angezeigt bekom­men darauf aber nicht direkt zugreifen kön­nen, wie beispiel­sweise in Excel mit der Funk­tion ZEILE(). Dieser Weg hat außer­dem auch noch den Vorteil, dass der Wert auch nach einem Sortier­vor­gang beste­hen bleibt. Die eigentliche Block­bil­dung erre­ichen Sie, wenn Sie im gle­ichen Menüband auf Benutzerdefinierte Spalte Klick­en und dort als Neuer Spal­tenname beispiel­sweise Block ein­tra­gen und dann fol­gende Benutzerdefinierte Spal­tenformel in exakt dieser Groß-Klein­schrei­bung tip­pen:
Number.RoundUp([Index]/25)
wobei Sie die Spal­tenüber­schrift [Index] am besten durch einen Dop­pelk­lick auf den Spal­tenna­men im recht­en Kas­ten übernehmen. Nach einem OK wird eine weit­ere Spalte mit jew­eils 25 Zahlen der Block-Num­mer automa­tisch erstellt. Das ist die Basis für eine Grup­pierung.

Wech­seln Sie zum Reg­is­ter Start, lassen Sie die Spalte Block markiert und wählen dort Grup­pieren nach. Block ist in der 1. Auswahl kor­rekt, als Neuer Spal­tenname ver­wende ich Max oder Maximum/Block und bei Vor­gang wäh­le ich natür­lich Max. Das war’s auch schon. Das Ergeb­nis ist eine 2‑spaltige Tabelle, wo in der 1. Spalte (Block) die fort­laufende Block-Num­mer ste­ht und in der 2. Spalte (Maximum/Block) der Höchst­wert des jew­eili­gen 25er-Blocks.

Für die „schmale” Ver­sion war es das dann auch schon. Schließen & laden und anschließend kön­nen Sie die gespe­icherte Tabelle an den Wun­schort ver­schieben.

▲ nach oben …

Als Option bietet sich natür­lich noch an, den numerischen Bere­ich unter der Über­schrift Von .. Bis oder Range darzustellen. Und natür­lich sollen die Eck­w­erte nicht von Hand eingegeben, son­dern der Pow­er Query berech­net wer­den. Und zugegeben, das ist schon etwas anspruchsvoller, wenn Sie es aus eigen­er Ini­tia­tive und ohne Hil­fe erstellen wollen. Die gle­ich fol­gende Formel wer­den sie wiederum über Spalte hinzufü­gen | Benutzerdefinierte Spalte ein­fü­gen. Set­zen Sie sich mit der gle­ich aufge­führten Formel inten­siv auseinan­der oder übernehmen Sie den Formel-Text ein­fach, um zum Ziel zu gelan­gen:
Text.From(([Block]-1)*25) & " - " & Text.From([Block]*25)
und ver­schieben sie diese Spalte an die Posi­tion 2; ich mache das direkt per Drag and Drop, sie kön­nen das aber auch per Recht­sklick und dem entsprechen­den Kon­textmenü oder über das Menü-Reg­is­ter Trans­formieren erledi­gen.

Die Auf­gabe ist damit auch im 2., dem optionalen Teil erfol­gre­ich erledigt. Bei Bedarf noch ein­mal Schließen & laden, um den neuesten Stand in der Tabelle zu fix­ieren. – Dass es mit anderen Aggre­gat-Funk­tio­nen wie Min­i­mum, Summe, Mit­tel­w­ert, etc. gle­icher­maßen funk­tion­iert, bedarf kein­er beson­deren Erwäh­nung.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits freuen …

Ref­er­ence: #3740

Dieser Beitrag wurde unter Allgemein, Verschiedenes, Ohne Makro/VBA, Power Query, PQ-Quickies, Spalten bearbeiten abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.