# data[].attributes.body
CONDICIONALES
Las funciones lógicas actúan sobre una expresión para devolver información sobre los valores o los conjuntos de la expresión. Por ejemplo, puede usar la función IF para comprobar el resultado de una expresión y crear resultados condicionales.

AND | Comprueba si los dos argumentos son TRUE y devuelve TRUE si todos lo son.

BITAND | Devuelve una operación 'AND' bit a bit de dos números.

BITLSHIFT | Devuelve un número desplazado a la izquierda el número de bits especificado.

BITOR | Devuelve una operación 'OR' bit a bit de dos números.

BITRSHIFT | Devuelve un número desplazado a la derecha el número de bits especificado.

BITXOR | Devuelve una operación 'XOR' bit a bit de dos números.

COALESCE | Devuelve la primera expresión que no se evalúe como BLANK.

FALSE | Devuelve el valor lógico FALSE.

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

IF.EAGER | Comprueba una condición y devuelve un valor cuando es "TRUE"; en caso contrario, devuelve un segundo valor. Utiliza un plan de ejecución diligente que siempre ejecuta las expresiones de bifurcación independientemente de la expresión de condición.

IFERROR | Evalúa una expresión y devuelve un valor especificado si la expresión devuelve un error.

NOT | Cambia FALSE por TRUE o TRUE por FALSE.

OR | Comprueba si uno de los argumentos es TRUE para devolver TRUE.

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

TRUE | Devuelve el valor lógico TRUE.

# data[].attributes.body
Permite manipular los datos utlizando periodos de tiempo (ejemplo: días, meses y años) y realiza calculos de comparación entre periodos. Para utilizar funciones de Time Intelligencce es necesatio marcar las tablas que contineneta la columna de fecha como "Date Table"

# data[].attributes.body
IF es una función condicional que evalua una condición y returna cierto valor cuando la condición se cumple (TRUE), de lo contrario retorna otro valor. La función IF es parte de las funciones lógicas de DAX.

# data[].attributes.body
Se especifican una o más condiciones.
La función devuelve el valor de la fila que cumple con la o las condiciones especificadas.

# data[].attributes.headline
IF: Checks a condition, and returns one value when it's TRUE, otherwise it returns a second value.

# data[].attributes.subject
IF: Checks a condition, and returns one value when it's TRUE, otherwise it returns a second value.

# data[].attributes.body
IF(<logical_test>, <value_if_true>[, <value_if_false>])
arameters

TermDefinitionlogical_test | Any value or expression that can be evaluated to TRUE or FALSE.
value_if_true | The value that's returned if the logical test is TRUE.
value_if_false | (Optional) The value that's returned if the logical test is FALSE. If omitted, BLANK is returned.

# data[].attributes.body
Time intelligence in a DAX (Data Analysis Expressions) context refers to the set of functions and techniques used to perform calculations and analysis based on time-related data. DAX provides a robust set of time intelligence functions that are specifically designed to work with date and time data in Power BI, Power Pivot, and Analysis Services.

Some common scenarios where time intelligence in DAX is beneficial include calculating year-to-date, month-to-date, quarter-to-date, comparing data across different time periods, computing moving averages, and handling time-based calculations in a data model.

Here are a few important time intelligence functions in DAX:

1. TOTALYTD(): Calculates the total value across a specified time period, from the beginning of the year up to the given date.

2. TOTALQTD(): Calculates the total value across a specified time period, from the beginning of the quarter up to the given date.

3. TOTALMTD(): Calculates the total value across a specified time period, from the beginning of the month up to the given date.

4. DATESYTD(): Returns a table of dates from the beginning of the year up to the given date.

5. SAMEPERIODLASTYEAR(): Returns a table of dates for the same period in the previous year.

6. DATEADD(): Adds or subtracts a specific number of intervals (days, months, quarters, years) to a date.

By using these functions, you can create dynamic calculations that adapt to the date context of your analysis, enabling powerful time-based comparisons and trend analyses.

Time intelligence in DAX is especially useful when working with data that includes timestamps, such as sales data, financial data, or any dataset that involves time-based measurements. It helps users gain valuable insights into trends, seasonality, and performance over specific time periods, facilitating better decision-making and analysis.

# data[].attributes.body
In DAX, the LOOKUPVALUE() function is used to retrieve a single value from a specified column of a table or a table expression that matches one or more criteria. Here's the syntax of the LOOKUPVALUE() function:

LOOKUPVALUE(result_column, search_column1, search_value1, [search_column2, search_value2, ...])

result_column: The column from which you want to retrieve the result.

search_column1: The first column you want to search for the specified value.

search_value1: The value you want to find in search_column1.

[search_column2, search_value2, ...]: Optional additional columns and values to further filter the search.

Here's an example of how to use LOOKUPVALUE() to find a specific value based on certain criteria:

Let's say we have a table named "Sales" with columns "Product", "Region", and "Revenue." We want to retrieve the revenue for a specific product and region combination.

excel

Copy codeRevenueResult = LOOKUPVALUE(Sales[Revenue], Sales[Product], "Product A", Sales[Region], "North")

In this example, Sales[Revenue] is the result column (from where we want to retrieve the revenue), Sales[Product] is the first search column, and "Product A" is the value we want to find in the Sales[Product] column. Similarly, Sales[Region] is the second search column, and "North" is the value we want to find in the Sales[Region] column.

The LOOKUPVALUE() function will return the revenue for "Product A" in the "North" region, based on the provided criteria. If no match is found, it will return BLANK().

# data[].attributes.body
LOOKUPVALUE: similar a VLOOKUP en excel
sintaxis:

LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]

result_columnName | Nombre de una columna existente que contiene el valor que se quiere devolver. No puede ser una expresión.

search_columnName | Nombre de una columna existente. Puede estar en la misma tabla que result_columnName o en una relacionada. No puede ser una expresión. Se pueden especificar varios pares de search_columnName y search_value.

search_value | Valor que se buscará en search_columnName. Se pueden especificar varios pares de search_columnName y search_value.

alternateResult | (Opcional) Valor devuelto cuando el contexto de result_columnName se ha filtrado a cero o a más de un valor distinto. Si no se especifica, la función devuelve BLANK cuando result_columnName se filtra a cero valores o un error cuando hay más de un valor distinto en el contexto para result_columnName.

# data[].attributes.body
In a DAX (Data Analysis Expressions) context, conditionals refer to the use of logical expressions to make decisions and perform different calculations based on specified conditions. DAX provides several functions to handle conditionals, allowing you to create dynamic and flexible calculations in Power BI, Power Pivot, and Analysis Services.

The most commonly used conditional functions in DAX are:

-IF(): The IF function is used to evaluate a condition and return different results based on whether the condition is true or false. It follows this syntax:

IF(LogicalTest, ResultIfTrue, ResultIfFalse)

-SWITCH(): The SWITCH function is used to compare an expression against a list of possible values and return different results based on the matching value. It follows this syntax:

SWITCH(Expression, Value1, Result1, Value2, Result2, ..., [DefaultResult])

-IFERROR(): The IFERROR function is used to handle errors that may occur during a calculation and return a specified value if an error occurs. It follows this syntax:

1. IFERROR(Expression, ValueIfError)

-AND(): The AND function is used to evaluate multiple logical expressions and return TRUE if all conditions are true; otherwise, it returns FALSE.

-OR(): The OR function is used to evaluate multiple logical expressions and return TRUE if at least one condition is true; otherwise, it returns FALSE

-NOT(): The NOT function is used to negate a logical expression, returning the opposite boolean value.

You can use these conditional functions to perform various calculations and data transformations based on different conditions in your data model. For example, you can create calculated columns or measures that change their output based on specific criteria, apply filters conditionally, or implement dynamic aggregations.

Conditionals in DAX are powerful tools for building sophisticated data models and business intelligence solutions, enabling you to handle different scenarios and adapt your calculations to varying conditions within your dataset.

# data[].attributes.body
Funciones de inteligencia de tiempo

La característica Expresiones de análisis de datos (DAX) también incluye funciones de inteligencia de tiempo que permiten manipular datos mediante períodos de tiempo (incluidos días, meses, trimestres y años) y, luego, compilar y comparar cálculos durante esos períodos. Antes de usar cualquier función de inteligencia de tiempo, asegúrese de marcar una de las tablas que contienen la columna de fecha como Tabla de fechas.

En esta categoría

