Power Query vs SQL
Series #5
Remove Duplicates vs Group By

Removing Duplicates Does Not Answer the Question. Grouping Does. Quitar duplicados no responde la pregunta. Agrupar sí.

Remove Duplicates vs Group By — unique rows are not the same as summarized rows. Quitar duplicados vs Agrupar — filas únicas no son lo mismo que filas resumidas.

After consolidating rows with Append, the next question is often: should we remove duplicates or summarize the data? These two actions look related, but they solve different problems. Remove Duplicates cleans the list. Group By answers the business question. Después de consolidar filas con Append, la próxima pregunta suele ser: ¿quitamos duplicados o resumimos los datos? Estas dos acciones parecen relacionadas, pero resuelven problemas diferentes. Quitar duplicados limpia la lista. Agrupar responde la pregunta de negocio.

Raw Sales TableTabla de ventas original

Customer
OrderID
Amount
Ana
1001
$50
Ana
1002
$75
Luis
1003
$40
Ana
1001
$50

One duplicated order appears twice.Una orden duplicada aparece dos veces.

Remove Duplicates / DISTINCTQuitar duplicados / DISTINCT

Customer
OrderID
Amount
Ana
1001
$50
Ana
1002
$75
Luis
1003
$40

It keeps unique visible rows.Conserva filas visibles únicas.

Group By / GROUP BYAgrupar / GROUP BY

Customer
Total
Orders
Ana
$125
2
Luis
$40
1

It summarizes rows into answers.Resume filas en respuestas.

12 Things That Separate Uniqueness from Summarization12 cosas que separan unicidad de resumen

DISTINCT is for uniqueness. GROUP BY is for answers. DISTINCT es para unicidad. GROUP BY es para respuestas.

1

Remove Duplicates = keep unique rowsQuitar duplicados = conservar filas únicas

Power Query

Keeps one version of repeated visible rows or selected columns.Conserva una versión de filas visibles repetidas o columnas seleccionadas.

SQL

DISTINCT returns unique combinations.DISTINCT devuelve combinaciones únicas.

SELECT DISTINCT customer, order_id, amount FROM sales;
Remember:Recuerda: It removes repeated rows, but does not calculate metrics.Elimina filas repetidas, pero no calcula métricas.
2

Group By = summarize rowsAgrupar = resumir filas

Power Query

Groups rows and applies aggregations like sum, count, average, min, or max.Agrupa filas y aplica agregaciones como suma, conteo, promedio, mínimo o máximo.

SQL

GROUP BY creates one result row per group.GROUP BY crea una fila resultado por grupo.

SELECT customer, SUM(amount) AS total_sales FROM sales GROUP BY customer;
Remember:Recuerda: It transforms detail into summary.Transforma detalle en resumen.
3

DISTINCT vs GROUP BY

Power Query

Remove Duplicates cleans repeated combinations.Quitar duplicados limpia combinaciones repetidas.

SQL

DISTINCT returns uniqueness. GROUP BY can calculate.DISTINCT devuelve unicidad. GROUP BY puede calcular.

Remember:Recuerda: Unique rows are not the same as summarized rows.Filas únicas no son lo mismo que filas resumidas.
4

Unique customer listLista única de clientes

Power Query

Remove Duplicates works when the goal is a clean list.Quitar duplicados sirve cuando la meta es una lista limpia.

SQL

SELECT DISTINCT customer returns one row per customer name.SELECT DISTINCT customer devuelve una fila por nombre de cliente.

SELECT DISTINCT customer FROM sales;
Remember:Recuerda: Use it for lists, not totals.Úsalo para listas, no para totales.
5

Sales by customerVentas por cliente

Power Query

Group By calculates a metric for each customer.Agrupar calcula una métrica por cada cliente.

SQL

GROUP BY customer with SUM(amount) answers the business question.GROUP BY customer con SUM(amount) responde la pregunta de negocio.

SELECT customer, SUM(amount) AS total_sales FROM sales GROUP BY customer;
Remember:Recuerda: If the question includes “how much,” you probably need Group By.Si la pregunta incluye “cuánto”, probablemente necesitas Agrupar.
6

Count rows vs remove rowsContar filas vs eliminar filas

Power Query

Group By can count how many records exist per category.Agrupar puede contar cuántos registros existen por categoría.

SQL

COUNT(*) measures volume; DISTINCT removes repetition.COUNT(*) mide volumen; DISTINCT elimina repetición.

Remember:Recuerda: Counting records is analysis. Removing records is cleaning.Contar registros es análisis. Eliminar registros es limpieza.
7

Duplicates depend on selected columnsDuplicados dependen de las columnas seleccionadas

Power Query

A row may be duplicate if you look at few columns, but unique if you look at all columns.Una fila puede ser duplicada mirando pocas columnas, pero única mirando todas.

