Office: Index in PowerQuery mit mehreren Bedingungen

Helfe beim Thema Index in PowerQuery mit mehreren Bedingungen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich brauche Hilfe. Ich möchte über PowerQuery eine Indexspalte generieren lassen, die allerdings abhängig von mehreren Bedingungen ist... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Hannes182, 18. September 2023.

  1. Hannes182 hat Ahnung

    Index in PowerQuery mit mehreren Bedingungen


    Hallo zusammen,

    ich brauche Hilfe.
    Ich möchte über PowerQuery eine Indexspalte generieren lassen, die allerdings abhängig von mehreren Bedingungen ist (in der Beispieldatei von "Daten1" und "Daten2").

    Hat hierfür jemand eine Lösung?

    Danke
     
    Hannes182, 18. September 2023
    #1
  2. neopa C Erfahrener User
    Hallo Hannes,

    wenn die vorhandene (bzgl. Daten1 und da insbesondere unsortierte A23:A24) Datenreihenfolge in eine teilsortierte überführt werden kann, dann wie folgt:
    PHP:
    let
        Quelle 
    Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
        
    #"Gruppierte Daten" = Table.Group(Quelle, {"Daten1", "Daten2"}, {{"Daten", each _, type table [Daten1=number, Daten2=number]}}),
        #"intern gruppierter Index" = Table.AddColumn(#"Gruppierte Daten", "Gruppenindex", each Table.AddIndexColumn([Daten],"Index",1,1)),
        #"Entfernte Spalten" = Table.RemoveColumns(#"intern gruppierter Index",{"Daten"}),
        #"Erweiterte Gruppenindex" = Table.ExpandTableColumn(#"Entfernte Spalten", "Gruppenindex", {"Index"}, {"Index"})
    in
        
    #"Erweiterte Gruppenindex"
    Für eine komplette Sortierung (erst nach Daten2 und dann Daten 1) noch folgende Schritt anfügen:

    = Table.Sort(#"Erweiterte Gruppenindex",{{"Daten2", Order.Ascending}, {"Daten1", Order.Ascending}})

    Wenn die ursprüngliche Reihenfolge beibehalten werden soll, dann wird es aufwendiger, erkenne aber momentan keinen Sinn dafür.
     
  3. Exl121150 Erfahrener User
    Hallo,

    obwohl es nicht verlangt wurde von Hannes182, möchte ich es trotzdem erwähnen: Es ist mit einer einfachen Excel-Funktion lösbar und zwar ohne die ursprüngliche Reihenfolge in den Spalten A (Daten1) und B(Daten2) zu verändern:
    Man gebe in Zeile 2 in irgendeiner Spalte folgende Formel ein:
    =ZÄHLENWENNS($A$2:$A2; A2; $B$2:$B2; B2)
    und kopiere diese Formel hinunter bis Zeile 24.
     
    Exl121150, 18. September 2023
    #3
  4. Hannes182 hat Ahnung

    Index in PowerQuery mit mehreren Bedingungen

    Hallo,

    Danke für deine Lösung Werner. :)

    @Anton. Geht so in PowerQuery aber nicht, oder? Das war mir nämlich wichtig. Trotzdem Danke.
     
    Hannes182, 19. September 2023
    #4
  5. neopa C Erfahrener User
    Hallo Hannes,

    bitteschön.

    Die Originalsortierung wird von Dir also nicht gebraucht. Mich würde diese trotzdem interessieren. Ich hab jedoch selbst noch keine Realsierungsmethode gefunden. Falls ein PQ-Profi das zufällig liest und eine solche hier aufzeigen könnte, würde es mich freuen.
     
    1 Person gefällt das.
  6. neopa C Erfahrener User
    Hallo Hannes,

    der PQ-Profi Luschi hat eine PQ-Lösung erstellt, die auch die ursprüngliche Datenreihenfolge beibehält.
    Die Originaltabelle enthält nur noch [Daten1] und [Daten2] dafür dann folgender M-Code für die Ergebnisspalte:
    HTML:
    let
        Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
        #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,
            {{"Daten1", Int64.Type}, {"Daten2", Int64.Type}}),
        #"Hinzugefügter Index" = Table.AddIndexColumn(#"Geänderter Typ", "Index.1", 0, 1, Int64.Type),
        #"Gruppierte Zeilen" = Table.Group(#"Hinzugefügter Index", {"Daten1", "Daten2"},
             {{"Gruppe", each _,
                 type table [Daten1=nullable number, Daten2=nullable number, Index=nullable number]}}),
        #"interner Index" = Table.TransformColumns(#"Gruppierte Zeilen",
            {{"Gruppe", each Table.AddIndexColumn(_, "Gruppen.Index", 1, 1)}}),
        #"Erweiterte Gruppe" = Table.ExpandTableColumn(#"interner Index", "Gruppe", {"Index.1", "Gruppen.Index"}, {"Index.1", "Gruppen.Index"}),
        #"Sortierte Zeilen" = Table.Sort(#"Erweiterte Gruppe",{{"Index.1", Order.Ascending}}),
        #"Entfernte Spalten" = Table.RemoveColumns(#"Sortierte Zeilen",{"Index.1", "Daten1", "Daten2"})
    in
        #"Entfernte Spalten"
     
    1 Person gefällt das.
  7. neopa C Erfahrener User
    Hallo Hannes,

    Luschi hat mir die Augen geöffnet. Meine Lösung konnte ich nun entsprechend so erweitern, womit ich nun zum gleichen Ergebnis komme wie mit seiner Lösung:
    Code:
    let
        Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
        lfd_ZeilenNr = Table.AddIndexColumn(Quelle, "lfdNr", 1, 1, Int64.Type),
        Daten_gruppieren = Table.Group(lfd_ZeilenNr, {"Daten1", "Daten2"}, {{"Daten", each _, type table [Daten1=number, Daten2=number]}}),
        Gruppen_indexieren = Table.AddColumn(Daten_gruppieren, "Gruppenindex", each Table.AddIndexColumn([Daten],"lfd_GrNr",1,1)),
        Gruppenindex = Table.ExpandTableColumn(Gruppen_indexieren, "Gruppenindex", {"lfdNr", "lfd_GrNr"}, {"lfdNr", "lfd_GrNr"}),
        Original_Sortierung = Table.Sort(Gruppenindex,{{"lfdNr", Order.Ascending}}),
        Ergebnisspalte = Table.RemoveColumns(Original_Sortierung,{"Daten1", "Daten2", "Daten", "lfdNr"})
    in
        Ergebnisspalte
     
    Zuletzt bearbeitet: 19. September 2023
    1 Person gefällt das.
  8. Hannes182 hat Ahnung

    Index in PowerQuery mit mehreren Bedingungen

    Danke nochmal fürs Teilen :)
     
    Hannes182, 20. September 2023
    #8
