Tabellen auf Basis von DatumsBEREICHEN zusammenführen mit Power Query

Поделиться
HTML-код
  • Опубликовано: 9 ноя 2024

Комментарии • 26

  • @LarsSchreiber
    @LarsSchreiber  Год назад

    Moin zusammen, ich bin Euch noch den Link zu der Artikelreihe über 'Environments' schuldig, die ich zusammen mit Imke Feldmann geschrieben habe. Hier geht's lang: ssbi-blog.de/the-environment-concept-in-m-for-power-query-and-power-bi-desktop/ 😉

  • @a.f.-l.6454
    @a.f.-l.6454 2 месяца назад

    Ganz großes Kino.
    Danke für diese Erklärungen.

    • @LarsSchreiber
      @LarsSchreiber  2 месяца назад

      Herzlich gern. Schön, wenn es geholfen hat 😊

  • @Big_Paeschi
    @Big_Paeschi Год назад +1

    Krass abgefahren. Respekt, dass Du Dir so etwas erarbeitest.

  • @BerndKammereck
    @BerndKammereck 7 месяцев назад

    Das ist super erklärt, Lars! Sehr anschaulich und verständlich!

    • @LarsSchreiber
      @LarsSchreiber  7 месяцев назад

      Bernd, das freut mich, denn das war mein Ziel ☺️

  • @RobKenny81
    @RobKenny81 Год назад

    Lars, deine Videos sind der Hammer, du erklärst alles super Schritt für Schritt. Genau dieses Szenario in diesem Video hat mich vor einiger Zeit ein Kollege einmal gefragt. Einfach Perfekt. So, wie du es zuerst erklärt hast, die Version hätte ich auch irgendwie hin bekommen, aber mir gefällt die 2. (kompliziertere) Variante total gut, auf das wäre ich im Leben nie drauf gekommen. Danke Danke Danke 😊
    Ich arbeite eigentlich mit Excel und Power Query schon seit einiger Zeit und dachte, ich kenn mich ganz gut aus, aber ich lerne jeden Tag neu dazu. Ich hoffe du machst noch viele solcher Videos 😉

    • @LarsSchreiber
      @LarsSchreiber  Год назад +1

      Meine Güte, was ist denn hier los?! Ich bekomme in letzter Zeit viele solcher Kommentare und hüpfe vor Freude förmlich durch den Raum. Ich bin TOTAL happy, dass Dir das hilft. Danke fürs Zuschauen und ich drehe weiter Videos, wie es mir die Zeit erlaubt. Kein Ende in Sicht ;-)

  • @highestbuilding
    @highestbuilding Год назад

    Vielen Dank für das Video! Genau danach habe ich gesucht und werde morgen die erste Variante testen und dann sicher mehrfach einsetzen.

  • @a.f.-l.6454
    @a.f.-l.6454 2 месяца назад

    👍Danke!

    • @LarsSchreiber
      @LarsSchreiber  2 месяца назад

      Danke für Deine Wertschätzung 😊

  • @mwundisclosed
    @mwundisclosed Год назад +1

    Die zweite Variante gefällt mir viel besser... 🙂

    • @LarsSchreiber
      @LarsSchreiber  Год назад

      Sie ist dennoch häufig die langsamere. Daher stelle ich beide Varianten vor 😉

  • @thorstenchristiansen1838
    @thorstenchristiansen1838 Год назад +1

    Hallo Lars, vielen Dank wieder Megabeitrag!! Kann man eigentlich die aufgespannten Daten wieder zurücktransformieren in Spalten von/bis nachdem man zb. Die Daten nach bestimmten Kriterien gefiltert hat? Die Spalten von/bis sollen dann wieder die Daten von zusammenhängenden Daten beinhalten. Geht das? Ach und bietest Du demnächst wieder Power Query für Fortgeschrittene an? Danke und Gruß von der Nordsee!

    • @LarsSchreiber
      @LarsSchreiber  Год назад

      Hi Thorsten, danke fürs Feedback 🙂 Meinst Du sowas?!
      let
      Quelle = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwMFTSUTIw1DM01DMyMDIAcowN9QyMQRyQjFtmemmRgqFCUX5JapGCR2pOrlKsDrI+AxOYUkNTPUMDEMcISV9STmIpXGMsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [FIGUR = _t, #"VON DATUM" = _t, #"BIS DATUM" = _t, TEXTFELD = _t]),
      #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"FIGUR", Int64.Type}, {"VON DATUM", type date}, {"BIS DATUM", type date}, {"TEXTFELD", type text}}),
      #"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "Dates", each List.Transform(
      {Number.From([VON DATUM])..Number.From([BIS DATUM])}
      , each Date.From(_))),
      #"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte",{"VON DATUM", "BIS DATUM"}),
      #"Erweiterte Dates" = Table.ExpandListColumn(#"Entfernte Spalten", "Dates"),
      #"Geänderter Typ1" = Table.TransformColumnTypes(#"Erweiterte Dates",{{"Dates", type date}}),
      #"Gruppierte Zeilen" = Table.Group(#"Geänderter Typ1", {"FIGUR", "TEXTFELD"}, {{"von", each List.Min([Dates]), type nullable date}, {"bis", each List.Max([Dates]), type nullable date}})
      in
      #"Gruppierte Zeilen"
      Über die Gruppieren-Funktion kannst Du über MIN() und MAX() wieder auf die [Von Datum]- und [Bis Datum]-Spalten zurück... Ich hoffe, dass war was Du meinst. bzgl. der Schulungen: Danke für Dein Interesse. Offene Trainings habe ich momentan nicht im Plan, weil der Kalender wirklich randvoll ist. Sobald sich das ändert, seid Ihr hier die ersten, die das erfahren werden ;-)
      LG,
      Lars

    • @thorstenchristiansen1838
      @thorstenchristiansen1838 Год назад +1

      @@LarsSchreiber Hallo Lars, danke für die schnelle Antwort! Ich komme erst morgen dazu es zu testen und berichte dann!

    • @thorstenchristiansen1838
      @thorstenchristiansen1838 Год назад

      @@LarsSchreiber Hallo, vielen Dank noch einmal! Leider nicht ganz. Jetzt wird ja jeweils das erste und das letzte Datum ausgegeben über alle Datensätze. Es könnte ja Fälle geben die mehrere zusammenhängende Datumsreihen haben (in meinem Fall Fehlzeiten) Manchmal auch nur ein Tag. Dann müsste pro Pers. Nr wieder teilweise mehrere Datensätze mit von/bis ausgegeben werden. Ziel soll dann sein, zu sagen wie oft jemand krank war! Ich hoffe, ich habe es verständlich ausgedrückt ☺Lieben Dank vorab!

    • @LarsSchreiber
      @LarsSchreiber  Год назад

      Hi Thorsten, kannst Du mir mal Beispieldateien zukommen lassen? Dann schaue ich drauf, sobald ich Zeit finde.

  • @andreass.3130
    @andreass.3130 3 месяца назад

    Hallo Lars, vielen Dank für das (wieder mal) sehr lehrreiche Video. Eine Frage beschäftigt mich: Käme man bei der zweiten Variante nicht auch mit Bordmitteln zum Ziel, wenn man nach deinem Join die Tabelle extrahiert, eine Bedingte Spalte hinzufügt, in der man prüft, ob das Datum größer als das von Datum und kleiner als das bis Datum ist und das Ergebnis dann nach "Bedingung ist WAHR" filtert?

    • @LarsSchreiber
      @LarsSchreiber  2 месяца назад

      Hi Andreas,
      ich habe das Video nicht mehr in jedem Detail im Kopf, aber es klingt so, als wenn Deine Version auch funktionieren würde.
      Liebe Grüße,
      Lars

  • @ChristianSutterlüty
    @ChristianSutterlüty Год назад

    Hallo Liebe Lars,
    wow, ein Super Video. Für einen E-Carsharing-Betreiber hat sich die Fragestellung aufgetan, wie brav schließen die Kunden bei Reservierungsende an die Ladevorrichtung an. Haben wir Zeitstempel für Reservierungsbeginn und Reservierungsende und irgendwo dazwischen ist ein Zeitstempel von der Wallbox, wann der Ladestart erfolgt ist. Also genau invers zu deinem Video. Aber das hat trotzdem geklappt. Nun habe ich über zwei Jahre über 15 k Datensätze. Spannend.
    Habe die Abfrage nun gestartet und während ich diesen Kommentar geschrieben haben, hat er gerade mal 250 Sätze fertig und 800 MB Daten erzeugt. Vielleicht muss ich mir noch was leichteres Einfallen lassen?
    Cool finde ich die kleinen Tipps und Hinweise zur Sprache M. Das gibt viele aha. Und natürlich ist es auch sehr hilfreich in der Muttersprache etwas zu erfahren.
    Danke und schöne Grüße vom Bodensee

    • @LarsSchreiber
      @LarsSchreiber  11 месяцев назад

      Hi, das sollte performanter gehen. Welche der von mir gezeigten Methoden nutzt Du?! Die Expansion der Tabelle, oder die andere? Die Expandierte Tabelle könnte die schnellere Version sein! LG, Lars

  • @sebastianschneider9762
    @sebastianschneider9762 Год назад

    Exakt was ich gesucht habe, funktioniert auch prima, allerdings ist es bei sehr umfangreichen Daten extrem zeitaufwändig. Ich vermute, dass der Zwischenschritt mit dem "Lookup" die ohnehin schon umfangreichen Daten noch komplexer macht, um darauf im Nachgang das Datum zu filtern.
    In der Praxis möchte ich zu einem gebuchten Artikel einer Rechnung den zum Buchungszeitraum relevanten Einkaufspreis des Artikels ermitteln. In der Tabelle der Einkaufspreise gibt es mehrere Datensätze je Artikel mit einem Gültigkeitszeitraum.

    • @LarsSchreiber
      @LarsSchreiber  Год назад

      Hi Sebastian,
      kannst Du mir anonymisierte Beispieldaten an lars@ssbi-blog.de schicken?! Dann werfe ich da bei Gelegenheit mal nen Blick rein und drehe evtl. auch ein Video dazu.
      Danke und LG,
      Lars