SQL

DISTINCT applies to the columns in the SELECT list.DISTINCT aplica a las columnas del SELECT.

Remember:Recuerda: Define what “duplicate” means before removing anything.Define qué significa “duplicado” antes de eliminar algo.
8

Group By can hide detailAgrupar puede ocultar detalle

Power Query

After grouping, individual transactions are no longer visible in the result.Después de agrupar, las transacciones individuales ya no se ven en el resultado.

SQL

GROUP BY reduces granularity.GROUP BY reduce la granularidad.

Remember:Recuerda: Summaries are useful, but they remove row-level detail.Los resúmenes son útiles, pero eliminan detalle por fila.
9

Aggregations define the answerLas agregaciones definen la respuesta

Power Query

Sum, Count, Average, Min, and Max tell different stories.Suma, Conteo, Promedio, Mínimo y Máximo cuentan historias diferentes.

SQL

SUM(), COUNT(), AVG(), MIN(), MAX() change the result meaning.SUM(), COUNT(), AVG(), MIN(), MAX() cambian el significado del resultado.

Remember:Recuerda: The aggregation is the answer logic.La agregación es la lógica de la respuesta.
10

Remove Duplicates before Group ByQuitar duplicados antes de Agrupar

Power Query

Sometimes bad duplicates must be cleaned before calculating metrics.A veces hay que limpiar duplicados malos antes de calcular métricas.

SQL

Use a DISTINCT subquery or CTE before GROUP BY.Usa una subconsulta DISTINCT o CTE antes del GROUP BY.

WITH clean_sales AS ( SELECT DISTINCT customer, order_id, amount FROM sales ) SELECT customer, SUM(amount) AS total_sales FROM clean_sales GROUP BY customer;
Remember:Recuerda: Bad duplicates can inflate totals.Duplicados malos pueden inflar totales.
11

Group By before Remove DuplicatesAgrupar antes de Quitar duplicados

Power Query

Sometimes you summarize first, then remove repeated summary rows.A veces primero resumes y luego eliminas filas de resumen repetidas.

SQL

Deduplication can happen after an aggregation depending on the output.La deduplicación puede ocurrir después de una agregación según el resultado.

Remember:Recuerda: The order of transformations changes the result.El orden de las transformaciones cambia el resultado.
12

The question decides the toolLa pregunta decide la herramienta

Power Query

Use Remove Duplicates for clean lists. Use Group By for metrics.Usa Quitar duplicados para listas limpias. Usa Agrupar para métricas.

SQL

Use DISTINCT for uniqueness. Use GROUP BY for answers.Usa DISTINCT para unicidad. Usa GROUP BY para respuestas.

Remember:Recuerda: If you need a list, deduplicate. If you need a metric, aggregate.Si necesitas una lista, deduplica. Si necesitas una métrica, agrega.

Decision GuideGuía de decisión

Choose the action based on the question you are trying to answer. Escoge la acción según la pregunta que estás tratando de responder.

Use Remove Duplicates / DISTINCT when...Usa Quitar duplicados / DISTINCT cuando...

  • You need a clean unique list.Necesitas una lista única limpia.
  • You want one row per selected combination.Quieres una fila por combinación seleccionada.
  • You are removing accidental repeated records.Estás eliminando registros repetidos accidentales.

Use Group By / GROUP BY when...Usa Agrupar / GROUP BY cuando...

  • You need totals, counts, averages, min, or max.Necesitas totales, conteos, promedios, mínimo o máximo.
  • You want one row per category with a metric.Quieres una fila por categoría con una métrica.
  • You are answering a business question.Estás respondiendo una pregunta de negocio.

The Real LessonLa verdadera lección

  • Remove Duplicates cleans the list. It does not explain the data.Quitar duplicados limpia la lista. No explica los datos.
  • Group By answers the question. It turns records into metrics.Agrupar responde la pregunta. Convierte registros en métricas.
  • The selected columns matter. They define what is unique and what is summarized.Las columnas seleccionadas importan. Definen qué es único y qué se resume.
DISTINCT
GROUP BY
SUM
COUNT
Unique list
Business answer
Key message:Mensaje clave: DISTINCT is for uniqueness. GROUP BY is for answers.DISTINCT es para unicidad. GROUP BY es para respuestas.
Good next topic:Buen próximo tema: Conditional Column vs CASE WHEN — turning business rules into transformation logic.Columna condicional vs CASE WHEN — convertir reglas de negocio en lógica de transformación.
One-line LinkedIn angle:Ángulo de una línea para LinkedIn:

“DISTINCT is for uniqueness. GROUP BY is for answers. Confusing them is one of the fastest ways to create misleading reports.”“DISTINCT es para unicidad. GROUP BY es para respuestas. Confundirlos es una de las formas más rápidas de crear reportes engañosos.”