Thema:

Index in PowerQuery mit mehreren Bedingungen

Die Seite wird geladen...
  1. Index in PowerQuery mit mehreren Bedingungen - Similar Threads - Index PowerQuery mehreren

  2. Ergebnis aus INDEX und Vergleich Formel weiter Verwenden

    in Microsoft Excel Hilfe
    Ergebnis aus INDEX und Vergleich Formel weiter Verwenden: Hallo :-) Ich möchte ein Ergebnis aus einer Formel (Index/Vergleich) mit einer Wenn Funktion auswerten. Wenn sieht aber nicht das Ergebnis in dem Kästchen sondern nur die Formel!...
  3. Mehrere Begriffe in Register/Index unter einem Begriff?

    in Microsoft Word Hilfe
    Mehrere Begriffe in Register/Index unter einem Begriff?: Hi ihr Lieben! gibt es eine Möglichkeit in Word bei einem Register/Index mehrere Wörter unter einem Begriff zu markieren? Wie im Screenshot die Wörter "entgangener Gewinn/Gewinnausfall" (oder...
  4. Daten per Index-Funktion übertragen

    in Microsoft Excel Hilfe
    Daten per Index-Funktion übertragen: Hallo zusammen, ich stehe derzeit vor folgender Herausforderung: ich möchte Daten aus einer Martix per Index-Vergleich-Funktion in eine andere Matrix übertragen. Ich habe eine vereinfachte...
  5. Formel mit INDEX, MATCH und MAX gibt Fehler #NAME!

    in Microsoft Excel Hilfe
    Formel mit INDEX, MATCH und MAX gibt Fehler #NAME!: Hallo zusammen, ich habe mit Hilfe von Copliot eine Formel gebaut, die 2 Werte aus einer Tabelle 1 in einer Tabelle 2 prüfen soll und wenn die Konstellation vorkommt, soll das größte Wert dieser...
  6. Word 365 Index ohne Fußnoten

    in Microsoft Word Hilfe
    Word 365 Index ohne Fußnoten: Hallo! Ist es möglich in Word 365 einen Index (Namensverzeichnis) zu erstellen, der die Fußnoten nicht berücksichtigt? Wenn ja, wie?
  7. SUMMEWENN mit verschiedenen Kriterien

    in Microsoft Excel Hilfe
    SUMMEWENN mit verschiedenen Kriterien: Hallo, ein neuer Versuch. In der folgenden Tabelle habe Daten die mit SUMMEWENN verschieden WGR – Warengruppen zusammenzähle. Die Hardware WGR wird immer gezählt, die Spalte Zubehör nur wenn...
  8. Index, Sverweis, Zählenwenn eine Zeile tiefer

    in Microsoft Excel Hilfe
    Index, Sverweis, Zählenwenn eine Zeile tiefer: Hallo, ich habe eine sehr "wüste" Excelliste, die auch sehr lang ist >10.000 Zeilen. Ich benötige die Anzahl von "11111" in Spalte W:W aber NUR wenn gleichzeitig in Spalte J:J EINE Zeile tiefer...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden