CodeGym /Kurse /SQL SELF /Einführung in analytische Funktionen

Einführung in analytische Funktionen

SQL SELF
Level 59 , Lektion 0
Verfügbar

Lass uns mit einem einfachen Beispiel aus dem Alltag starten. Stell dir vor, du bist Besitzer*in eines Cafés. Jeden Tag kommen Kund*innen zu dir, machen Bestellungen und du hältst diese Daten fest. Nach einer Weile willst du wissen: Welche Getränke sind am beliebtesten? Wie hoch war der durchschnittliche Kassenbon in den letzten drei Monaten? An welchen Wochentagen kommt am meisten Umsatz rein?

Diese Fragen sind Beispiele für Analytics-Aufgaben. Analytics hilft hier, aus einem "Datenhaufen" nützliche Infos zu machen. Und Analytics direkt in der Datenbank zu machen, ist keine Magie, sondern ein Set an Tools, mit denen du solche Fragen beantworten kannst.

Analytics löst oft Aufgaben wie:

  • Analyse von Key Metrics (zum Beispiel Umsatz, durchschnittlicher Kassenbon, Anzahl der Bestellungen).
  • Erstellung von Reports: Tabellen, Grafiken, Diagramme.
  • Monitoring von Trends: Wie verändern sich die Kennzahlen über die Zeit?
  • Vergleich von Daten (zum Beispiel aus einer Region mit einer anderen).

Das ist wichtig, um fundierte Business-Entscheidungen zu treffen, Prozesse zu optimieren oder sogar zukünftige Ergebnisse vorherzusagen.

Die Rolle von PL/pgSQL in der Analytics

Jetzt, wo wir wissen, warum Analytics wichtig ist, kommt die Frage: Warum eignet sich PL/pgSQL dafür? Man könnte die Daten doch auch einfach nach Excel exportieren und dort rechnen, oder?

PL/pgSQL ermöglicht dir:

  • Berechnungen zu automatisieren. Warum alles immer wieder manuell machen, wenn es auch automatisch geht?
  • Große Datenmengen direkt auf der Datenbankseite zu verarbeiten. Reports auf dem Server zu generieren spart dir das Hin- und Herschieben großer Datenmengen zu Client-Apps.
  • Starke Queries mit minimaler Last zu bauen. Schnell und effizient mit großen Tabellen arbeiten.

Beispiel: Du kannst jeden Tag automatisch einen Verkaufsreport erstellen und in einer Tabelle speichern, ohne das jedes Mal von Hand machen zu müssen.

Vorteile von Prozeduren zur Automatisierung von Analytics

So läuft die Analyse manuell ab:

  1. Daten aus der Datenbank holen.
  2. Sie in irgendeiner Tabelle bearbeiten.
  3. Ergebnisse speichern. Automatisierung mit PL/pgSQL:
  4. Einmal eine Prozedur schreiben.
  5. Nach Zeitplan laufen lassen.
  6. Ergebnisse genießen.

Schon ein ganz anderes Level an Praktikabilität, oder? :)

Beispiele für Aufgaben, die analytische Funktionen lösen

Hier ein paar Aufgaben, die du mit analytischen Funktionen lösen kannst. Diese Beispiele zeigen dir, dass analytische Funktionen nicht irgendwas Abstraktes sind, sondern ein mega nützliches Tool.

Berechnung von Key Metrics

Key Metrics sind Business-Kennzahlen, die dir helfen, den Zustand deines Geschäfts zu bewerten. Zum Beispiel:

  • Durchschnittlicher Kassenbon: Wie viel gibt ein Kunde im Schnitt aus.
  • Gesamtzahl der Bestellungen in einem bestimmten Zeitraum.
  • Umsatz nach Produktkategorien.

Beispiel-SQL-Query für den durchschnittlichen Kassenbon:

SELECT 
    SUM(order_amount) / COUNT(*) AS durchschnittlicher_kassenbon
FROM 
    orders
WHERE 
    order_date > CURRENT_DATE - INTERVAL '3 months';

Erstellung von Zeitreihen und Trends

Angenommen, du willst wissen, wie sich die Verkäufe pro Tag verändern. Dafür kannst du die Daten nach Datum aggregieren und Zeitreihen bauen.

SELECT
    order_date, 
    SUM(order_amount) AS tagesumsatz
FROM 
    orders
GROUP BY 
    order_date
ORDER BY 
    order_date;

Vergleich von Daten nach Zeiträumen

Und jetzt stell dir vor, du willst den Umsatz im Oktober und September vergleichen:

SELECT 
    EXTRACT(MONTH FROM order_date) AS monat, 
    SUM(order_amount) AS gesamtumsatz
FROM 
    orders
WHERE 
    order_date BETWEEN '2023-09-01' AND '2023-10-31'
GROUP BY 
    EXTRACT(MONTH FROM order_date);

Mit so einem Ansatz kannst du Schlüsse ziehen: Was hat sich zwischen den Monaten verändert? Warum war der September erfolgreicher? Oder vielleicht doch nicht?

Wie läuft das im echten Leben?

In der Praxis wird Analytics in folgenden Szenarien eingesetzt:

  1. Im Marketing: Um zu verstehen, welche Kanäle die meisten Kund*innen bringen.
  2. Im Finanzbereich: Für die Berechnung von Einnahmen, Verlusten und Forecasts.
  3. In der Softwareentwicklung: Für die Analyse der Performance von Apps.
  4. In der Gaming-Branche: Um das Verhalten der User zu analysieren und personalisierte Angebote zu bauen.

Jetzt, wo du weißt, wofür analytische Funktionen gut sind, tauchen wir in den nächsten Vorlesungen in die technischen Details ein – zum Beispiel, wie du Window Functions und Aggregates für Reports nutzt. Überleg dir bis dahin mal, welche Metriken du gerne analysieren würdest und wie das deinem Projekt helfen könnte!

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION