ALLNOBLANKROW
aplica-se a:coluna calculadatabela calculadamedidacálculo visual
Na tabela pai de uma relação, retorna todas as linhas, exceto a linha em branco, ou todos os valores distintos de uma coluna, mas a linha em branco, e desconsidera todos os filtros de contexto que possam existir.
Sintaxe
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
Parâmetros
Prazo | Definição |
---|---|
table |
A tabela sobre a qual todos os filtros de contexto são removidos. |
column |
Uma coluna sobre a qual todos os filtros de contexto são removidos. |
Apenas um parâmetro deve ser passado; o parâmetro é uma tabela ou uma coluna.
Valor de retorno
Uma tabela, quando o parâmetro passado era uma tabela ou uma coluna de valores, quando o parâmetro passado era uma coluna.
Observações
A função ALLNOBLANKROW filtra apenas a linha em branco que uma tabela pai, em uma relação, mostrará quando houver uma ou mais linhas na tabela filho que tenham valores não correspondentes à coluna pai. Veja o exemplo abaixo para obter uma explicação completa.
A tabela a seguir resume as variações de
ALL
fornecidas em DAXe suas diferenças:Função e uso Descrição ALL(Column)
Remove todos os filtros da coluna especificada na tabela; todos os outros filtros na tabela, em outras colunas, ainda se aplicam. ALL(Table)
Remove todos os filtros da tabela especificada. ALLEXCEPT(Table,Col1,Col2...)
Substitui todos os filtros de contexto na tabela, exceto nas colunas especificadas. ALLNOBLANK(table|column)
Na tabela pai de uma relação, retorna todas as linhas, exceto a linha em branco, ou todos os valores distintos de uma coluna, mas a linha em branco, e desconsidera todos os filtros de contexto que possam existir Para obter uma descrição geral de como a função ALL funciona, juntamente com exemplos passo a passo que usam ALL(Tabela) e ALL(Coluna), consulte ALL função.
Essa função não tem suporte para uso no modo DirectQuery quando usada em colunas calculadas ou regras de RLS (segurança em nível de linha).
Exemplo
Nos dados de exemplo, a tabela ResellerSales_USD contém uma linha que não tem valores e, portanto, não pode estar relacionada a nenhuma das tabelas pai nas relações dentro da pasta de trabalho. Você usará essa tabela em uma Tabela Dinâmica para que possa ver o comportamento da linha em branco e como lidar com contagens em dados não relacionados.
Etapa 1: verificar os dados não relacionados
Abra a janela power pivote selecione a tabela ResellerSales_USD. Na coluna ProductKey, filtre valores em branco. Uma linha permanecerá. Nessa linha, todos os valores de coluna devem estar em branco, exceto SalesOrderLineNumber.
Etapa 2: Criar uma Tabela Dinâmica
Crie uma nova Tabela Dinâmica e arraste a coluna, datetime. [Ano Civil], no painel Rótulos de Linhas. A tabela a seguir mostra os resultados esperados:
Rótulos de linha |
---|
2005 |
2006 |
2007 |
2008 |
Total Geral |
Observe o rótulo em branco entre 2008 e Grand Total. Esse rótulo em branco representa o membro Desconhecido, que é um grupo especial que é criado para considerar os valores na tabela filho que não têm nenhum valor correspondente na tabela pai, neste exemplo, o datetime. Coluna [Ano Civil].
Quando você vir esse rótulo em branco na Tabela Dinâmica, você sabe que em algumas das tabelas relacionadas à coluna, datetime. [Ano Civil], há valores em branco ou valores não correspondentes. A tabela pai é aquela que mostra o rótulo em branco, mas as linhas que não correspondem estão em uma ou mais tabelas filho.
As linhas que são adicionadas a esse grupo de rótulos em branco são valores que não correspondem a nenhum valor na tabela pai, por exemplo, uma data que não existe na tabela datetime ou valores nulos, o que significa nenhum valor para a data. Neste exemplo, colocamos um valor em branco em todas as colunas da tabela de vendas filho. Ter mais valores na tabela pai do que nas tabelas filhos não causa um problema.
Etapa 3: Contar linhas usando ALL e ALLNOBLANK
Adicione as duas medidas a seguir à tabela datetime, para contar as linhas da tabela: Countrows ALLNOBLANK dodatetime, Countrows ALL de datetime. As fórmulas que você pode usar para definir essas medidas são:
// 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'))
Em uma tabela dinâmica em branco, adicione datetime. [Ano Civil] coluna aos rótulos de linha e, em seguida, adicione as medidas recém-criadas. Os resultados devem ser semelhantes à tabela a seguir:
Rótulos de linha | Countrows ALLNOBLANK de datetime | Contagens ALL de datetime |
---|---|---|
2005 | 1280 | 1281 |
2006 | 1280 | 1281 |
2007 | 1280 | 1281 |
2008 | 1280 | 1281 |
1280 | 1281 | |
Total Geral | 1280 | 1281 |
Os resultados mostram uma diferença de 1 linha na contagem de linhas da tabela. No entanto, se você abrir a janela Power Pivot e selecionar a tabela datetime, não poderá encontrar nenhuma linha em branco na tabela porque a linha em branco especial mencionada aqui é o membro Desconhecido.
Etapa 4: Verificar se a contagem é precisa
Para provar que o ALLNOBLANKROW não conta linhas verdadeiramente em branco e apenas manipula a linha em branco especial na tabela pai, adicione as duas medidas a seguir à tabela ResellerSales_USD: Countrows ALLNOBLANKROW de ResellerSales_USD, Countrows ALL de ResellerSales_USD.
Crie uma tabela dinâmica e arraste a coluna, datetime. [Ano Civil], no painel Rótulos de Linhas. Agora, adicione as medidas que você acabou de criar. Os resultados devem ser semelhantes aos seguintes:
Rótulos de linha | Contagens ALLNOBLANKROW de ResellerSales_USD | Contagens ALL de ResellerSales_USD |
---|---|---|
2005 | 60856 | 60856 |
2006 | 60856 | 60856 |
2007 | 60856 | 60856 |
2008 | 60856 | 60856 |
60856 | 60856 | |
Total Geral | 60856 | 60856 |
Agora, as duas medidas têm os mesmos resultados. Isso ocorre porque a função ALLNOBLANKROW não conta linhas verdadeiramente em branco em uma tabela, mas manipula apenas a linha em branco que é um caso especial gerado em uma tabela pai, quando uma ou mais das tabelas filho na relação contêm valores não correspondentes ou valores em branco.
Conteúdo relacionado
Funções