Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
применяется:
вычисляемый столбец
вычисляемой таблицы
измерение
визуального вычисления
Из родительской таблицы связи возвращает все строки, но пустую строку или все отдельные значения столбца, но пустую строку, и игнорирует все фильтры контекста, которые могут существовать.
Синтаксис
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
Параметры
| Срок | Определение |
|---|---|
table |
Таблица, по которой удаляются все фильтры контекста. |
column |
Столбец, по которому удаляются все фильтры контекста. |
Необходимо передать только один параметр; параметр — это таблица или столбец.
Возвращаемое значение
Таблица, когда переданный параметр был таблицей или столбцом значений, когда переданный параметр был столбцом.
Замечания
Функция ALLNOBLANKROW фильтрует только пустую строку, которую родительская таблица в связи отображает, если в дочерней таблице есть одна или несколько строк, не соответствующих значениям родительского столбца. Подробные объяснения см. в приведенном ниже примере.
В следующей таблице перечислены варианты
ALL, предоставляемые в DAX, и их различия.Функция и использование Описание ALL(Column)Удаляет все фильтры из указанного столбца в таблице; все остальные фильтры в таблице, по-прежнему применяются к другим столбцам. ALL(Table)Удаляет все фильтры из указанной таблицы. ALLEXCEPT(Table,Col1,Col2...)Переопределяет все фильтры контекста в таблице, кроме указанных столбцов. ALLNOBLANK(table|column)Из родительской таблицы связи возвращает все строки, но пустую строку или все отдельные значения столбца, но пустую строку, и игнорирует все фильтры контекста, которые могут существовать. Общее описание работы функции ALL вместе с пошаговые примеры, использующие ALL(таблица) и ALL(столбец), см. 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 даты и времени. Формулы, которые можно использовать для определения этих мер:
// 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 даты и времени | Счетчики ALL даты и времени |
|---|---|---|
| 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. [Календарный год], на панель меток строк. Теперь добавьте только что созданные меры. Результаты должны выглядеть следующим образом:
| Метки строк | Подсчет ALLNOBLANKROW ResellerSales_USD | Подсчет ALL ResellerSales_USD |
|---|---|---|
| 2005 | 60856 | 60856 |
| 2006 | 60856 | 60856 |
| 2007 | 60856 | 60856 |
| 2008 | 60856 | 60856 |
| 60856 | 60856 | |
| Общий итог | 60856 | 60856 |
Теперь два меры имеют одинаковые результаты. Это связано с тем, что функция ALLNOBLANKROW не подсчитывает действительно пустые строки в таблице, а обрабатывает только пустую строку, созданную в родительской таблице, если одна или несколько дочерних таблиц в связи содержат несочетаемые значения или пустые значения.