Funciones iterativas

Funciones DAX en Power BI

Maarten Van den Broeck

Content Developer at DataCamp

Funciones iterativas

  • Itera por cada fila de una tabla para ejecutar una expresión

SUMX(<table>, <expression>) AVERAGEX(<table>, <expression>)

  • X significa eXpression
  • Permiten cálculos avanzados por fila
Funciones DAX en Power BI

Funciones iterativas: SUMX()

Ejemplo de columna calculada
Cost = Fact_Orders[Sales] - Fact_Orders[Profit]
Total Costs = SUM(Fact_Orders[Cost])
Sales Profit Cost
$77.88 $3.89 $73.99
$22.72 $10.22 $12.50
... ... ...
Costes totales
$2,569
Funciones DAX en Power BI

Funciones iterativas: SUMX()

Ejemplo de columna calculada
Cost = Fact_Orders[Sales] - Fact_Orders[Profit]
Total Costs = SUM(Fact_Orders[Cost])
Sales Profit Cost
$77.88 $3.89 $73.99
$22.72 $10.22 $12.50
... ... ...
Costes totales
$2,569
Ejemplo de función iterativa
Total Costs SUMX = 
SUMX(Fact_Orders,
     Fact_Orders[Sales] - Fact_Orders[Profit])
Costes totales SUMX
$2,569
Funciones DAX en Power BI

Filtrar funciones iterativas

  • Usa funciones de filtro, como FILTER(), para devolver una tabla filtrada
SUMX(
    FILTER(
        <table>,
        <filter>),
    <expression>)
Total Costs East SUMX = 
SUMX(
    FILTER(
        Fact_Orders,
        Fact_Orders[Region] = "East"),
    Fact_Orders[Sales] - Fact_Orders[Profit])
Funciones DAX en Power BI

Filtrar funciones iterativas

  • Usa funciones de filtro, como FILTER(), para devolver una tabla filtrada
SUMX(
    FILTER(
        <table>,
        <filter>),
    <expression>)
Total Costs East SUMX = 
SUMX(
    FILTER(
        Fact_Orders,
        Fact_Orders[Region] = "East"),
    Fact_Orders[Sales] - Fact_Orders[Profit])

$$ $$ $$ $$ $$ $$

Región Costes totales Costes totales East SUMX
Central $501,239.89
East $678,781.24 $678,781.24
South $391,721.91
West $725,457.82
TOTAL $2,297,200.86 $678,781.24
Funciones DAX en Power BI

Funciones iterativas: RANKX()

RANKX(
    <table>,
    <expression>)
  • Clasifica regiones por costes totales
Total Costs RANKX = 
RANKX(
    ALL(Dim_Sales[Region]),
    [Total Costs])
  • Usa ALL() para evaluar todas las filas de la tabla de dimensión
Funciones DAX en Power BI

Funciones iterativas: RANKX()

RANKX(
    <table>,
    <expression>)
  • Clasifica regiones por costes totales
Total Costs RANKX = 
RANKX(
    ALL(Dim_Sales[Region]),
    [Total Costs])
  • Usa ALL() para evaluar todas las filas de la tabla de dimensión

$$ $$ $$

Región Costes totales Costes totales RANKX
Central $725,457.82 1
East $678,781.24 2
South $501,239.89 3
West $391,721.91 4
Funciones DAX en Power BI

Operadores en DAX

Operadores de comparación
Operador Significado
= Igual a
== Igual estricto
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Distinto de
Funciones DAX en Power BI

Operadores en DAX

Operadores de comparación
Operador Significado
= Igual a
== Igual estricto
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Distinto de
Operador de texto
Operador Significado Ejemplo
& Concatena textos [City]&", "&[State]
Funciones DAX en Power BI

Operadores en DAX

Operadores de comparación
Operador Significado
= Igual a
== Igual estricto
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Distinto de
Operador de texto
Operador Significado Ejemplo
& Concatena textos [City]&", "&[State]
Operadores lógicos
Operador Significado Ejemplo
&& Condición AND ([City] = "Bru") && ([Return] = "Yes"))
|| Condición OR ([City] = "Bru") || ([Return] = "Yes"))
IN { } Condición OR por fila Product[Color] IN {"Red", "Blue", "Gold"}
Funciones DAX en Power BI

Lesson[Knowledge] IN {"Poor", "Great", "Awesome!"}

Funciones DAX en Power BI

Preparing Video For Download...