8th Jul 2024 11 Leseminuten SQL für die Finanzberichterstattung Tihomir Babic SQL-Berichte Berichte erstellen mit SQL Inhaltsverzeichnis Kann SQL mit Finanzdaten umgehen? Einfaches Beispiel: Suche nach allen Verkäufen ab März 2024 Ein weiteres einfaches Beispiel: Summierung aller Verkäufe im März 2024 Weniger einfaches Beispiel: Vergleich der Umsätze von Monat zu Monat Das Problem mit traditionellen Finanzberichterstattungs-Tools SQL für die moderne Finanzberichterstattung Eine Tür zu fortschrittlicheren Finanzberichten Was muss ich jetzt tun? Lernen Sie SQL für das Finanzwesen SQL sollte Teil jedes modernen Finanzberichtsprozesses sein. Es kann mit Gigabytes von Daten umgehen und Finanzberechnungen in Sekundenbruchteilen durchführen. Es ist an der Zeit, sich von Abacus (auch bekannt als Excel!) zu verabschieden und SQL in der Finanzberichterstattung einzusetzen. Daten spielen eine zentrale Rolle bei der Entscheidungsfindung in Unternehmen. Dies gilt umso mehr für Finanzdaten. Das Hauptziel von Unternehmen ist es, Gewinne zu erzielen, und so ist es kein Wunder, dass Finanzdaten eine entscheidende Rolle im strategischen Entscheidungsprozess eines jeden modernen Unternehmens spielen. Solche Unternehmen bezeichnen sich selbst gerne als datengesteuert. In einem datengesteuerten Unternehmen werden Entscheidungen durch historische und aktuelle Finanzdaten gestützt. Daten sind entscheidend, um zu verstehen, ob sich die Leistung des Unternehmens verbessert und wie sie im Vergleich zur Konkurrenz und zum Branchendurchschnitt abschneidet. Sie können sogar fortgeschrittene statistische Techniken auf historische Daten anwenden, um zukünftige Trends vorherzusagen. SQL ist ein unverzichtbares Werkzeug für Unternehmen. Bei der Finanzberichterstattung geht es um riesige Datenmengen, die Sie nicht manuell verarbeiten können. SQL ist eine Programmiersprache, die für die Abfrage von Datenbanken und die Manipulation von Daten entwickelt wurde und sich daher ideal für die Verwaltung von Finanzdaten eignet. Wie SQL für die Finanzberichterstattung funktioniert, erfahren Sie in unserem SQL für Anfänger Kurs. Sie lernen, Daten aus einer oder mehreren Tabellen abzurufen, Daten zu filtern und zu aggregieren, komplexe Anweisungen zu schreiben, Mengenoperatoren zu verwenden und Berechnungen durchzuführen. Darüber hinaus lernen Sie in unserem Kurs SQL Reporting SQL in Szenarien der Finanzberichterstattung kennen. Zwei wichtige Teile dieses Kurses befassen sich mit Umsatztrends und Analysen des Kundenverhaltens mithilfe von SQL. In unseren Kursen ist das Lernen interaktiv; wir bieten Hunderte von Beispielen aus der Praxis, in denen Sie SQL-Berichtstechniken lernen und üben können. Kann SQL mit Finanzdaten umgehen? Diese Frage habe ich gerade SQL gestellt, und es hat mir geantwortet: "Klar, kein Problem!" Da haben Sie es: Für SQL spielt es wirklich keine Rolle, um welche Art von Daten es sich handelt. Finanzdaten sind für SQL einfach nur Daten. Die einzige Voraussetzung ist, dass die Daten in Datenbanken gespeichert sind. Sind Sie daran interessiert, die täglichen Kurse von Tausenden von Aktien zu analysieren? Oder tägliche Änderungen der Devisenkurse? Vielleicht verkaufte Produkte, angefallene Kosten, Bestandsverfolgung? All das lässt sich mit SQL sehr einfach erledigen. Ich möchte Ihnen einige Beispiele für die Verwendung von SQL für die Finanzberichterstattung zeigen. Einfaches Beispiel: Suche nach allen Verkäufen ab März 2024 Angenommen, Sie haben die Tabelle sales. Sie enthält die Verkaufsdaten vom 1. Januar 2024 bis zum 30. April 2024. Hier ist ein Schnappschuss davon: iddatevalue 12024-01-0126,524.60 22024-01-0241,657.94 ……… 322024-02-0129,367.07 332024-02-021,794.49 ……… 612024-03-0139,331.29 622024-03-0235,760.50 ……… 922024-04-0114,467.03 932024-04-023,926.08 ……… 1212024-04-3040,000.00 In Excel gehen Sie wahrscheinlich folgendermaßen vor: Sie wählen den Datumsbereich im Filter aus, kopieren die Ergebnisse in ein anderes Blatt, und schon haben Sie alle Verkäufe für März 2024. Aber auch SQL kann Daten filtern, und das geht viel schneller und einfacher. So verwenden wir WHERE, um alle Verkäufe für März 2024 zu finden: SELECT id, date, value FROM sales WHERE date BETWEEN '2024-03-01' AND '2024-03-31'; In SELECT wählen Sie alle Spalten aus, die Sie für die Ausgabe benötigen. In FROM geben Sie den Namen der Tabelle ein, die Sie abfragen möchten. Dies ist das Grundgerüst der Abfrage, das Sie in den meisten Fällen verwenden werden; der Rest wird an Ihre Bedürfnisse angepasst. In WHERE geben Sie den Namen der Spalte an, die Sie filtern möchten. Dann definieren Sie das Start- und Enddatum mit den Operatoren BETWEEN und AND. Am Ende erhalten Sie die Umsätze für jeden Tag im März 2024. Um Platz zu sparen, zeige ich nur die ersten zehn Zeilen. iddatevalue 612024-03-0139,331.29 622024-03-0235,760.50 632024-03-0345,585.98 642024-03-0439,274.69 652024-03-0531,454.49 662024-03-066,221.06 672024-03-0748,153.30 682024-03-0829,834.60 692024-03-0939,679.35 702024-03-1031,000.10 Ein weiteres einfaches Beispiel: Summierung aller Verkäufe im März 2024 Nachdem Sie nun die Zahlen für den März 2024 von den übrigen getrennt haben, können Sie sie summieren, um die gesamten März-Verkäufe zu erhalten. Hierfür gibt es in SQL die Funktion SUM(). In einer SQL-Abfrage können Sie Daten auf einmal filtern und summieren: SELECT SUM(value) AS total_march_2024_sales FROM sales WHERE date BETWEEN '2024-03-01' AND '2024-03-31'; Abgesehen von der Funktion SUM() bleibt die Abfrage im Wesentlichen gleich. Sie filtert die gleichen Daten und summiert dann alle gefilterten Werte. Eine kurze Abfrage und Sie erhalten dieses Ergebnis: total_march_2024_sales 870,126.13 Weniger einfaches Beispiel: Vergleich der Umsätze von Monat zu Monat Dies ist etwas, was man sehr oft in der Finanzanalyse macht: die Berechnung des Anstiegs/Rückgangs im Vergleich zum vorherigen Zeitraum. Es handelt sich um eine der häufigsten SQL-Abfragen im Finanzbereich. Diese Abfrage ist etwas länger als die anderen, aber es ist nicht nötig, jeden Teil des Codes zu verstehen. Ich möchte Ihnen nur zeigen, wie gut SQL für die Finanzberichterstattung geeignet ist. Sehen Sie es sich an: WITH monthly_sales AS ( SELECT TO_CHAR (date, 'YYYY-MM') AS month, SUM(value) AS total_sales FROM sales GROUP BY month ORDER BY month ) SELECT month, total_sales, total_sales - LAG(total_sales) OVER (ORDER BY month) AS difference_previous_month FROM monthly_sales; Im Wesentlichen handelt es sich um eine zweiteilige Abfrage. Im ersten Teil (der mit WITH beginnt und mit ORDER BY month endet) werden die Daten in Monate des Jahres umgewandelt und der Umsatzwert aggregiert, so dass wir diese Ausgabe erhalten. monthtotal_sales 2024-01745,397.15 2024-02760,853.08 2024-03870,126.13 2024-04738,800.97 Sie sehen, dass alle Werte bereits berechnet und ordentlich beschriftet sind. Wenn wir nur diesen Teil der Abfrage ausführen würden, bekämen wir genau das. Aber wir wollen diese Werte auch vergleichen. Im zweiten Teil der Abfrage werden die Umsätze eines jeden Monats mit denen des Vormonats verglichen. Dies geschieht mit der Funktion LAG(). Dies ist eine so genannte SQL-Fensterfunktion, d. h. eine Funktion, die mit einem Fenster (d. h. einer Teilmenge der Daten) arbeitet. Fensterfunktionen sind in der SQL-Finanzanalyse sehr nützlich. Wenn Sie die gesamte Abfrage ausführen, erhalten Sie diese Ausgabe. Hübsch, nicht wahr? monthtotal_salesdifference_previous_month 2024-01745,397.15NULL 2024-02760,853.0815,455.93 2024-03870,126.13109,273.05 2024-04738,800.97-131,325.16 Die Daten sind ordentlich beschriftet, die Umsätze werden für jeden Monat summiert, und es gibt einen Vergleich von Monat zu Monat. Stellen Sie sich vor, wie viel Zeit und Arbeit dies in Excel erfordern würde! Lassen Sie uns die Ausgabe schnell analysieren. Der Januar hat eine NULL, weil er der erste Monat ist und man seine Umsätze nicht mit irgendetwas vergleichen kann. Die Monate Februar und März zeigen einen Umsatzanstieg, während der April im Vergleich zum Vormonat einen deutlichen Rückgang aufweist. Diese Information könnte Ihnen etwas sagen; Sie sollten wahrscheinlich den Grund für diesen Rückgang herausfinden. Ist es die Saisonabhängigkeit? Tritt ein neuer Wettbewerber auf den Markt? Das müssen Sie selbst herausfinden. Weitere komplexe Beispiele für SQL für die Finanzberichterstattung finden Sie in diesen drei Beispielen aus der Praxis. Außerdem finden Sie hier einen Artikel über die Berechnung des Umsatzwachstums in SQL. Das Problem mit traditionellen Finanzberichterstattungs-Tools Die Finanzberichterstattung stützt sich auch heute noch weitgehend auf Excel oder ähnliche Tools. Sie wissen, was ich meine: die Arbeitsmappen mit einer immer größeren Anzahl von Arbeitsblättern. In jedem Arbeitsblatt werden Daten eingefügt oder gelöscht. Die Anzahl der verwendeten Filter, VLOOKUPs, Verknüpfungen zu vorherigen Blättern, Formeln wie SUM(), AVG(), IF(), IIF(), bedingte Formatierungen und Pivots ist endlos. Das ist eine Menge manueller Arbeit. Raten Sie mal! Manuelle Arbeit ist zeitaufwändig und fehleranfällig. Als ich vor vielen Monden in der Finanzberichterstattung tätig war, habe ich auch hauptsächlich Excel verwendet. Immer wenn ich gefragt wurde, ob meine Berichte korrekt seien, antwortete ich: "Ich bin mir nur sicher, dass sie einigermaßen korrekt sind" (Erstaunlicherweise wurde ich für diese Aussage nicht gefeuert). Die Sache ist die, dass jeder, der Berichte mit so viel manueller Arbeit erstellt, weiß, dass Fehler vorprogrammiert sind. Alles ist wunderbar, wenn die Berichte einigermaßen korrekt sind. Was aber, wenn sie unangemessen fehlerhaft sind und es niemandem auffällt? Man merkt den Fehler erst im nächsten Quartal: Man vergleicht die Zahlen mit dem Vorquartal, und sie stimmen einfach nicht überein. Sofortiger Angstschweiß! Sie öffnen Ihr Excel und stellen fest, dass das verdammte VLOOKUP() falsche Werte erfasst hat, weil jemand (waren Sie das?) an den Spalten herumgepfuscht hat. Ist es zu viel verlangt zu denken, dass ich nicht der Einzige bin, dem das passiert ist? Oder war ich einfach nur schlecht in meinem Job? Es gibt ein Mittel gegen all diese Beinahe-Herzinfarkt-Erfahrungen. SQL für die moderne Finanzberichterstattung Ja, die Abhilfe ist die Verwendung von SQL für die Finanzberichterstattung. Das Schreiben von SQL-Abfragen ersetzt all die dicken Excel-Tabellen. Mit SQL in der Finanzberichterstattung können Sie problemlos Daten hinzufügen und entfernen, sie zusammenführen, filtern und aggregieren. Sie können anspruchsvolle Aufgaben erledigen, wie z. B. die Analyse von Zeitreihen, die Berechnung laufender Summen, gleitende Durchschnitte oder die Gruppierung von Daten auf mehreren Ebenen. Und das alles geht schneller und genauer als in Excel. Hier sind einige Beispiele für die Verwendung von SQL zur Analyse von Finanzdaten. Mit anderen Worten: SQL ersetzt den größten Teil Ihrer manuellen Arbeit. Dadurch wird die Zahl der Fehlerquellen erheblich reduziert. Ihre Daten und Berichte werden genauer sein. Diesmal können Sie sogar sagen, dass der Bericht zu 100 % korrekt ist und dahinter stehen. Sie erstellen Analysen und Berichte um ein Vielfaches schneller und können Ihre Finanzberichterstattung dynamisch gestalten. Sobald Sie Ihre SQL-Abfragen eingerichtet haben, können Sie sie speichern und immer wieder verwenden, wenn Sie einen Bericht erstellen müssen. Sie werden sagen: "Aber die Daten ändern sich doch bei jedem Bericht!" Kein Problem; nehmen Sie ein paar kleine Änderungen an den Abfragedaten vor, führen Sie die Abfrage erneut aus, und schon ist Ihr Bericht fertig - Sie müssen nicht alle Schritte immer wieder von neuem durchlaufen. Die Verwendung von SQL für das Finanzdatenmanagement gibt Ihnen mehr Unabhängigkeit und Kontrolle. Sie müssen nicht mehr Ihre technisch versierteren Kollegen bitten, Daten für Sie aus der Datenbank zu extrahieren. Sie müssen nicht mehr darauf warten, dass sie das tun. Sie müssen nicht mehr (wieder!) darauf warten, dass sie das Gleiche (wieder!) tun, nur weil sie Ihnen die falschen Daten gegeben haben. Hat man Sie missverstanden? Oder haben sie einfach einen Fehler gemacht? Das ist nicht mehr Ihre Sorge! Mit SQL erhalten Sie die Daten, die Sie wollen, wann immer Sie sie wollen. Außerdem werden sich Ihre Beziehungen zu Ihren Kollegen verbessern, da diese sich nicht mehr mit dem lästigen Mitarbeiter der Finanzabteilung herumschlagen müssen. Eine Tür zu fortschrittlicheren Finanzberichten Durch den Einsatz von SQL in der Finanzberichterstattung wird Ihr Spiel noch besser. Es öffnet Ihnen die Tür zu fortschrittlicheren Finanzanalysen und Berichtstechniken. So lässt sich SQL beispielsweise in andere Technologien und Software integrieren, z. B. in Ihr geliebtes Excel. Sie finden es in SQL-Business-Intelligence-Tools - ich denke da an Tableau, Power BI und Qlik Sense -, die die Möglichkeiten zur Erstellung umfassender Finanzberichte, Visualisierungen und Dashboards erweitern. Mit SQL können Sie die Datenbanken vor Ort abfragen und zur Verwendung von Cloud-Technologien übergehen. Stichwort Amazon Web Services (AWS), Microsoft Azure oder Google Cloud. Und das Beste daran ist, dass SQL für die Finanzmodellierung und -prognose verwendet werden kann. Alle Prognosen beruhen auf historischen Daten. Sie können SQL-Abfragen im Finanzwesen verwenden, um historische Finanzdaten zu analysieren, dann fortgeschrittene Techniken anwenden und finanzielle Trends vorhersagen: Einnahmen Ausgaben Geldflüsse Verkäufe Inventarbedarf Kundenabwanderung Bruttomarge Betriebskapital Gewinn Aktienkurse Devisenkurse Zinssätze Ausschüttungen Rückzahlung von Schulden Zukünftige Investitionen Break-even-Punkte Was muss ich jetzt tun? Die einzige Antwort ist, dass Sie anfangen, SQL für die Finanzberichterstattung zu lernen. Unser SQL für Anfänger Kurs und die SQL Reporting Lernschiene sind auf Finanzexperten zugeschnitten. In diesen Kursen finden Sie reale Finanzszenarien und interaktive Übungen. Sie lernen nicht nur die SQL-Syntax, sondern erfahren auch, wie Sie diese Kenntnisse in der Finanzberichterstattung anwenden können. Lernen Sie SQL für das Finanzwesen Ich weiß, dass es manchmal schwer ist, mit den alten Gewohnheiten zu brechen - der alten Wir haben das schon immer so gemacht-Maxime . Es ist jedoch nicht klug, neue Technologien zu ignorieren, die Ihre Arbeit besser, schneller, weniger fehleranfällig und fortschrittlicher machen können. Wohlgemerkt, SQL ist keineswegs neu; es gibt es bereits seit 1974 (50 Jahre!) und wird seit den 1980er Jahren in großem Umfang eingesetzt. Es ist also an der Zeit, Excel als primäres Werkzeug aufzugeben und mit SQL zu arbeiten. Glauben Sie mir, ich weiß das; auch für mich war Excel früher alles. SQL erschien mir wie Zauberei: Man schreibt etwas auf einen leeren Bildschirm, drückt auf "Play", und schon kommen Daten heraus. Dahinter müssen dunkle Mächte stecken! Nachdem ich meine anfängliche Angst vor SQL-Abfragen überwunden hatte, wurde mir klar, wie praktisch SQL für die Finanzberichterstattung ist. Es ist fast so, als wäre es für die Arbeit mit Daten geschaffen worden. Wahrscheinlich ist es das auch. Und ich war nicht der Einzige, der diesen Schritt getan hat. Ich empfehle Ihnen also, mit unserem SQL für Anfänger Kurs zu beginnen und dann zu unserem SQL-Reporting-Kurs überzugehen. Wenn Sie wissen möchten, was Sie als Nächstes tun sollten, finden Sie hier einige Vorschläge zum Erlernen von SQL und einige der besten Online-SQL-Kurse für Finanzexperten. Probieren Sie es aus, und Sie werden die Veränderung bemerken! Sie werden Ihre Berichterstattungsprozesse verbessern. Und was noch wichtiger ist: Sie werden in der Lage sein, einen größeren Beitrag zur strategischen Entscheidungsfindung in Ihrem Unternehmen zu leisten und sogar dessen Rentabilität zu steigern. Tags: SQL-Berichte Berichte erstellen mit SQL