Está en la página 1de 10

Medidas DAX con Power BI

Data Analysis
Expressions

Instructor: Salomón Ccance


capacitacion@powerbi.pe
http://powerbi.pe
T: 999-638-991 / 966-569-844
FUNCIONES LÓGICAS

LOGICAL FUNCTIONS

Las funciones lógicas actúan sobre una expresión para devolver información sobre los valores
o conjuntos en la expresión. Por ejemplo, puede usar la función IF para verificar el resultado
de una expresión y crear resultados condicionales.

1. AND

Comprueba si ambos argumentos son VERDADEROS y devuelve VERDADERO si ambos


argumentos son VERDADEROS. De lo contrario devuelve falso.

Sintaxis

AND(<logical1>,<logical2>)

Parámetros

Término Definición
logical_1, logical_2 Los valores lógicos que quieres probar.

Valor de retorno

Devuelve verdadero o falso según la combinación de valores que pruebe.

Observaciones

La función AND en DAX acepta solo dos (2) argumentos. Si necesita realizar una operación AND
en múltiples expresiones, puede crear una serie de cálculos o, mejor, usar el operador AND
(&) para unirlos a todos en una expresión más simple.

Ejemplo

o La siguiente fórmula muestra la sintaxis de la función AND.

=IF (AND (10 > 9, -10 < -1), "All true", "One or more false"

Debido a que ambas condiciones, pasadas como argumentos, a la función AND son
verdaderas, la fórmula devuelve "Todo verdadero".

o La siguiente muestra utiliza la función AND con fórmulas anidadas para comparar dos
conjuntos de cálculos al mismo tiempo. Para cada categoría de producto, la fórmula
determina si las ventas del año en curso y las ventas del año anterior del canal de
Internet son mayores que el canal de revendedor para los mismos períodos. Si ambas
condiciones son verdaderas, para cada categoría, la fórmula devuelve el valor "Internet
hit".

Función Y Etiquetas de columnas


Etiqueta de filas 2005 2006 2007 2008 Gran total

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

Bib-Shorts
Bastidores de bicicletas
Soportes para bicicletas Internet hit
Botellas y jaulas Internet hit
Soportes inferiores
Frenos
Tapas
Las cadenas
Limpiadores
Bielas
Desviadores
Defensas Internet hit
tenedores
Guantes
Bigote daliniano
Auriculares
Cascos
Mochilas de hidratación
Jerseys
Luces
Cabellos
Bicicletas de montaña
Marcos de montaña
Alforjas
Pedales
Zapatillas
Bicicletas de carretera
Cuadros de carretera
Monturas
Pantalones cortos
Calcetines
Medias
Neumáticos y tubos Internet hit
Bicicletas de turismo
Marcos de turismo
Chalecos
Ruedas
Gran total

= IF( AND( SUM( 'InternetSales_USD'[SalesAmount_USD])


>SUM('ResellerSales_USD'[SalesAmount_USD])
, CALCULATE(SUM('InternetSales_USD'[SalesAmount_USD]),
PREVIOUSYEAR('DateTime'[DateKey] ))
>CALCULATE(SUM('ResellerSales_USD'[SalesAmount_USD]),
PREVIOUSYEAR('DateTime'[DateKey] ))
)
, "Internet Hit"

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

, ""
)

2. OR

Comprueba si uno de los argumentos es VERDADERO para devolver VERDADERO. La función


devuelve FALSE si ambos argumentos son FALSE.

Sintaxis

OR(<logical1>,<logical2>)

Parámetros

Término Definición
logical_1, logical_2 Los valores lógicos que quieres probar.

Valor de retorno

Un valor booleano. El valor es VERDADERO si alguno de los dos argumentos es VERDADERO; el


valor es FALSO si ambos argumentos son FALSO.

Observaciones

 La función OR en DAX acepta solo dos (2) argumentos. Si necesita realizar una
operación OR en múltiples expresiones, puede crear una serie de cálculos o, mejor,
usar el operador OR (||) para unirlos a todos en una expresión más simple.

 La función evalúa los argumentos hasta el primer argumento VERDADERO, luego


devuelve VERDADERO.

Ejemplo

El siguiente ejemplo muestra cómo usar la función OR para obtener los vendedores que
pertenecen al Círculo de Excelencia. El Círculo de Excelencia reconoce a aquellos que han
logrado más de un millón de dólares en ventas de Touring Bikes o ventas de más de dos
millones y medio de dólares en 2007.

SalesPersonFlag Cierto
Función OR Etiquetas de columna
Etiquetas de
2005 2006 2007 2008 Gran total
fila
Abbas, Syed E
Alberts, Amy E
Ansman-
Wolfe, Pamela O.
Blythe, Circulo de Circulo de Circulo de Circulo de Circulo de Circulo de
Michael G excelencia excelencia excelencia excelencia excelencia excelencia

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

Campbell, David
R
Circulo de Circulo de Circulo de Circulo de Circulo de Circulo de
Carson, Jillian
excelencia excelencia excelencia excelencia excelencia excelencia
Ito, Shu K
Jiang, Stephen
Y
Mensa-Annan,
Tete A
Mitchell, Linda Circulo de Circulo de Circulo de Circulo de Circulo de Circulo de
C excelencia excelencia excelencia excelencia excelencia excelencia
Circulo de Circulo de Circulo de Circulo de Circulo de Circulo de
Pak, Jae B
excelencia excelencia excelencia excelencia excelencia excelencia
Reiter, Tsvi Michael
Saraiva,
Circulo de Circulo de Circulo de Circulo de Circulo de Circulo de
José
excelencia excelencia excelencia excelencia excelencia excelencia
edvaldo
Tsoflias, Lynn N
Valdez, Rachel
B
Vargas, Garrett
R
Varkey
Circulo de
Chudukatil,
excelencia
Ranjit R
Circulo de Circulo de Circulo de Circulo de Circulo de Circulo de
Gran total
excelencia excelencia excelencia excelencia excelencia excelencia

IF( OR( CALCULATE(SUM('ResellerSales_USD'[SalesAmount_USD]),


'ProductSubcategory'[ProductSubcategoryName]="Touring Bikes") > 1000000
, CALCULATE(SUM('ResellerSales_USD'[SalesAmount_USD]),
'DateTime'[CalendarYear]=2007) > 2500000
)
, "Circle of Excellence"
, ""
)
3. NOT

Cambia FALSO a VERDADERO, o VERDADERO a FALSO.


Sintaxis

NOT(<logical>)

Parámetros

Término Definición

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

Logical Un valor o expresión que se puede evaluar como VERDADERO o FALSO.

Valor de retorno

VERDADERO O FALSO.

Ejemplo

o El siguiente ejemplo recupera valores de la columna calculada que se creó para ilustrar
la función IF. Para ese ejemplo, la columna calculada fue nombrada usando el nombre
predeterminado, Columna calculada1, y contiene la siguiente fórmula:
=IF([Orders]<300,"true","false")

La fórmula verifica el valor en la columna, [Pedidos], y devuelve "verdadero" si el número de


pedidos es inferior a 300.

o Ahora cree una nueva columna calculada, Calculated Column2, y escriba la siguiente
fórmula. =NOT([CalculatedColumn1])

Para cada fila en la Columna calculada1, los valores "verdadero" y "falso" se interpretan como
los valores lógicos VERDADERO o FALSO, y la función NO devuelve el opuesto lógico de ese valor.

4. FALSE

Devuelve el valor lógico FALSO.

Sintaxis

FALSE()
Valor de Retorno

Siempre FALSO

Observaciones

La palabra FALSO también se interpreta como el valor lógico FALSO.

Ejemplo

o La fórmula devuelve el valor lógico FALSE cuando el valor en la columna,


'InternetSales_USD' [SalesAmount_USD], es menor o igual a 200000.

La siguiente tabla muestra los resultados cuando la fórmula de ejemplo se usa con
'ProductCategory' [ProductCategoryName] en las etiquetas de fila y 'DateTime' [CalendarYear]
en las etiquetas de columna.

Verdadero- Falso Etiquetas de columnas


Etiquetas de filas 2005 2006 2007 2008 Gran Total
Accesorios FALSE FALSE TRUE TRUE FALSE TRUE

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

Bicicletas TRUE TRUE TRUE TRUE FALSE TRUE


Ropa FALSE FALSE FALSE FALSE FALSE TRUE
Componentes FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE FALSE FALSE FALSE FALSE
Grand Total TRUE TRUE TRUE TRUE FALSE TRUE

=IF(SUM('InternetSales_USD'[SalesAmount_USD]) >200000, TRUE(), false())

5. TRUE

Devuelve el valor lógico VERDADERO.

Sintaxis

TRUE ()
Valor de retorno

Siempre VERDADERO.

Observaciones

La palabra VERDADERO también se interpreta como el valor lógico VERDADERO.

Ejemplo

o La fórmula devuelve el valor lógico VERDADERO cuando el valor en la columna,


'InternetSales_USD' [SalesAmount_USD], es mayor que 200000.

La siguiente tabla muestra los resultados cuando la fórmula de ejemplo se usa en una tabla
dinámica, con 'ProductCategory' [ProductCategoryName] en las etiquetas de fila y 'DateTime'
[CalendarYear] en las etiquetas de columna.

Verdadero- Etiquetas de columna


Falso
Etiquetas de 2005 2006 2007 2008 Grand Total
fila
Accesorios FALSE FALSE TRUE TRUE FALSE TRUE
Bicicletas TRUE TRUE TRUE TRUE FALSE TRUE
Ropa FALSE FALSE FALSE FALSE FALSE TRUE
Componentes FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE FALSE FALSE FALSE FALSE
Gran Total TRUE TRUE TRUE TRUE FALSE TRUE

= IF(SUM('InternetSales_USD'[SalesAmount_USD]) >200000, TRUE (), false ())

6. IF

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

Comprueba si una condición proporcionada como el primer argumento se cumple. Devuelve


un valor si la condición es VERDADERA, y devuelve otro valor si la condición es FALSA.

Sintaxis

IF(logical_test>,<value_if_true>, value_if_false)

Parámetros

Término Definición
Cualquier valor o expresión que se pueda evaluar como
prueba lógica
VERDADERO o FALSO.
El valor que se devuelve si la prueba lógica es VERDADERA. Si se
value_if_true
omite, se devuelve VERDADERO.
El valor que se devuelve si la prueba lógica es FALSE. Si se omite, se
value_if_false
devuelve FALSO.

Valor de retorno

Cualquier tipo de valor que puede ser devuelto por una expresión.
Observaciones

 Si se omite el valor de value_if_true o value_if_false, IF lo trata como un valor de


cadena vacía ("").
 Si el valor al que se hace referencia en la expresión es una columna, IF devuelve el valor
que corresponde a la fila actual.

 La función IF intenta devolver un solo tipo de datos en una columna. Por lo tanto, si los
valores devueltos por value_if_true y value_if_false son de diferentes tipos de datos, la
función IF convertirá implícitamente los tipos de datos para acomodar ambos valores
en la columna. Por ejemplo, la fórmula IF(<condition>, TRUE (),0) devuelve una columna
de unos y ceros y los resultados se pueden sumar, pero la fórmula IF(<condition>, TRUE
(), FALSE ()) solo devuelve valores lógicos. Para obtener más información sobre la
conversión implícita de tipos de datos, consulte Tipos de datos compatibles (SSAS
tabular) .

Ejemplo

o El siguiente ejemplo utiliza funciones IF anidadas que evalúan el número en la columna,


Llamadas, de la tabla FactCallCenter. La función asigna una etiqueta de la siguiente
manera: bajo si el número de llamadas es inferior a 200, medio si el número de
llamadas es inferior a 300 pero no inferior a 200, y alto para todos los demás valores.

=IF([Calls]<200,"low",IF([Calls]<300,"medium","high")) "))

o El siguiente ejemplo obtiene una lista de ciudades que contienen clientes potenciales
en el área de California mediante el uso de columnas de la tabla
ProspectiveBuyer. Debido a que la lista está destinada a planear una campaña que se
enfocará en personas casadas o con hijos en el hogar, la condición en la función SI

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

verifica el valor de las columnas [Estado del marital] y [Número de niños en el hogar], y
muestra la ciudad si alguna condición Se cumple y si el cliente está en california. De lo
contrario, da salida a la cadena vacía.

=IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" ||


[NumberChildrenAtHome] >1),[City])