FunciónDescripciónCLOSINGBALANCEMONTH | Evalúa el valor de expression en la última fecha del mes en el contexto actual.
CLOSINGBALANCEQUARTER | Evalúa el valor de expression en la última fecha del trimestre en el contexto actual.
CLOSINGBALANCEYEAR | Evalúa el valor de expression en la última fecha del año en el contexto actual.
DATEADD | Devuelve una tabla que contiene una columna de fechas, desplazada hacia delante o hacia atrás en el tiempo, por el número especificado de intervalos desde las fechas del contexto actual.
DATESBETWEEN | Devuelve una tabla que contiene una columna de fechas que comienza con una fecha de inicio especificada y continúa hasta una fecha de finalización especificada.
DATESINPERIOD | Devuelve una tabla que contiene una columna de fechas que empieza por una fecha de inicio específica y sigue hasta el número y tipo de intervalos de fechas especificados.
DATESMTD | Devuelve una tabla que contiene una columna con las fechas del mes hasta la fecha, en el contexto actual.
DATESQTD | Devuelve una tabla que contiene una columna con las fechas del trimestre hasta la fecha, en el contexto actual.
DATESYTD | Devuelve una tabla que contiene una columna con las fechas del año hasta la fecha, en el contexto actual.
ENDOFMONTH | Devuelve la última fecha del mes del contexto actual para la columna de fechas especificada.
ENDOFQUARTER | Devuelve la última fecha del trimestre del contexto actual para la columna de fechas especificada.
ENDOFYEAR | Devuelve la última fecha del año del contexto actual para la columna de fechas especificada.
FIRSTDATE | Devuelve la primera fecha del contexto actual para la columna de fechas especificada.
FIRSTNONBLANK | Devuelve el primer valor de la columna, column, filtrado por el contexto actual, donde expression no está en blanco.
LASTDATE | Devuelve la última fecha del contexto actual para la columna de fechas especificada.
LASTNONBLANK | Devuelve el último valor de la columna, column, filtrado por el contexto actual, donde expression no está en blanco.
NEXTDAY | Devuelve una tabla que contiene una columna de todas las fechas del día siguiente, en función de la primera fecha especificada en la columna de fechas del contexto actual.
NEXTMONTH | Devuelve una tabla que contiene una columna de todas las fechas del mes siguiente, en función de la primera fecha de la columna de fechas del contexto actual.
NEXTQUARTER | Devuelve una tabla que contiene una columna de todas las fechas del trimestre siguiente, en función de la primera fecha de la columna de fechas del contexto actual.
NEXTYEAR | Devuelve una tabla que contiene una columna de todas las fechas del año siguiente, en función de la primera fecha de la columna de fechas del contexto actual.
OPENINGBALANCEMONTH | Evalúa expression en la primera fecha del mes del contexto actual.
OPENINGBALANCEQUARTER | Evalúa expression en la primera fecha del trimestre del contexto actual.
OPENINGBALANCEYEAR | Evalúa expression en la primera fecha del año en el contexto actual.
PARALLELPERIOD | Devuelve una tabla que contiene una columna de fechas que representa un período paralelo a las fechas de la columna de fechas especificada, en el contexto actual, con las fechas desplazadas un número de intervalos hacia delante o hacia atrás en el tiempo.
PREVIOUSDAY | Devuelve una tabla que contiene una columna de todas las fechas que representan el día anterior a la primera fecha de la columna de fechas, en el contexto actual.
PREVIOUSMONTH | Devuelve una tabla que contiene una columna de todas las fechas del mes anterior, en función de la primera fecha de la columna de fechas del contexto actual.
PREVIOUSQUARTER | Devuelve una tabla que contiene una columna de todas las fechas del trimestre anterior, en función de la primera fecha de la columna de fechas del contexto actual.
PREVIOUSYEAR | Devuelve una tabla que contiene una columna de todas las fechas del año anterior, en función de la última fecha de la columna de fechas del contexto actual.
SAMEPERIODLASTYEAR | Devuelve una tabla que contiene una columna de fechas desplazadas un año atrás en el tiempo desde las fechas de la columna de fechas especificada, en el contexto actual.
STARTOFMONTH | Devuelve la primera fecha del mes del contexto actual para la columna de fechas especificada.
STARTOFQUARTER | Devuelve la primera fecha del trimestre del contexto actual para la columna de fechas especificada.
STARTOFYEAR | Devuelve la primera fecha del año del contexto actual para la columna de fechas especificada.
TOTALMTD | Evalúa el valor de expression del mes hasta la fecha en el contexto actual.
TOTALQTD | Evalúa el valor de expression de las fechas del trimestre hasta la fecha en el contexto actual.
TOTALYTD | Evalúa el valor de year-to-date de expression en el contexto actual.

# data[].attributes.body
Las expresiones de análisis de datos (DAX) incluyen un conjunto de funciones de texto basadas en la biblioteca de funciones de cadena de Excel, pero que se han modificado para trabajar con tablas y columnas en modelos tabulares. En esta sección se describen las funciones de texto que hay disponibles en el lenguaje DAX.

