TREATAS

La función TREATAS aplica los valores contenidos en las columnas de una tabla como filtros en columnas de otra tabla no necesariamente relacionada con la primera.

Sintaxis

TREATAS(
    table_expression,
    column
    [, column...]
)

Parámetros
  • table_expression: Expresión que devuelve una tabla o nombre de una tabla existente.
  • column: Nombre de la columna o columnas de la segunda tabla a las que se van a aplicar los valores de table_expression como filtro.
Valor devuelto

La función TREATAS devuelve una tabla.

Información adicional

El número de columnas indicadas como argumentos deberá coincidir con el número de columnas de la tabla indicada por el argumento table_expression y tener el mismo orden.

En el caso de que dicho número de columnas sea igual a uno, simplemente se filtra la columna column según los valores presentes en table_expression. Si el número de columnas es superior a uno, los valores de las columnas que existan en table_expression se aplicarán como filtros a las columnas una a una. Es decir, si en table_expression tenemos las columnas A, B y C y en los argumentos column hemos especificado las columnas a, b y c, los valores de la columna A se aplicarán como filtro a la columna a, los valores de la columna B se aplicarán como filtro a la columna b, y los valores de la columna C se aplicarán como filtro a la columna c.

Los valores incluidos en la tabla table_expression que no existan en la tabla remota se ignoran.

Ejemplos

Supongamos que partimos del siguiente modelo de datos:

Modelo de datos

...en el que cada venta está asociada a un país, una región y una ciudad. Los países incluidos en dicha tabla son:

Países

Si creamos la siguiente medida:

Sales = SUM(Sales[Amount])

...podemos llevarla a una visualización tipo tarjeta para mostrar el total de ventas:

Suma de ventas

...sabiendo que esta cifra va a ser modificada por cualquier selección o filtro que hagamos a la tabla Geography.

Ahora introducimos una nueva tabla de países (Countries) en el modelo, tabla no relacionada con las anteriores:

Lista de países

La función TREATAS nos permite utilizar valores de esta última tabla para filtrar la tabla de Geography. Por ejemplo, vamos a crear una segmentación basada en el campo Name de esta tabla:

Países seleccionados

Obsérvese que hemos seleccionado cuatro países de los que solo dos están presentes en la tabla Geography.

Ahora creamos la siguiente medida:

Sales countries = 
    CALCULATE(
        [Sales],
        TREATAS(
            Countries,
            Geography[Country]
        )
    )

En ella estamos calculando la expresión Sales aplicando como valores de filtro en la columna Geography[Country] los valores seleccionados de Countries (en este caso la tabla en cuestión tiene una única columna, de forma que solo tenemos un argumento column en la expresión).

El resultado es el siguiente:

Cálculo de la medida Sales en el nuevo contexto de filtro

Los países seleccionados en la tabla Countries que no estén presente en el campo Geography[Country] simplemente se ignoran.

Categoría
Otras funciones
Enviado por admin el Jue, 18/07/2019 - 19:14