So dynamisierst Du native SQL-Abfragen mit Power Query in Excel

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

ความคิดเห็น • 29

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

    Hallo Lars, besten Dank. Trifft genau die Anfrage. Liebe Grüße

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

      Hi Eugen, das freut mich sehr. Die Frage ist natürlich, WARUM Du das als SQL definieren willst, und nicht via Power Query erstellen willst (das foldet im Zweifel auch zurück und wird in SQL übersetzt), aber so wie gezeigt, würde ich Deine Anfrage umsetzen 😉

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

      Davon erhoffe ich mir einen Performance Vorteil (Abfrage Logik wird auf dem SQL Server ausgeführt) und in der Praxis eine bessere Handhabung ohne in die Powerquery Schritte durch den Editor eingreifen zu müssen...

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

      @@eugenherz7647 Ist Dir Query Folding in Power Query ein Begriff? Sofern Du eine Datenbank abfragst, versuchst Power Query die erstellte Abfrage in SQL zu übersetzen, so dass die Datenbank lediglich das Ergebnis der Abfrage an PQ zurückschickt und die Last nicht auf Deinem Client liegt. Das klappt nicht immer, weil nicht alle Transformationen aus PQ in SQL übersetzt werden könnten, aber der von mir gezeigte Fall, sollte auch über Filter in PQ lösbar sein. Und auch das könnte man über die Excel-Oberfläche steuern. Denk mal in Ruhe drüber nach 😉

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

    Hey Lars, wieder mal super erklärt. Vielen Dank dafür

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

    Echt gut und sympathisch erklärt. Danke!

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

      Herzlichen Dank für Dein Feedback und Dein SuperThanks. Das war mein erstes, JEMALS ☺️ Liebe Grüße, Lars

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

    Thanks!

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

    Großes Kino!

  • @DennisManzke
    @DennisManzke 6 หลายเดือนก่อน +1

    Danke für die tolle Erklärung. An einem Punkt wäre ich allerdings fast gescheitert und zwar hat bei mir die Firewall gemeckert. Ich musste für ein erfolgreiches Verknüpfen des Parameters unter Abfrageoptionen und Datenschutz die einstellen, dass die Sicherheitsstufen ignoriert werden sollen.

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

      Ja, der Hinweis auf die Formula.Firewall ist absolut richtig. Danke für diese Ergänzung 🙏

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

    Hi Lars, sehr gut erklärt. Ich selber hab vor etwa zwei Jahre eine sehr ähnliche Lösung für mich entwickelt. Ein Usecase bei mir waren vor allen Dinge sehr große und lange Tabellen aus Datenbanken. Diese kann man dann zwar im ETL-Prozess in PowerQuery selbst "kürzen", aber die Performance war dann nicht mehr die Beste (auch das angepriesene "Query Folding" half nicht), daher musste ich das direkt über SQL-Statements lösen (z.B. auch Joins in die Datenbankabfrage als SQL direkt ausführen, was häufig viel schneller geht). Neben externen Parametern kann man aber natürlich auch errechnete Werte ins SQL einbauen (z.B. das Datum von heute), da hat man wirklich alle Freiheiten und kann wirklich "verrückte" Sache so umsetzen...

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

      Danke für das Teilen Deiner Erfahrung 🙏🙂

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

    Hallo Lars, vielen Dank für die sehr verständliche Darstellung der Lösungsansätze. Eigentlich reicht ja doch eigentlich der Weg, den du mit 2 Parametern bechrieben hast, denn der dürfte auch bei nur einem Parameter funktionieren.

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

      Ja, absolut. Ich steigere in meinen Videos gern die Komplexität. Die zweite Lösung deckt alle Anwendungsfälle ab!

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

    Hallo Lars, super Video und Erklärung! Ich scheitere aktuell an einem Parameter vom Format "DATE" .... der Parameter wird mir im richtigen Format angezeigt. Nur wie muss ich die Syntax im SQL Query aufbauen? Hast Du da nen Tipp?

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

      Im Normallfall sollte die Syntax wie folgt aussehen:
      SELECT *
      FROM deine_tabelle
      WHERE dein_datum_feld = 'YYYY-MM-DD';
      Ich hoffe, das hilft Dir
      LG,
      Lars

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

      @@LarsSchreiber Hi Lars, vielen Dank! Das Datum möchte ich als dynamisches Feld /Variable abfragen und im Select verwenden 🙂 ... da hakt es gerade an der Syntax,

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

      Bringt Dich das hier weiter?
      let
      Quelle = #date(2024,8,7),
      DatumInFormBringen = Date.ToText( Quelle, "YYYY-MM-DD" ),
      #"SQL-Statement" = "SELECT * FROM deine_tabelle WHERE dein_datum_feld = '"& DatumInFormBringen &"';"
      in
      #"SQL-Statement"
      Der Schritt Quelle muss sich das Datum irgendwoher holen. Also aus einer Excel-Zelle, oder wo auch immer du das herholen musst. Der Rest bringt das Datum in die nötige Form und baut es ins SQL-Statement ein, inklusive der für SQL notwendigen Hochkommata.
      Ich hoffe das hilft.

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

      @@LarsSchreiber Vielen Dank! Werd ich gleich testen und meine Query umbauen!

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

    Werden die Date in Excel dann automatisch aktualisiert wenn sich die Daten in SQL ändern? Bzw. muss ich dann einfach nur aktualisieren gehen?

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

      Du musst manuell aktualisieren, oder in der Exceldatei einstellen, dass die Abfrage z. B. beim Öffnen der Datei aktualisiert wird. Power Query hat keine "Ahnung" davon, wann die Daten im SQL Server verändert wurden und kann somit auch nicht ohne weitere Hilfsmittel, wie z. B Power Automate, bei Veränderung des Basisdaten automatisch aktualisiert werden.

    • @Thwowspieler
      @Thwowspieler 10 วันที่ผ่านมา

      Du kannst per VB eine Abfrage auf deine Parameter Tabelle machen ob sich was aktualisiert. Daran hängst du ein Aktualisierungsmakro. Habe ich in einer meiner Tabellen drin, wenn jemand zum Beispiel ein Startdatum ändert, dann werden die Daten neu gezogen.

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

    Top - Coole Sache

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

    Hallo Lars, ich finde deine Erklärung immer super!
    Leider scheint hier TH-cam gerade den Ton zu unterdrücken.
    VG

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

      Neustart hat geholfen

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

      @@Pittyplatsch42dennoch danke für den Hilfeversuch ❤