Con esempi di codice su come usarli

fotografato da Shubham Dhage SU Unsplash

Se sei un nuovo utente Redshift, potresti scoprire che la sintassi SQL varia da quella SQL che hai scritto in altri data warehouse.

Ogni data warehouse ha la propria versione di SQL e Redshift non fa eccezione.

All'inizio può essere frustrante scoprire che le tue funzioni preferite non esistono. Tuttavia, ci sono molte fantastiche funzioni Redshift di cui puoi trarre vantaggio nel tuo codice.

In questo articolo ti guiderò attraverso le funzioni Redshift più utili che ho scoperto nel mio lavoro. Ogni funzione include una definizione e un esempio di codice su come utilizzarla.

PERNO è una funzione integrata in Redshift che ti consente, beh, di ruotare i tuoi dati. Cosa intendo con questo? Il pivot ti consente di rimodellare i tuoi dati in cui i valori nelle righe diventano colonne o i valori nelle colonne diventano righe.

PIVOT può aiutarti:

  • contare i valori in una colonna
  • valori di riga aggregati
  • derivare campi booleani in base ai valori di colonna o riga

Recentemente ho utilizzato PIVOT in Redshift per scoprire se pagine diverse erano attive o meno per ciascun utente. Per fare ciò, avevo bisogno di PIVOT the page_typecampo e utilizzare il file user_id campo per raggruppare i dati.

Ho impostato una condizione all'interno della funzione PIVOT su COUNT

per ciascuno dei diversi tipi di pagina, poiché ogni utente può averne solo una per ciascun tipo.

Tieni presente che se un utente può avere più di ciascun tipo di pagina, l'utilizzo di COUNT per restituire un valore booleano non funzionerà.

SELECT
id,
has_homepage::boolean,
has_contacts_page::boolean,
has_about_page::boolean
FROM (SELECT id, page_type FROM user_pages WHERE is_active)
PIVOT(COUNT(*) FOR page_type IN ('home' AS has_homepage, 'contact' AS has_contact_page, 'about' AS has_about_page))

Il codice era simile al seguente: page_type Senza l'uso di PIVOT, avrei dovuto creare una CTE separata per ciascuna

e poi UNISCI tutti questi insieme nel CTE finale. L'uso di PIVOT ha reso il mio codice molto più chiaro e conciso.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *