Funzione ISCROSSFILTERED (DAX)
Viene restituito TRUE quando il parametro columnName, o un'altra colonna nella stessa tabella o in una correlata, viene filtrato.
Sintassi
ISCROSSFILTERED(<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, o un'altra colonna nella stessa tabella o in una correlata, viene filtrato. In caso contrario, viene restituito FALSE.
Osservazioni
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 filtrandola. Una colonna viene definita filtrata direttamente quando il filtro o i filtri vengono applicati alla colonna.
Tramite la funzione correlata Funzione ISFILTERED (DAX) viene restituito TRUE quando il parametro columnName è filtrato direttamente.
Esempio
Nell'esempio seguente viene creata una misura e successivamente presentati scenari diversi per spiegare il comportamento di ISCROSSFILTERED(). È possibile seguire gli scenari scaricando il foglio di calcolo DAX_AdventureWorks.
Creare innanzitutto la misura seguente [Is ProductName Cross Filtered] nella tabella [Product].
=ISCROSSFILTERED(Product[ProductName])
Informazioni su ISCROSSFILTERED():
Dopo aver creato la misura, nella tabella pivot viene mostrato che [Is ProductName Cross Filtered] è FALSE, perché l'espressione non è stata filtrata. A questo punto, il risultato dovrebbe essere simile al seguente:
Is ProductName Cross Filtered
FALSE
Se nella tabella pivot non viene mostrato alcun risultato, trascinare la colonna [Is ProductName Cross Filtered] nella casella Valori.
Trascinare DateTime[CalendarYear] nella casella Etichette di colonna e SalesTerritory[SalesTerritoryGroup] nella casella Etichette di riga; tutti i valori dovrebbero essere visualizzati come FALSE. A questo punto, il risultato dovrebbe essere simile al seguente:
Is Product Name CrossFiltered
Etichette di colonna
Etichette di riga
2005
2006
2007
2008
Totale complessivo
Europe
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
ND
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
North America
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Pacific
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Totale complessivo
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Viene visualizzato il valore FALSE in tutte le celle perché né per DateTime[CalendarYear] né per SalesTerritory[SalesTerritoryGroup] è disponibile alcun effetto di filtro su Product[ProductName].
Trascinare la colonna ProductCategory[ProductCategoryName] nella casella Filtro dei dati orizzontale e ProductSubCategory[ProductSubCategoryName] nella casella Filtro dei dati verticale. Tutti i valori dovrebbero ancora essere visualizzati come FALSE, perché, quando si aggiunge una colonna alla casella del filtro dei dati, non si è ancora selezionato un set per il filtro dei dati. Pertanto, il risultato dovrebbe essere simile al seguente:
ProductCategoryName
Accessories
Bikes
Clothing
Components
ProductSubcategoryName
Is Product Name CrossFiltered
Etichette di colonna
Bib-Shorts
Etichette di riga
2005
2006
2007
2008
Totale complessivo
Bike-Racks
Europe
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bike-Stands
ND
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bottles and Cages
North America
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Bottom Brackets
Pacific
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Brakes
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Caps
Totale complessivo
FALSE
FALSE
FALSE
FALSE
FALSE
FALSE
Chains
Cleaners
Cranksets
Derailleurs
Fenders
Forks
Gloves
Handlebars
Headsets
Selezionare qualsiasi elemento nel filtro dei dati e tutte le celle nella tabella saranno modificate in TRUE perché si sta filtrando la colonna Product[ProductName] tramite le tabelle correlate ProductCategory e ProductSubcategory. I risultati dovrebbero essere simili al seguente:
ProductCategoryName
Accessories
Bikes
Clothing
Components
ProductSubcategoryName
Is Product Name CrossFiltered
Etichette di colonna
Bib-Shorts
Etichette di riga
2005
2006
2007
2008
Totale complessivo
Bike-Racks
Europe
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bike-Stands
ND
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bottles and Cages
North America
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Bottom Brackets
Pacific
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Brakes
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Caps
Totale complessivo
TRUE
TRUE
TRUE
TRUE
TRUE
TRUE
Chains
Cleaners
Cranksets
Derailleurs
Fenders
Forks
Gloves
Handlebars
Headsets
È possibile, a questo punto, sostituire il filtro dei dati con Product[ProductName] e Product[ModelName]. Finché non si seleziona un elemento in un filtro dei dati, tramite la misura viene restituito FALSE; tuttavia, quando si seleziona un elemento nel filtro dei dati, viene restituito TRUE perché si sta filtrando Product[ProductName] da solo o selezionando un Product[ModelName].
In conclusione, ISCROSSFILTERED() consente all'utente di determinare se il parametro columnName è filtrato direttamente nel contesto in cui viene valutata l'espressione DAX.
In questo esempio viene utilizzato il modello del foglio di calcolo di esempio di DAX_AdventureWorks.