# data[].attributes.body
IF: Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor.

SWITCH: Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles.
Ejemplo: Descuentos por producto

RELATED: Devuelve un valor relacionado de otra tabla.
Ejemplo: Relacionar precios de la tabla productos con la tabla de transacciones

# data[].attributes.body
1.- Función IF
Uso: Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor.
Aplicación: Evaluar el monto de ventas por cada empleado, si este supera la base de monto mínimo de ventas se le agregara un porcentaje de comisión de ventas adicional, caso no se le agrega ningún porcentaje adicional.

2.- Función SWITCH
Uso: Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles.
Aplicación:

3.- Función RELATED
Uso: Devuelve un valor relacionado de otra tabla.
Aplicación:

# data[].attributes.body
IF

Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor.

La función IF corresponde a lo siguiente.

IF( <TestLógico>, <ResultadoVerdadero> [, <ResultadoFalso>] )

SWITCH

Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles.

Hay dos posibles sintaxis para esta función:

SWITCH(
expression,
value, result
[, value, result]…
[, else]
)

SWITCH(
TRUE(),
condition, result
[, condition, result]…
[, else]
)

Related

Devuelve un valor relacionado de otra tabla.

RELATED(<column>)

# data[].attributes.body
Función IF
Comprueba si se cumple una condición y devuelve un valor si es VERDADERO y otro valor si es FALSO.
Esta función puede devolver tipos de datos variante si value_if_true y value_if_false son de diferentes tipos de datos, pero la función intenta devolver un solo tipo de datos si tanto value_if_true como value_if_false son de tipos de datos numéricos.

Función Switch
Evalúa una expresión frente a una lista de valores y devuelve una de varias expresiones de resultado posibles.
El valor devuelto es un valor escalar procedente de una de las expresiones de resultado, si hubo una coincidencia con el valor, o de la otra expresión, si no hubo una coincidencia con ningún valor.

Función Related
Está función permite obtener un valor relacionado de otra tabla.

# data[].attributes.body
if = es una funcion condicional que devuelve falso o verdadero, T o F, puede servir para clasificar datos, para encontrar datos  IF(<logical_test>, <value_if_true>[, <value_if_false>])

switch = Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles. Forma mas elegante de anidar if.

related = La función RELATED requiere que haya una relación entre la tabla actual y la tabla con información relacionada. Si no existe ninguna relación, debe crear una. La función RELATED necesita un contexto de fila; por lo tanto, solo se puede usar en una expresión de columna calculada.

FILTER( 'InternetSales_USD', RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Esta expresión usa la función RELATED para buscar el valor de país en la tabla SalesTerritory, empezando por el valor de la columna de clave, SalesTerritoryKey, en la tabla InternetSales_USD. La función de filtro usa el resultado de la búsqueda para determinar si la fila InternetSales_USD está filtrada o no.

# data[].attributes.body
If es utilizado para comprobar una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor.

Sintaxis

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Cuando se necesiten anidar varias funciones IF, la función SWITCH podría es una mejor opción ya que Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles.

Sintaxis

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Por otra parte Related devuelve un valor relacionado de otra tabla. Valor único que está relacionado con la fila actual.

Sintaxis

RELATED(<column>)

# data[].attributes.body
If
comprueba que se cumpla la condición verdadero o falso.
IF(<logical_test>, <value_if_true>[, <value_if_false>])

Switch
comprueba una lista de expresiones y si cumple entra a la función y devuelve un valor escalar procedente de una de las expresiones
SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

Related

Obtengo el valor de la columna calculada entre la tabla actual y la tabla con información relacionada.,

# data[].attributes.body
IF
Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor.
DAX: IF(<logical_test>, <value_if_true>[, <value_if_false>])

SWITCH
Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles.
DAX: SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

RELATED
Devuelve un valor relacionado de otra tabla.
DAX:RELATED(<column>)

# data[].attributes.body
DAX es un lenguaje de fórmulas utilizado en Power BI y Power Pivot para crear cálculos y relaciones en tablas de datos.

La función IF en DAX permite evaluar una condición y devolver un valor si la condición se cumple y otro valor si no se cumple. La sintaxis es IF (condición, valor si cierto, valor si falso).

La función SWITCH en DAX se utiliza para evaluar una serie de condiciones y devolver un valor correspondiente a la primera condición que se cumpla. La sintaxis es SWITCH (expresión, valor1, resultado1, valor2, resultado2, ..., valor n, resultado n).

La función RELATED en DAX se utiliza para recuperar valores de una tabla relacionada. La sintaxis es RELATED (nombre de columna) y se utiliza en combinación con otras funciones DAX para crear fórmulas más complejas

# data[].attributes.body
FUNCIÓN SWITCH
Parámetros
Término          Definición
expression | Cualquier expresión DAX que devuelve un único valor escalar, donde la expresión se va a evaluar varias veces (para cada fila o contexto).
value           | Valor constante con el que van a coincidir los resultados de expression.
resultado    | Cualquier expresión escalar que se evaluará si los resultados de expression coinciden con el argumento value correspondiente.
else              | Cualquier expresión escalar que se evaluará si el resultado de expression no coincide con ninguno de los argumentos value.

Valor devuelto

Un valor escalar procedente de una de las expresiones result, si se ha producido una coincidencia con value o desde la expresión else, si no hay ninguna coincidencia con value.

Definición
Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles.

Ejemplo
= SWITCH([Month], 1, "January", 2, "February", 3, "March", 4, "April"
, 5, "May", 6, "June", 7, "July", 8, "August"
, 9, "September", 10, "October", 11, "November", 12, "December"
, "Unknown month number" )

En este ejemplo se crea una columna calculada de nombres de meses.

FUNCIÓN RELATED
Devuelve un valor relacionado de otra tabla.

Sintaxis: RELATED(<column>)

# data[].attributes.body
If: Comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devuelve un segundo valor, su uso es la de devolver un sólo valor, si ambos son tipos de datos numéricos.

Switch: Evalúa una expresión en una lista de valores y devuelve una de varias expresiones de resultado posibles, su uso en métricas y aplicaciones en valores escalares respecto de otros no medibles.

Related: Devuelve un valor relacionado de otra tabla, su uso es buscar el valor en de la columna clave, en función del filtro  en otra tabla relacionada.

# data[].attributes.body
FUNCIÓN IF

Parámetros

Término           Definición
logical_test | Cualquier valor o expresión que pueda evaluarse como TRUE o FALSE.
value_if_true | Valor que se devuelve si la prueba lógica es "true".
value_if_false | (Opcional) Valor que se devuelve si la prueba lógica es "false". Si se omite, se devuelve BLANK.

Valor devuelto

value_if_true, value_if_false o BLANK

Definición
La función IF puede devolver un tipo de datos variante si value_if_true y value_if_false son de diferentes tipos de datos, pero la función intenta devolver un solo tipo de datos si tanto value_if_true como value_if_false son de tipos de datos numéricos. En el último caso, la función IF convertirá de forma implícita los tipos de datos para alojar ambos valores.

Por ejemplo, la fórmula IF(<condition>, TRUE(), 0) devuelve TRUE o 0, pero la fórmula IF(<condition>, 1.0, 0) devuelve solo valores decimales aunque value_if_false sea de todo el tipo de datos numéricos. Para obtener más información sobre la conversión implícita de tipos de datos, vea Tipos de datos.

Para ejecutar las expresiones de bifurcación independientemente de la expresión de condición, utilice IF.EAGER en su lugar.

Ejemplo 1:

Price Group =
IF(
'Product'[List Price] < 500,
"Low"
)

En el primer ejemplo se prueba si el valor de la columna List Price es menor que 500. Cuando esta condición es "true", se devuelve el valor Low. Dado que no hay ningún valor en value_if_false, se devuelve BLANK.

Ejemplo 2:

Price Group =
IF(
'Product'[List Price] < 500,
"Low",
"High"
)

En el segundo ejemplo se usa la misma prueba, pero esta vez incluye un valor en value_if_false. Así pues, la fórmula clasifica cada producto como Low o High.

Ejemplo 3:

Price Group =
IF(
'Product'[List Price] < 500,
"Low",
IF(
'Product'[List Price] < 1500,
"Medium",
"High"
)
)

En el tercer ejemplo se usa la misma prueba, pero esta vez anida una función IF para realizar una prueba adicional. Así pues, la fórmula clasifica cada producto como Low, Medium o High.

# data[].attributes.body
Investigar sobre el uso y aplicacion de las siguientes funciones dax: if, switch y related.

# data[].attributes.body
If
Verifica una condición y devuelve un valor cuando es verdadero, de lo contrario devuelve un segundo valor.

IF(<logical_test>, <value_if_true>[, <value_if_false>])

SWITCH
Evalúa una expresión contra una lista de valores y devuelve una de las múltiples expresiones de resultados posibles.

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])

RELATED
Devuelve un valor relacionado de otra tabla

RELATED(<column>)