CodeGym /Corsi /SQL SELF /Introduzione alle funzioni analitiche

Introduzione alle funzioni analitiche

SQL SELF
Livello 59, Lezione 0
Disponibile

Partiamo da un esempio semplice della vita reale. Immagina di essere il proprietario di una caffetteria. Ogni giorno arrivano clienti, fanno ordini e tu registri questi dati. Dopo un po’ vuoi sapere: quali bevande sono le più popolari? Qual è stato lo scontrino medio negli ultimi tre mesi? Quali giorni della settimana portano più incassi?

Queste domande sono esempi di problemi di analisi. L’analisi in questo caso aiuta a trasformare una “montagna di dati” in informazioni utili. E lavorare con l’analisi dentro il database non è magia, ma un set di strumenti che ti permette di rispondere a queste domande.

L’analisi spesso risolve problemi come:

  • Analisi delle metriche chiave (ad esempio, ricavi, scontrino medio, numero di ordini).
  • Creazione di report: tabelle, grafici, diagrammi.
  • Monitoraggio dei trend: come cambiano gli indicatori nel tempo.
  • Confronto dei dati (ad esempio, tra una regione e un’altra).

Questo è importante per prendere decisioni di business ragionate, ottimizzare i processi o anche prevedere risultati futuri.

Il ruolo di PL/pgSQL nell’analisi

Ora che abbiamo capito perché serve l’analisi, sorge la domanda: perché usare PL/pgSQL per questo? Non si possono esportare i dati in Excel e calcolare lì? Giusto?

PL/pgSQL permette di:

  • Automatizzare i calcoli. Perché ripetere manualmente le stesse azioni se puoi automatizzarle?
  • Gestire grandi volumi di dati tutto dal lato server. Generare report sul server elimina la necessità di trasferire grandi quantità di dati alle applicazioni client.
  • Creare query potenti con carico minimo. Lavorare velocemente ed efficientemente con tabelle grandi.

Esempio: puoi generare automaticamente ogni giorno un report sulle vendite e salvarlo in una tabella, così non devi farlo a mano.

Vantaggi dell’uso delle procedure per automatizzare l’analisi

Processo di analisi manuale:

  1. Prendi i dati dal database.
  2. Li elabori in qualche tabella.
  3. Salvi i risultati. Automazione tramite PL/pgSQL:
  4. Scrivi la procedura una volta sola.
  5. La fai partire in automatico secondo una pianificazione.
  6. Ti godi i risultati.

Tutto un altro livello di praticità, vero? :)

Esempi di problemi risolti dalle funzioni analitiche

Ecco alcuni problemi che puoi risolvere con le funzioni analitiche. Questi esempi ti aiuteranno a capire che le funzioni analitiche non sono qualcosa di astratto, ma uno strumento davvero utile.

Calcolo delle metriche chiave

Le metriche chiave sono indicatori di business che aiutano a valutare lo stato dell’attività. Ad esempio:

  • Scontrino medio: quanto spende in media un cliente per un acquisto.
  • Numero totale di ordini in un certo periodo.
  • Ricavi dalle vendite per categoria di prodotto.

Esempio di query SQL per lo scontrino medio:

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

Costruzione di serie temporali e trend

Supponiamo che tu voglia sapere come cambiano le vendite giorno per giorno. Per questo puoi aggregare i dati per data e costruire serie temporali.

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

Confronto dei dati tra periodi

E ora immagina di voler confrontare i ricavi di ottobre e settembre:

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

Questo approccio ti permette di trarre conclusioni: cosa è cambiato tra i mesi? Perché settembre è stato più di successo? O magari il contrario?

Come funziona nella vita reale?

Nella pratica reale, l’analisi viene applicata in questi scenari:

  1. Nel marketing: per capire quali canali portano più clienti.
  2. In finanza: per calcolare ricavi, perdite e fare previsioni.
  3. Nello sviluppo software: per analizzare le performance delle applicazioni.
  4. Nell’industria dei videogiochi: per analizzare il comportamento degli utenti e creare offerte personalizzate.

Ora che sai a cosa servono le funzioni analitiche, nelle prossime lezioni ci immergeremo negli aspetti tecnici, come l’uso delle window function e degli aggregati per costruire report. Intanto — prova a pensare a quali metriche vorresti analizzare tu e come questo potrebbe aiutare il tuo progetto!

2
Compito
SQL SELF, livello 59, lezione 0
Bloccato
Entrate per mese
Entrate per mese
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION