Condividi tramite


ALLNOBLANKROW

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

Dalla tabella padre di una relazione, restituisce tutte le righe ma la riga vuota o tutti i valori distinti di una colonna, ma la riga vuota e ignora tutti i filtri di contesto che potrebbero esistere.

Sintassi

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

Parametri

Termine Definizione
table Tabella in cui vengono rimossi tutti i filtri di contesto.
column Colonna in cui vengono rimossi tutti i filtri di contesto.

È necessario passare un solo parametro; il parametro è una tabella o una colonna.

Valore restituito

Una tabella, quando il parametro passato era una tabella o una colonna di valori, quando il parametro passato era una colonna.

Osservazioni

  • La funzione ALLNOBLANKROW filtra solo la riga vuota visualizzata da una tabella padre, in una relazione, quando nella tabella figlio sono presenti una o più righe con valori non corrispondenti alla colonna padre. Per una spiegazione completa, vedere l'esempio seguente.

  • La tabella seguente riepiloga le varianti di ALL fornite in DAXe le relative differenze:

    Funzione e utilizzo Descrizione
    ALL(Column) Rimuove tutti i filtri dalla colonna specificata nella tabella; tutti gli altri filtri nella tabella, su altre colonne, si applicano ancora.
    ALL(Table) Rimuove tutti i filtri dalla tabella specificata.
    ALLEXCEPT(Table,Col1,Col2...) Esegue l'override di tutti i filtri di contesto nella tabella, ad eccezione delle colonne specificate.
    ALLNOBLANK(table|column) Dalla tabella padre di una relazione, restituisce tutte le righe ma la riga vuota o tutti i valori distinti di una colonna, ma la riga vuota e ignora tutti i filtri di contesto che potrebbero esistere

    Per una descrizione generale del funzionamento della funzione ALL, insieme agli esempi passo passo che usano ALL(Tabella) e ALL(Colonna), vedere ALL funzione.

  • Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle regole di sicurezza a livello di riga.

Esempio

Nei dati di esempio la tabella ResellerSales_USD contiene una riga che non contiene valori e pertanto non può essere correlata a nessuna delle tabelle padre nelle relazioni all'interno della cartella di lavoro. Questa tabella verrà usata in una tabella pivot in modo che sia possibile visualizzare il comportamento delle righe vuote e come gestire i conteggi su dati non correlati.

Passaggio 1: Verificare i dati non correlati

Aprire la finestra Power Pivot, quindi selezionare la tabella ResellerSales_USD. Nella colonna ProductKey filtrare i valori vuoti. Una riga rimarrà. In tale riga tutti i valori di colonna devono essere vuoti, ad eccezione di SalesOrderLineNumber.

Passaggio 2: Creare una tabella pivot

Creare una nuova tabella pivot, quindi trascinare la colonna datetime. [Anno calendario], nel riquadro Etichette di riga. La tabella seguente mostra i risultati previsti:

Etichette di riga
2005
2006
2007
2008
Totale complessivo

Si noti l'etichetta vuota tra 2008 e totale complessivo. Questa etichetta vuota rappresenta il membro Unknown, ovvero un gruppo speciale creato per tenere conto di tutti i valori nella tabella figlio che non hanno alcun valore corrispondente nella tabella padre, in questo esempio datetime. [Anno calendario] colonna.

Quando viene visualizzata questa etichetta vuota nella tabella pivot, si sa che in alcune delle tabelle correlate alla colonna datetime. [Anno calendario], sono presenti valori vuoti o valori non corrispondenti. La tabella padre è quella che mostra l'etichetta vuota, ma le righe che non corrispondono si trovano in una o più tabelle figlio.

Le righe aggiunte a questo gruppo di etichette vuote sono valori che non corrispondono ad alcun valore nella tabella padre, ad esempio una data che non esiste nei valori datetime table- o Null, ovvero nessun valore per date. In questo esempio è stato inserito un valore vuoto in tutte le colonne della tabella di vendita figlio. La presenza di più valori nella tabella padre rispetto alle tabelle figlio non causa un problema.

Passaggio 3: Contare le righe usando ALL e ALLNOBLANK

Aggiungere le due misure seguenti alla tabella datetime per contare le righe della tabella: Countrows ALLNOBLANK di datetime, Countrows ALL di datetime. Le formule che è possibile usare per definire queste misure sono:

// 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'))

In una tabella pivot vuota aggiungere datetime. [Calendar Year] colonna alle etichette di riga e quindi aggiungere le misure appena create. I risultati dovrebbero essere simili alla tabella seguente:

Etichette di riga Countrows ALLNOBLANK di datetime Countrows ALL di datetime
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
Totale complessivo 1280 1281

I risultati mostrano una differenza di 1 riga nel conteggio delle righe della tabella. Tuttavia, se si apre la finestra Power Pivot e si seleziona la tabella datetime, non è possibile trovare alcuna riga vuota nella tabella perché la riga vuota speciale indicata qui è il membro Sconosciuto.

Passaggio 4: Verificare che il conteggio sia accurato

Per dimostrare che il ALLNOBLANKROW non conta righe veramente vuote e gestisce solo la riga vuota speciale solo nella tabella padre, aggiungere le due misure seguenti alla tabella ResellerSales_USD: Countrows ALLNOBLANKROW di ResellerSales_USD, Countrows ALL di ResellerSales_USD.

Creare una nuova tabella pivot e trascinare la colonna datetime. [Anno calendario], nel riquadro Etichette di riga. Aggiungere ora le misure appena create. I risultati dovrebbero essere simili ai seguenti:

Etichette di riga Conteggio ALLNOBLANKROW di ResellerSales_USD Conteggio ALL di ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
Totale complessivo 60856 60856

Ora le due misure hanno gli stessi risultati. Ciò è dovuto al fatto che la funzione ALLNOBLANKROW non conta righe veramente vuote in una tabella, ma gestisce solo la riga vuota generata in una tabella padre, quando una o più tabelle figlio nella relazione contengono valori non corrispondenti o valori vuoti.

funzioni filterALL funzioneFILTER