Tabellen auf Basis von DatumsBEREICHEN zusammenführen mit Power Query

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 พ.ย. 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/ 😉

  • @Big_Paeschi
    @Big_Paeschi ปีที่แล้ว +1

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

    • @LarsSchreiber
      @LarsSchreiber  ปีที่แล้ว

      Danke, ich lerne von den Besten 😉

  • @a.f.-l.6454
    @a.f.-l.6454 หลายเดือนก่อน

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

    • @LarsSchreiber
      @LarsSchreiber  หลายเดือนก่อน

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

  • @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 หลายเดือนก่อน

    👍Danke!

    • @LarsSchreiber
      @LarsSchreiber  หลายเดือนก่อน

      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 😉

  • @ChristianSutterlüty
    @ChristianSutterlüty 11 หลายเดือนก่อน

    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

  • @andreass.3130
    @andreass.3130 2 หลายเดือนก่อน

    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

  • @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.

  • @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