Filtro DAX - función CROSSFILTER

Descripción

Especifica la dirección de filtrado cruzado que se utilizará en un cálculo para una relación que existe entre dos columnas.

La función DAX CROSSFILTER es nueva en Excel 2016.

Sintaxis

CROSSFILTER (<columnName1>, <columnName2>, <direction>)

Parámetros

No Señor. Descripción de parámetros
1

columnName1

El nombre de una columna, totalmente calificado, que generalmente representa el lado de muchos o el lado de la tabla de datos (hechos) de la relación que se utilizará.

Si los argumentos se dan en orden inverso, la función los intercambiará antes de usarlos. Este argumento no puede ser una expresión.

2

columnName2

El nombre de una columna, totalmente calificado, que generalmente representa un lado o el lado de la tabla de búsqueda de la relación que se utilizará.

Si los argumentos se dan en orden inverso, la función los intercambiará antes de usarlos. Este argumento no puede ser una expresión.

3

direction

La dirección del filtro cruzado que se utilizará:

  • One - Filtra en uno o en el lado de la tabla de búsqueda del filtro de relación con muchos lados.

  • Both - Los filtros de cada lado filtran el otro.

  • None - No se produce ningún filtrado cruzado a lo largo de esta relación.

Valor devuelto

La función DAX CROSSFILTER no devuelve ningún valor.

La función DAX CROSSFILTER solo establece la dirección de filtrado cruzado para la relación indicada, durante la duración de la consulta.

Observaciones

  • En el caso de una relación 1: 1, no hay diferencia entre una y ambas direcciones.

  • CROSSFILTER solo se puede usar en funciones que toman un filtro como argumento. Por ejemplo, CALCULAR, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD y TOTALYTD.

  • CROSSFILTER utiliza las relaciones existentes en el modelo, identificando las relaciones por sus columnas de punto final.

  • En CROSSFILTER, la configuración de filtrado cruzado de una relación no es importante. Es decir, si la relación está configurada para filtrar una o ambas direcciones en el modelo no afecta el uso de la función. CROSSFILTER anulará cualquier configuración de filtrado cruzado existente.

  • Se devuelve un error si alguna de las columnas nombradas como argumento no es parte de una relación o los argumentos pertenecen a relaciones diferentes.

  • Si las expresiones CALCULATE están anidadas y más de una expresión CALCULATE contiene una función CROSSFILTER, entonces el CROSSFILTER más interno es el que prevalece en caso de conflicto o ambigüedad.

Ejemplo

= CALCULATE (Sales[Distinct Count of Products],
   CROSSFILTER (Sales[Product],Products[Product],Both))