Filtre DAX - Fonction CROSSFILTER

La description

Spécifie la direction de filtrage croisé à utiliser dans un calcul pour une relation qui existe entre deux colonnes.

La fonction DAX CROSSFILTER est nouvelle dans Excel 2016.

Syntaxe

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

Paramètres

N ° Sr. Paramètre et description
1

columnName1

Le nom d'une colonne, pleinement qualifié, qui représente généralement le côté plusieurs ou le côté table de données (fait) de la relation à utiliser.

Si les arguments sont donnés dans un ordre inverse, la fonction les échangera avant de les utiliser. Cet argument ne peut pas être une expression.

2

columnName2

Le nom d'une colonne, pleinement qualifié, qui représente généralement le côté unique ou le côté table de recherche de la relation à utiliser.

Si les arguments sont donnés dans un ordre inverse, la fonction les échangera avant de les utiliser. Cet argument ne peut pas être une expression.

3

direction

La direction du filtre croisé à utiliser -

  • One - Filtres sur un côté ou côté table de recherche du filtre de relation avec plusieurs côtés.

  • Both - Les filtres de chaque côté filtrent l'autre.

  • None - Aucun filtrage croisé ne se produit le long de cette relation.

Valeur de retour

La fonction DAX CROSSFILTER ne renvoie aucune valeur.

La fonction DAX CROSSFILTER définit uniquement la direction du filtrage croisé pour la relation indiquée, pendant la durée de la requête.

Remarques

  • Dans le cas d'une relation 1: 1, il n'y a pas de différence entre une et les deux directions.

  • CROSSFILTER ne peut être utilisé que dans les fonctions qui prennent un filtre comme argument. Par exemple, les fonctions CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD et TOTALYTD.

  • CROSSFILTER utilise les relations existantes dans le modèle, identifiant les relations par leurs colonnes de point de fin.

  • Dans CROSSFILTER, le paramètre de filtrage croisé d'une relation n'est pas important. Autrement dit, que la relation soit définie pour filtrer une ou les deux directions dans le modèle n'affecte pas l'utilisation de la fonction. CROSSFILTER remplacera tout paramètre de filtrage croisé existant.

  • Une erreur est renvoyée si l'une des colonnes nommées comme argument ne fait pas partie d'une relation ou si les arguments appartiennent à des relations différentes.

  • Si les expressions CALCULATE sont imbriquées et que plusieurs expressions CALCULATE contiennent une fonction CROSSFILTER, alors le CROSSFILTER le plus interne est celui qui prévaut en cas de conflit ou d'ambiguïté.

Exemple

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