Tenga en cuenta que los paréntesis se utilizan para controlar el orden en que se utilizan los
operadores AND (&&) y OR (||). También tenga en cuenta que no se ha especificado ningún
valor para value_if_false. Por lo tanto, la función devuelve el valor predeterminado, que es
una cadena vacía.

7. IFERROR

Evalúa una expresión y devuelve un valor especificado si la expresión devuelve un error; de lo


contrario, devuelve el valor de la expresión en sí.

Sintaxis

IFERROR(value, value_if_error)

Parámetros

Término Definición
Value Cualquier valor o expresión.
value_if_error Cualquier valor o expresión.

Valor de retorno

Un escalar del mismo tipo que valor

Observaciones

 Puede usar la función IFERROR para atrapar y manejar errores en una expresión.

 Si value o value_if_error es una celda vacía, IFERROR la trata como un valor de cadena
vacía ("").

 La función IFERROR se basa en la función IF y utiliza los mismos mensajes de error, pero
tiene menos argumentos. La relación entre la función IFERROR y la función IF es la
siguiente: IFERROR (A, B): = IF(ISERROR(A), B, A)

Tenga en cuenta que los valores que se devuelven para A y B deben ser del mismo tipo
de datos; por lo tanto, la columna o expresión utilizada para el valor y el valor devuelto
para value_if_error debe ser el mismo tipo de datos.

