Excel DAX - функции фильтрации
DAX имеет мощный filter functionsкоторые сильно отличаются от функций Excel. Функции поиска работают с использованием таблиц и отношений, как база данных. Функции фильтрации позволяют управлять контекстом данных для создания динамических вычислений.
Note- Функции фильтра DAX, возвращающие таблицу, не добавляют таблицу в модель данных. Результирующая таблица используется в качестве аргумента в другой функции DAX. То есть такие функции DAX используются как вложенные функции с другими функциями DAX.
В следующем разделе вы узнаете, какие функции фильтра DAX вы можете использовать. Дополнительные сведения об этих функциях см. В руководстве - Функции DAX в этой библиотеке руководств.
Функции фильтра DAX
Ниже приведены функции фильтра DAX -
Sr. No. | Функция DAX и что она делает? |
---|---|
1 | ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …) Добавляет комбинации элементов из нескольких столбцов в таблицу, если они еще не существуют. Определение того, какие комбинации элементов следует добавить, основано на ссылке на исходные столбцы, которые содержат все возможные значения для столбцов. Чтобы определить комбинации элементов из разных столбцов для оценки -
|
2 | ALL ( {<table> | <column>, [<column>], [<column>], … }) Возвращает все строки в данной таблице или все значения в указанных столбцах в таблице, игнорируя любые фильтры, которые могли быть применены. Эта функция полезна для очистки фильтров и создания вычислений для всех строк в таблице. |
3 | ALLEXCEPT (<table>, <column>, [<column>], …) Удаляет все контекстные фильтры в таблице, кроме фильтров, которые были применены к столбцам, указанным в качестве аргументов. В отличие от ALL, вы можете использовать эту функцию, когда хотите удалить фильтры для многих, но не для всех столбцов в таблице. |
4 | ALLNOBLANKROW (<table>|<column>) Из родительской таблицы отношения возвращается -
Функция игнорирует любые контекстные фильтры, которые могут существовать. |
5 | ALLSELECTED ( [<tableName>|<columnName>] ) Удаляет фильтры контекста из столбцов и строк в текущем запросе, сохраняя при этом все другие фильтры контекста или явные фильтры. |
6 | CALCULATE (<expression>, [<filter1>, <filter2> …)] Оценивает выражение в контексте, измененном указанными фильтрами. Возвращает значение, являющееся результатом выражения. |
7 | CALCULATETABLE (<expression>, <filter1>, <filter2>, …) Оценивает табличное выражение в контексте, измененном заданными фильтрами. Возвращает таблицу значений. |
8 | CROSSFILTER (<columnName1>, <columnName2>, <direction>) Задает направление перекрестной фильтрации, которое будет использоваться при вычислении отношения, существующего между двумя столбцами. Не возвращает никакого значения. |
9 | DISTINCT (<column>) Возвращает таблицу с одним столбцом, содержащую отдельные значения из указанного столбца. Другими словами, повторяющиеся значения удаляются и возвращаются только уникальные значения. Результирующий столбец используется в качестве аргумента в другой функции DAX. |
10 | EARLIER (<column>, <number>) Возвращает текущее значение указанного столбца во внешнем проходе оценки указанного столбца, указанного числом. |
11 | EARLIEST (<column>) Возвращает текущее значение указанного столбца во внешнем проходе оценки указанного столбца. |
12 | FILTER (<table>, <filter>) Возвращает таблицу, содержащую только отфильтрованные строки. ФИЛЬТР используется только как функция, встроенная в другие функции, которым в качестве аргумента требуется таблица. |
13 | FILTERS (<columnName>) Возвращает значения, которые непосредственно применяются в качестве фильтров к columnName. FILTERS используется только как функция, встроенная в другие функции, которым в качестве аргумента требуется таблица. |
14 | HASONEFILTER (<columnName>) Возвращает TRUE, если количество непосредственно отфильтрованных значений в columnName равно единице. В противном случае возвращает FALSE. |
15 | HASONEVALUE (<columnName>) Возвращает ИСТИНА, если контекст для columnName был отфильтрован только до одного отличного значения. В противном случае возвращает FALSE. |
16 | ISCROSSFILTERED (<columnName>) Возвращает TRUE, когда фильтруется columnName или другой столбец в той же или связанной таблице. |
17 | ISFILTERED (<columnName>) Возвращает TRUE, если columnName фильтруется напрямую. Если для столбца нет фильтра или если фильтрация происходит из-за того, что фильтруется другой столбец в той же или связанной таблице, функция возвращает FALSE. |
18 | KEEPFILTERS (<expression>) Изменяет способ применения фильтров при оценке функции CALCULATE или CALCULATETABLE. |
19 | RELATED (<column>) Возвращает связанное значение из другой таблицы. |
20 | RELATEDTABLE (<tableName>) Оценивает табличное выражение в контексте, измененном заданными фильтрами. |
21 год | SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>]) Возвращает таблицу, которая представляет собой левое полусоединение двух таблиц, предоставленных в качестве аргументов. Полусоединение выполняется с использованием общих столбцов, определяемых общими именами столбцов и общим типом данных. Соединяемые столбцы заменяются одним столбцом в возвращаемой таблице, который имеет целочисленный тип и содержит индекс. Индекс - это ссылка на правую таблицу соединения с заданным порядком сортировки. |
22 | USERELATIONSHIP ( <columnName1>,<columnName2>) Задает отношение, которое будет использоваться в конкретном вычислении, как то, которое существует между columnName1 и columnName2. |
23 | VALUES (<TableNameOrColumnName>) Возвращает таблицу с одним столбцом, содержащую отдельные значения из указанной таблицы или столбца. Другими словами, повторяющиеся значения удаляются и возвращаются только уникальные значения. |