События
Присоединяйтесь к нам в FabCon Vegas
31 мар., 23 - 2 апр., 23
Конечное событие Microsoft Fabric, Power BI, SQL и ai community. 31 марта по 2 апреля 2025 г.
Зарегистрироваться сегодняЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
применяется:вычисляемый столбецвычисляемой таблицыизмерениевизуального вычисления
Из родительской таблицы связи возвращает все строки, но пустую строку или все отдельные значения столбца, но пустую строку, и игнорирует все фильтры контекста, которые могут существовать.
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. Формулы, которые можно использовать для определения этих мер:
// 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
События
Присоединяйтесь к нам в FabCon Vegas
31 мар., 23 - 2 апр., 23
Конечное событие Microsoft Fabric, Power BI, SQL и ai community. 31 марта по 2 апреля 2025 г.
Зарегистрироваться сегодня