Funzione ISFILTERED (DAX)

Viene restituito TRUE quando il parametro columnName viene filtrato direttamente. Se non è disponibile alcun filtro della colonna o se si attiva un filtro perché una colonna diversa nella stessa tabella o in una tabella correlata viene filtrata, tramite la funzione viene restituito FALSE.

Sintassi

ISFILTERED(<columnName>)

Parametri

  • columnName
    Nome di una colonna esistente tramite la sintassi DAX standard. Non può essere un'espressione.

Valore restituito

TRUE quando il parametro columnName viene filtrato direttamente.

Osservazioni

  • Il parametro columnName viene definito filtrato direttamente quando il filtro o i filtri vengono applicati alla colonna. Una colonna viene definita a filtro incrociato quando un filtro applicato a un'altra colonna nella stessa tabella o in una tabella correlata ha effetto sulla colonna columnName filtrando anche quest'ultima.

  • Tramite la funzione correlata Funzione ISCROSSFILTERED (DAX) viene restituito TRUE quando il parametro columnName, o un'altra colonna nella stessa tabella o in una correlata, viene filtrato.

Esempio

Nell'esempio seguente viene creata una misura e successivamente presentati scenari diversi per spiegare il comportamento di ISFILTERED(). È possibile utilizzare gli scenari scaricando il foglio di calcolo relativo ai dati di esempio delle espressioni DAX (Data Analysis Expression).

Creare innanzitutto la misura seguente [Is ProductName Filtered directly] nella tabella [Product].

=ISFILTERED(Product[ProductName])

Informazioni su ISFILTERED():

  1. Dopo aver creato la misura, nella tabella pivot viene mostrato che [Is ProductName Filtered directly] è FALSE, perché l'espressione non è stata filtrata. A questo punto, il risultato dovrebbe essere simile al seguente:

    Is ProductName Filtered directly

    FALSE

    Se nella tabella pivot non viene mostrato alcun risultato, trascinare [Is ProductName Filtered directly] nella casella Values.

  2. Trascinare ProductCategory[ProductCategoryName] nella casella Row Labels; tutti i valori dovrebbero essere ancora FALSE e la tabella dovrebbe essere simile alla seguente:

    Row Labels

    Is ProductName Filtered directly

    Accessories

    FALSE

    Bikes

    FALSE

    Clothing

    FALSE

    Components

    FALSE

    FALSE

    Grand Total

    FALSE

    Il motivo per cui nella tabella sono contenuti valori FALSE è che tramite ProductCategory[ProductCategoryName] vengono applicati filtri in modo indiretto o a incrocio a Product[ProductName], ma non si tratta di un filtro diretto della colonna.

  3. Trascinare Product[Status] nella casella Column Labels; tutti i valori dovrebbero essere ancora FALSE e la tabella dovrebbe essere simile alla seguente:

    Is ProductName Filtered directly

    Column Labels

    Row Labels

    Current

    Grand Total

    Accessories

    FALSE

    FALSE

    FALSE

    Bikes

    FALSE

    FALSE

    FALSE

    Clothing

    FALSE

    FALSE

    FALSE

    Components

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    FALSE

    Grand Total

    FALSE

    FALSE

    FALSE

    Nella tabella sono ancora presenti molti valori FALSE perché Product[Name] non viene filtrato direttamente mediante Product[Status].

  4. L'ultimo passaggio in questo processo consiste nel trascinare Product[Name] nella casella Report Filter. A questo punto nessun elemento dovrebbe essere stato modificato; tuttavia, una volta selezionato un nome di prodotto, i valori della tabella dovrebbero essere impostati su TRUE. A seconda del prodotto selezionato, la tabella dovrebbe essere simile alla seguente:

    ProductName

    Mountain-400-W Silver, 38

    Is ProductName Filtered directly

    Column Labels

    Row Labels

    Current

    Grand Total

    Accessories

    TRUE

    TRUE

    Bikes

    TRUE

    TRUE

    Clothing

    TRUE

    TRUE

    Components

    TRUE

    TRUE

    TRUE

    TRUE

    Grand Total

    TRUE

    TRUE

  5. In conclusione, ISFILTERED() consente all'utente di determinare se columnName è filtrato direttamente nel contesto in cui viene valutata l'espressione.

In questo esempio viene utilizzato il modello del foglio di calcolo di esempio di DAX_AdventureWorks

Vedere anche

Riferimento

Funzione ISCROSSFILTERED (DAX)

Funzione FILTERS (DAX)

Funzione HASONEFILTER (DAX)

Funzione HASONEVALUE (DAX)