Cómo crear una columna condicional en Power BI (Power Query)
Una columna condicional en Power BI permite crear una nueva columna cuyo valor depende de reglas que tú defines — por ejemplo, marcar cada venta como «Alto», «Medio» o «Bajo» según el importe. Es una forma sencilla de categorizar datos directamente en Power Query, sin escribir fórmulas, e ideal para quien está empezando. Con un ejemplo práctico de clasificación de ventas, puedes hacerlo en pocos clics y entender lo que Power BI genera por detrás.
Requisitos previos
- Power BI Desktop instalado (la versión gratuita es suficiente).
- Una tabla ya cargada con al menos una columna numérica — por ejemplo, una columna
Ventas. - Nociones básicas de navegación en Power BI (no hace falta saber DAX).
Paso 1: Abrir el Power Query Editor
La columna condicional se crea en Power Query, el editor donde preparas los datos antes de usarlos en los objetos visuales. En la pestaña Inicio, haz clic en Transformar datos para abrir la ventana del Power Query Editor. A la izquierda, en la lista de consultas, selecciona la tabla donde quieres añadir la columna. Power Query registra cada transformación como un paso, así que siempre puedes volver atrás si algo sale mal.
Paso 2: Abrir la ventana Columna condicional
Con la tabla seleccionada, ve a la pestaña Agregar columna y haz clic en Columna condicional. Se abre una ventana donde defines el nombre de la nueva columna y las reglas «si… entonces…», todo de forma visual y sin escribir código. A diferencia de una columna calculada en DAX, esta columna se crea durante la carga de los datos, lo que suele mantener el modelo más ligero.
Paso 3: Definir las reglas (ejemplo)
Vamos a clasificar la columna Ventas en tres niveles. Rellena la ventana así:
- Nombre de la nueva columna:
Categoría - Si
Ventases mayor o igual que 1000, entonces «Alto». - Haz clic en Agregar cláusula y define: Si
Ventases mayor o igual que 500, entonces «Medio». - En el campo Si no, escribe «Bajo».
El orden de las cláusulas importa: Power Query lee de arriba abajo y aplica la primera regla verdadera. Por eso, coloca siempre las condiciones más restrictivas (el valor más alto) arriba; de lo contrario, todo caería en la primera regla. Puedes añadir tantas cláusulas como necesites para crear más niveles.
Consejo: si necesitas comparar texto en lugar de números, cambia el operador a «es igual a» y escribe el valor exacto que quieres comparar.
Paso 4: Ver el código M generado
Al hacer clic en Aceptar, Power Query escribe automáticamente el código en el lenguaje M. Puedes verlo en la barra de fórmulas o en el Editor avanzado, y se parece a este ejemplo:
= Table.AddColumn(Origen, "Categoría", each
if [Ventas] >= 1000 then "Alto"
else if [Ventas] >= 500 then "Medio"
else "Bajo")
Entender este código te ayuda a ajustar las reglas a mano cuando la ventana visual no basta — por ejemplo, para combinar dos condiciones en la misma línea.
Paso 5: Aplicar los cambios
En la pestaña Inicio, haz clic en Cerrar y aplicar. Power BI ejecuta los pasos de Power Query y carga la nueva columna Categoría en el modelo, lista para usar en objetos visuales, segmentaciones y medidas.
Verificar el resultado
Abre la vista de Datos (el icono de tabla a la izquierda) y comprueba que la columna Categoría muestra «Alto», «Medio» o «Bajo» según los valores de Ventas. Si aparece un error o valores en blanco, verifica que la columna Ventas sea realmente de tipo número: un tipo de datos incorrecto es la causa más común de fallo en una columna condicional. Para una prueba rápida, arrastra la columna Categoría a un objeto visual de tabla junto a Ventas y comprueba que cada importe recibe la etiqueta correcta.
Conclusión
Con pocos clics creaste una columna condicional en Power BI y categorizaste tus datos sin fórmulas complicadas, dejando el informe más claro y fácil de filtrar. El siguiente paso natural es probar reglas con dos condiciones a la vez (por ejemplo, ventas altas solo en una región concreta) o pasar la misma lógica a una columna calculada en DAX. ¿Cuál será la primera categoría que crearás en tus datos?