Ejemplo

o El siguiente ejemplo devuelve 9999 si la expresión 25/0 se evalúa como error. Si la


expresión devuelve un valor distinto del error, ese valor se pasa a la expresión que
invoca.

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe
FUNCIONES LÓGICAS

Código: =IFERROR(25/0,9999)

8. SWITCH

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

Sintaxis

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

Parámetros

Término Definición
Cualquier expresión DAX que devuelva un solo valor escalar, donde la
Expresión
expresión se evaluará varias veces (para cada fila / contexto).
Un valor constante que debe coincidir con los resultados de
Valor
la expresión.
Cualquier expresión escalar se evaluará si los resultados de
Resultado
la expresión coinciden con el valor correspondiente.
Cualquier expresión escalar se evaluará si el resultado de
Else
la expresión no coincide con ninguno de los argumentos de valor.

Valor de retorno

Un valor escalar proveniente de una de las expresiones de resultado, si hubo una


coincidencia con un valor, o de la expresión else, si no hubo ninguna coincidencia con
ningún valor.

Observaciones

Todas las expresiones de resultados y la expresión else deben ser del mismo tipo de datos.

Ejemplo

El siguiente ejemplo crea una columna calculada de nombres de meses.

=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" )

http://powerbi.pe T: 999-638-991 https://ccance.edu.pe


capacitacion@powerbi.pe T: 966-569-844 educa@ccance.edu.pe

También podría gustarte