FunciónDescripciónCOMBINEVALUES | combina dos o más cadenas de texto en una sola.
CONCATENATE | Combina dos cadenas de texto en una sola.
CONCATENATEX | Concatena el resultado de una expresión evaluada para cada fila de una tabla.
EXACT | Compara dos cadenas de texto y devuelve TRUE si son exactamente iguales, o FALSE en caso contrario.
FIND | Devuelve la primera posición de una cadena de texto en otra.
FIXED | Redondea un número al número de decimales especificado y devuelve el resultado como texto.
FORMAT | Convierte un valor en texto según el formato especificado.
LEFT | Devuelve el número de caracteres especificados desde el principio de una cadena de texto.
LEN | Devuelve el número de caracteres de una cadena de texto.
LOWER | Convierte todas las letras de una cadena de texto a minúsculas.
MID | Devuelve una cadena de caracteres de la mitad de una cadena de texto a partir de una posición inicial y una longitud.
REPLACE | REPLACE reemplaza la parte de una cadena de texto, según el número de caracteres que se especifique, por otra cadena de texto.
REPT | Repite el texto un número determinado de veces.
RIGHT | Devuelve el último carácter o caracteres de una cadena de texto, en función del número de caracteres que especifique.
SEARCH | Devuelve el número del carácter en el que se encuentra por primera vez un carácter o una cadena de texto específicos, de izquierda a derecha.
SUBSTITUTE | Reemplaza texto existente por otro nuevo en una cadena de texto.
TRIM | Quita todos los espacios del texto, excepto los espacios individuales entre palabras.
UNICHAR | Devuelve el carácter Unicode al que hace referencia el valor numérico.
UNICODE | Devuelve el código numérico que corresponde al primer carácter de la cadena de texto.
UPPER | Convierte una cadena de texto a letras mayúsculas.
VALUE | Convierte en un número una cadena de texto que representa un número.

# data[].attributes.body
Combina dos cadenas de texto en una sola. CONCATENATE(<text1>, <text2>)                La primera cadena de texto que se va a combinar en una sola. La cadena puede incluir texto o números. También puede usar referencias de columna. La segunda cadena de texto que se va a combinar en una sola.                                                        La cadena puede incluir texto o números. También puede usar referencias de columna.

La función CONCATENATE combina dos cadenas de texto en una sola. Los elementos combinados pueden ser texto, números, valores booleanos representados como texto o una combinación de esos elementos. También puede usar una referencia de columna si la columna contiene los valores adecuados.

La función CONCATENATE de DAX acepta solo dos argumentos, mientras que la función CONCATENATE de Excel acepta hasta 255 argumentos. Si necesita concatenar varias columnas, puede crear una serie de cálculos o usar el operador de concatenación (&) para combinarlas en una expresión más sencilla.

# data[].attributes.body
Analizar e investigar en base a la documentación oficial de DAX proporcionada por Microsoft, acerca del uso y aplicación de las siguientes funciones: LOOKUPVALUES(), Condicionales y Time Intelligence.

# data[].attributes.body
hola

# data[].attributes.body
Devuelve el valor para la fila que cumple todos los criterios que especifica al menos una de las condiciones de búsqueda.

LOOKUPVALUE (
<result_columnName>,
<search_columnName>,
<search_value>
[, <search2_columnName>, <search2_value>]…
[, <alternateResult>]
)

Parámetros

TérminoDefiniciónresult_columnName | Nombre de una columna existente que contiene el valor que se quiere devolver. No puede ser una expresión.
search_columnName | Nombre de una columna existente. Puede estar en la misma tabla que result_columnName o en una relacionada. No puede ser una expresión. Se pueden especificar varios pares de search_columnName y search_value.
search_value | Valor que se buscará en search_columnName. Se pueden especificar varios pares de search_columnName y search_value.
alternateResult | (Opcional) Valor devuelto cuando el contexto de result_columnName se ha filtrado a cero o a más de un valor distinto. Si no se especifica, la función devuelve BLANK cuando result_columnName se filtra a cero valores o un error cuando hay más de un valor distinto en el contexto para result_columnName.

Valor devuelto

El valor de result_columnName en la fila donde todos los pares de result_columnName y search_value tienen una coincidencia exacta.

Si no hay ninguna coincidencia que cumpla todos los valores de búsqueda, se devuelve BLANK o alternateResult, si se proporciona. En otras palabras, la función no devolverá un valor de búsqueda si solo coinciden algunos de los criterios.

Si varias filas coinciden con los valores de búsqueda y los valores de result_columnName para estas filas son idénticos, se devuelve ese valor. En cambio, si result_columnName devuelve valores distintos, se devuelve un error o alternateResult, si se proporciona.

Ejemplo 1
En este ejemplo, LOOKUPVALUE se emplea para buscar la tasa media de la moneda utilizada para pagar el pedido el día en que se realizó el pedido:

Exchange Rate =
LOOKUPVALUE (
'Currency Rate'[Average Rate],
'Currency Rate'[CurrencyKey], [CurrencyKey],
'Currency Rate'[DateKey], [OrderDateKey]
)

Tanto la fecha de pedido como la moneda son necesarias para encontrar la tasa media de la fecha y la moneda correctas. OrderDateKey y CurrencyKey son las claves que se usan para buscar la tasa media en la tabla Tipo de moneda.

Puede usar el tipo de cambio para calcular el importe de Sales ("ventas") en moneda local con:

Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]