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 um 11:39 Uhr.

  1. 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
     
  2. neopa C hat Ahnung
    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.
     
  4. 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.
     
  5. neopa C hat Ahnung
    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 hat Ahnung
    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 hat Ahnung
    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 um 17:44 Uhr
    1 Person gefällt das.
  8. Index in PowerQuery mit mehreren Bedingungen

    Danke nochmal fürs Teilen :)
     
Thema:

Index in PowerQuery mit mehreren Bedingungen

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

  2. Summe negativer Werte mit INDEX und VERGLEICH

    in Microsoft Excel Hilfe
    Summe negativer Werte mit INDEX und VERGLEICH: Hallo zusammen, ich habe mich an INDEX und VERGLEICH versucht. Eine Summe zu bilden, ist zunächst gelungen mit dieser Funktion:...
  3. Wort aus Index aus Text in Zelle auslesen

    in Microsoft Excel Hilfe
    Wort aus Index aus Text in Zelle auslesen: Hallo liebe Excel Profis, ich verwende Excel365 und möchte folgendes Problem lösen: Ich möchte aus Texten in Zellen einer Spalte ein bestimmtes Wort, welches in einem Index zu suchen ist,...
  4. Sverweis bzw. Index Vergleich

    in Microsoft Excel Hilfe
    Sverweis bzw. Index Vergleich: Hallo zusammen, ich habe ein Problem mit einem sverweis bzw. Index Vergleich ( beides mal #NV ). Ich habe eine Datei mit einer großen Tabelle wo in Spalte A Materialnummern stehen. Zu diesen...
  5. Mehrere Artikel anzeigen durch INDEX?

    in Microsoft Excel Hilfe
    Mehrere Artikel anzeigen durch INDEX?: Hallo, mal eine Frage, ob das nicht auch eleganter geht: Ich habe aktuell einen Bestellschein erstellt, der auf eine Artikelliste aufbaut. In der Regel bekommen die Kunden nur einen Artikel,...
  6. Mehrere Namen aus Tabelle in eine Liste filtern

    in Microsoft Excel Hilfe
    Mehrere Namen aus Tabelle in eine Liste filtern: Hallo! Ich brauch eure Hilfe. Und zwar möchte ich aus einer Tabelle mehrere Namen in eine andere Liste filtern. Dabei geht es um Aktivitäten während einer Woche von verschiedenen Personen. In...
  7. Datenüberprüfung, Liste: Kombinierte Formel (INDEX/INDIREKT) funktioniert nicht

    in Microsoft Excel Hilfe
    Datenüberprüfung, Liste: Kombinierte Formel (INDEX/INDIREKT) funktioniert nicht: Hallo zusammen, hat jemand eine Idee, wie man in der Datenüberprüfung eine indirekt dynamische Liste zum Laufen bekommt? Mit folgender Formel prüfe ich die Zelle D9 auf Übereinstimmung mit dem...
  8. MTRANS mit automatisch veränderter Matrix

    in Microsoft Excel Hilfe
    MTRANS mit automatisch veränderter Matrix: Hallo zusammen Ich folgenden Datensatz,: In Spalte A befinden sich Datum und Zeitwerte. Pro Tag habe ich 96 Zeilen (Viertelstundenwerte). Dies für 365 Tage. In Spalte B steht der entsprechende...
  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