La transformació i neteja de dades són processos essencials per assegurar que les dades que utilitzem en les nostres anàlisis siguin precises, coherents i útils. En aquest tema, aprendrem com utilitzar BigQuery per transformar i netejar dades de manera eficient.

Objectius d'aprenentatge

  • Comprendre la importància de la transformació i neteja de dades.
  • Aprendre a utilitzar funcions SQL per transformar dades.
  • Aprendre a identificar i corregir dades incorrectes o inconsistents.
  • Practicar amb exemples pràctics de transformació i neteja de dades a BigQuery.

Importància de la transformació i neteja de dades

La transformació i neteja de dades són passos crucials en el procés d'anàlisi de dades per les següents raons:

  • Qualitat de les dades: Dades netes i ben transformades asseguren que les anàlisis siguin precises i fiables.
  • Coherència: Les dades transformades de manera coherent permeten comparacions i anàlisis més fàcils.
  • Eficiència: Dades ben estructurades i netes permeten consultes més ràpides i eficients.

Funcions SQL per a la transformació de dades

BigQuery proporciona una àmplia gamma de funcions SQL que podem utilitzar per transformar dades. A continuació, es presenten algunes de les funcions més comunes:

Funcions de cadena

  • UPPER(string): Converteix una cadena a majúscules.
  • LOWER(string): Converteix una cadena a minúscules.
  • TRIM(string): Elimina espais en blanc al principi i al final d'una cadena.
  • SUBSTR(string, start_position, length): Extreu una subcadena d'una cadena.

Funcions numèriques

  • ROUND(number, decimal_places): Arrodoneix un número a un nombre específic de decimals.
  • CEIL(number): Arrodoneix un número cap amunt al nombre enter més proper.
  • FLOOR(number): Arrodoneix un número cap avall al nombre enter més proper.

Funcions de data i hora

  • DATE_ADD(date, INTERVAL int64_expression part): Afegeix un interval de temps a una data.
  • DATE_SUB(date, INTERVAL int64_expression part): Resta un interval de temps d'una data.
  • FORMAT_TIMESTAMP(format_string, timestamp): Converteix un timestamp a una cadena amb un format específic.

Exemples pràctics de transformació de dades

Exemple 1: Normalitzar cadenes de text

Suposem que tenim una taula customers amb una columna name que conté noms de clients en diferents formats. Volem normalitzar aquests noms a majúscules.

SELECT
  customer_id,
  UPPER(name) AS normalized_name
FROM
  customers;

Exemple 2: Arrodonir valors numèrics

Tenim una taula sales amb una columna amount que conté valors de vendes amb molts decimals. Volem arrodonir aquests valors a dos decimals.

SELECT
  sale_id,
  ROUND(amount, 2) AS rounded_amount
FROM
  sales;

Exemple 3: Convertir timestamps a dates

Tenim una taula events amb una columna event_timestamp que conté timestamps. Volem extreure només la data.

SELECT
  event_id,
  DATE(event_timestamp) AS event_date
FROM
  events;

Identificació i correcció de dades incorrectes o inconsistents

Exemple 1: Eliminar duplicats

Suposem que tenim una taula orders amb possibles duplicats. Volem eliminar les files duplicades basant-nos en la columna order_id.

SELECT
  DISTINCT order_id,
  customer_id,
  order_date,
  amount
FROM
  orders;

Exemple 2: Tractar valors nuls

Tenim una taula products amb una columna price que conté valors nuls. Volem substituir els valors nuls per zero.

SELECT
  product_id,
  IFNULL(price, 0) AS price
FROM
  products;

Exercicis pràctics

Exercici 1: Normalitzar correus electrònics

Tenim una taula users amb una columna email que conté correus electrònics en diferents formats. Volem normalitzar aquests correus a minúscules.

Consulta:

SELECT
  user_id,
  LOWER(email) AS normalized_email
FROM
  users;

Exercici 2: Arrodonir preus

Tenim una taula items amb una columna price que conté preus amb molts decimals. Volem arrodonir aquests preus a l'enter més proper.

Consulta:

SELECT
  item_id,
  ROUND(price) AS rounded_price
FROM
  items;

Exercici 3: Convertir timestamps a dates

Tenim una taula logs amb una columna log_timestamp que conté timestamps. Volem extreure només la data.

Consulta:

SELECT
  log_id,
  DATE(log_timestamp) AS log_date
FROM
  logs;

Resum

En aquesta secció, hem après la importància de la transformació i neteja de dades, així com diverses funcions SQL que podem utilitzar per transformar dades a BigQuery. També hem vist exemples pràctics i hem practicat amb exercicis per reforçar els conceptes apresos. La transformació i neteja de dades són passos essencials per assegurar que les nostres anàlisis siguin precises i fiables.

Curs de BigQuery

Mòdul 1: Introducció a BigQuery

Mòdul 2: SQL bàsic a BigQuery

Mòdul 3: SQL intermedi a BigQuery

Mòdul 4: SQL avançat a BigQuery

Mòdul 5: Gestió de dades a BigQuery

Mòdul 6: Optimització del rendiment de BigQuery

Mòdul 7: Seguretat i compliment de BigQuery

Mòdul 8: Integració i automatització de BigQuery

Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)

Mòdul 10: Casos d'ús de BigQuery en el món real

© Copyright 2024. Tots els drets reservats