Partager via


ALLNOBLANKROW

s’applique à :colonne calculéetable calculéeMeasurecalcul visuel

À partir de la table parente d’une relation, retourne all lignes, mais la ligne blank, orallvalues distincte d’une colonne, mais la ligne blank, and ignore tout contexte filters qui peut exister.

Syntaxe

ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )

Paramètres

Terme Définition
table Table sur laquelle all contexte filters sont supprimées.
column Colonne sur laquelle all contexte filters sont supprimées.

Un seul paramètre doit être passé ; le paramètre est une table or une colonne.

Retourner value

Une table, lorsque le paramètre passé était une table, or une colonne de values, lorsque le paramètre passé était une colonne.

Remarques

  • La fonction ALLNOBLANKROW n'filters que la ligne blank qu’une table parente, dans une relation, affiche lorsqu’il existe un or plus de lignes dans la table enfant qui ont des values non correspondantes à la colonne parente. Consultez l’exemple ci-dessous pour obtenir une explication approfondie.

  • Le tableau suivant résume les variations de ALL fournies dans DAX, and leurs différences :

    Utilisation de la fonction and Description
    ALL(Column) Supprime allfilters de la colonne spécifiée dans la table ; all d’autres filters dans la table, sur d’autres colonnes, s’appliquent toujours.
    ALL(Table) Supprime allfilters de la table spécifiée.
    ALLEXCEPT(Table,Col1,Col2...) Remplace all contexte filters dans la table except sur les colonnes spécifiées.
    ALLNOBLANK(table|column) À partir de la table parente d’une relation, retourne all lignes, mais la ligne blank, orallvalues distincte d’une colonne, mais la ligne blank, and ignore tout contexte filters qui peut exister

    Pour obtenir une description générale du fonctionnement de la fonction ALL, ainsi que des exemples pas à pas qui utilisent ALL(Table) andALL(Colonne), consultez ALL fonction.

  • Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).

Exemple

Dans les données sample, la table ResellerSales_USD contains une ligne sans valuesand ne peut donc pas être related à l’une des tables parentes dans les relations dans le classeur. Vous allez utiliser ce tableau dans un tableau croisé dynamique afin de voir le comportement de ligne blankand comment gérer le nombre de données non liées.

Étape 1 : Vérifier les données non liées

Ouvrez le de tableau croisé dynamique , puis sélectionnez la table ResellerSales_USD. Dans la colonne ProductKey, filter pour blankvalues. Une ligne restera. Dans cette ligne, all colonne values doit être blankexcept pour SalesOrderLineNumber.

Étape 2 : Créer un tableau croisé dynamique

Créez un tableau croisé dynamique, puis faites glisser la colonne, datetime. [CalendarYear], dans le volet Étiquettes de ligne. Le tableau suivant présente les résultats attendus :

Étiquettes de ligne
2005
2006
2007
2008
Total général

Notez l’étiquette blank entre 2008andgrand total. Cette étiquette blank représente le membre Inconnu, qui est un groupe spécial créé pour prendre en compte les values de la table enfant qui n’ont aucune value correspondante dans la table parente, dans cet exemple la datetime. [CalendarYear] colonne.

Lorsque vous voyez cette étiquette blank dans le tableau croisé dynamique, vous savez que dans certaines des tables related à la colonne, datetime. [CalendarYear], il existe blankvaluesorvaluesnon correspondantes . La table parente est celle qui affiche l’étiquette blank, mais les lignes qui not correspondance se trouvent dans une or plus de tables enfants.

Les lignes qui sont ajoutées à ce groupe d’étiquettes de blank sont soit values qui correspondent not à n’importe quelle value dans la table parente, par exemple, un date qui n’existe not dans la table datetime- orvaluesnull, ce qui signifie qu’aucun value pour date à all. Dans cet exemple, nous avons placé une blankvalue dans all colonnes de la table de ventes enfants. Avoir plus de values dans la table parente que dans les tables enfants n'not provoquer un problème.

Étape 3 : Count lignes à l’aide de ALLand ALLNOBLANK

Ajoutez les deux mesures suivantes à la table datetime, pour count les lignes de la table : Countrows ALLNOBLANK de datetime, CountrowsALL de datetime. Les formules que vous pouvez utiliser pour define ces mesures sont les suivantes :

// Countrows ALLNOBLANK of datetime  
= COUNTROWS(ALLNOBLANKROW('DateTime'))  
  
// Countrows ALL of datetime  
= COUNTROWS(ALL('DateTime'))  
  
// Countrows ALLNOBLANKROW of ResellerSales_USD  
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))  
  
// Countrows ALL of ResellerSales_USD  
= COUNTROWS(ALL('ResellerSales_USD'))  

Sur un blank tableau croisé dynamique, ajoutez datetime. [CalendarYear] colonne aux étiquettes de ligne, and ensuite ajouter les mesures nouvellement créées. Les résultats doivent ressembler au tableau suivant :

Étiquettes de ligne Countrows ALLNOBLANK de datetime Countrows ALL de datetime
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
Total général 1280 1281

Les résultats montrent une différence de 1 ligne dans les lignes de table count. Toutefois, if vous ouvrez le tableau croisé dynamique Powerwindowand sélectionnez la table datetime, vous ne pouvez find aucune ligne blank dans la table, car la ligne spéciale blank mentionnée ici est le membre Inconnu.

Étape 4 : Vérifier que le count est exact

Pour prouver que le ALLNOBLANKROW n'notcount aucune ligne véritablement blank, and gère uniquement la ligne spéciale blank sur la table parente uniquement, ajoutez les deux mesures suivantes à la table ResellerSales_USD : CountrowsALLNOBLANKROW de ResellerSales_USD, CountrowsALL de ResellerSales_USD.

Créez un tableau croisé dynamique, and faites glisser la colonne, datetime. [CalendarYear], dans le volet Étiquettes de ligne. Now ajoutez les mesures que vous venez de créer. Les résultats doivent ressembler à ce qui suit :

Étiquettes de ligne Countrows ALLNOBLANKROW de ResellerSales_USD Countrows ALL de ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
Total général 60856 60856

Now les deux mesures ont les mêmes résultats. Cela est dû au fait que la fonction ALLNOBLANKROW n'notcount vraiment blank lignes d’une table, mais gère uniquement la ligne blank qui est un cas spécial généré dans une table parente, lorsqu’une or plus des tables enfants de la relation contiennent des valuesorblankvaluesnon correspondantes.

fonctions Filter
ALL fonction
FILTER fonction