ALLNOBLANKROW

применяется:вычисляемый столбецвычисляемой таблицыизмерениевизуального вычисления

Из родительской таблицы связи возвращает все строки, но пустую строку или все отдельные значения столбца, но пустую строку, и игнорирует все фильтры контекста, которые могут существовать.

Синтаксис

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

Параметры

Срок Определение
table Таблица, по которой удаляются все фильтры контекста.
column Столбец, по которому удаляются все фильтры контекста.

Необходимо передать только один параметр; параметр — это таблица или столбец.

Возвращаемое значение

Таблица, когда переданный параметр был таблицей или столбцом значений, когда переданный параметр был столбцом.

Замечания

  • Функция ALLNOBLANKROW фильтрует только пустую строку, которую родительская таблица в связи показывает, когда в дочерней таблице есть одна или несколько строк, не соответствующих значениям родительского столбца. Подробные объяснения см. в приведенном ниже примере.

  • В следующей таблице приведены варианты ALL, предоставляемые в DAX, и их различия.

    Функция и использование Описание
    ALL(Column) Удаляет все фильтры из указанного столбца в таблице; все остальные фильтры в таблице, по-прежнему применяются к другим столбцам.
    ALL(Table) Удаляет все фильтры из указанной таблицы.
    ALLEXCEPT(Table,Col1,Col2...) Переопределяет все фильтры контекста в таблице, кроме указанных столбцов.
    ALLNOBLANK(table|column) Из родительской таблицы связи возвращает все строки, но пустую строку или все отдельные значения столбца, но пустую строку, и игнорирует все фильтры контекста, которые могут существовать.

    Общее описание работы функции ALL вместе с пошаговыми примерами, используюющими ALL(Table) и ALL(Column), см. функции ALL.

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

В примерах данных таблица ResellerSales_USD содержит одну строку, которая не имеет значений и поэтому не может быть связана с одной из родительских таблиц в отношениях в книге. Эта таблица будет использоваться в сводной таблице, чтобы увидеть пустое поведение строки и как обрабатывать количество несвязанных данных.

Шаг 1. Проверка несвязанных данных

Откройте окно PowerPivot, а затем выберите таблицу ResellerSales_USD. В столбце ProductKey отфильтруйте пустые значения. Одна строка останется. В этой строке все значения столбцов должны быть пустыми, за исключением SalesOrderLineNumber.

Шаг 2. Создание сводной таблицы

Создайте новую сводную таблицу, а затем перетащите столбец, datetime. [Календарный год], на панель меток строк. В следующей таблице показаны ожидаемые результаты:

Метки строк
2005
2006
2007
2008
Общий итог

Запишите пустую метку между 2008 и грандиозным итогом. Эта пустая метка представляет собой элемент Unknown, который является специальной группой, которая создается для учета любых значений в дочерней таблице, не имеющих соответствующего значения в родительской таблице, в этом примере datetime. Столбец [календарный год].

При отображении этой пустой метки в сводной таблице вы знаете, что в некоторых таблицах, связанных с столбцом, datetime. [Календарный год], имеются пустые значения или не соответствующие значения. Родительская таблица — это та, которая отображает пустую метку, но строки, которые не совпадают, находятся в одной или нескольких дочерних таблицах.

Строки, которые добавляются в эту пустую группу меток, являются либо значениями, которые не соответствуют ни одному значению родительской таблицы, например дате, которая не существует в значениях таблицы datetime или NULL, то есть нет значения для даты вообще. В этом примере мы разместили пустое значение во всех столбцах дочерней таблицы продаж. Наличие большего числа значений в родительской таблице, чем в дочерних таблицах, не вызывает проблемы.

Шаг 3. Подсчет строк с помощью ALL и ALLNOBLANK

Добавьте следующие два меры в таблицу datetime, чтобы подсчитать строки таблицы: Countrows ALLNOBLANK даты и времени, Countrows ALL datetime. Формулы, которые можно использовать для определения этих мер:

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

В пустой сводной таблице добавьте дату и время. Столбец [Календарный год] в метки строк, а затем добавьте только что созданные меры. Результаты должны выглядеть следующим образом:

Метки строк Countrows ALLNOBLANK даты и времени Countrows ALL of datetime
2005 1280 1281
2006 1280 1281
2007 1280 1281
2008 1280 1281
1280 1281
Общий итог 1280 1281

Результаты показывают разницу в 1 строке в счетчике строк таблицы. Однако если открыть окно PowerPivot и выбрать таблицу datetime, вы не можете найти пустую строку в таблице, так как специальная пустая строка, указанная здесь, является неизвестным элементом.

Шаг 4. Убедитесь, что счетчик является точным

Чтобы доказать, что ALLNOBLANKROW не подсчитывает действительно пустые строки и обрабатывает только специальную пустую строку только в родительской таблице, добавьте следующие два меры в таблицу ResellerSales_USD: Countrows ALLNOBLANKROW ResellerSales_USD, Countrows ALL ResellerSales_USD.

Создайте сводную таблицу и перетащите столбец, datetime. [Календарный год], на панель меток строк. Теперь добавьте только что созданные меры. Результаты должны выглядеть следующим образом:

Метки строк Countrows ALLNOBLANKROW of ResellerSales_USD Countrows ALL of ResellerSales_USD
2005 60856 60856
2006 60856 60856
2007 60856 60856
2008 60856 60856
60856 60856
Общий итог 60856 60856

Теперь два меры имеют одинаковые результаты. Это связано с тем, что функция ALLNOBLANKROW не подсчитывает действительно пустые строки в таблице, но обрабатывает только пустую строку, созданную в родительской таблице, если одна или несколько дочерних таблиц в связи содержат несоотчетные значения или пустые значения.

функции фильтрации
ВСЕ функции
функции FILTER