Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:
Вычисляемый столбец
Вычисляемая таблица
Измерять
Визуальное вычисление
Возвращает рейтинг текущего контекста в указанной секции, отсортированный по указанному порядку. Если совпадение не удается найти, то ранг пустой.
Синтаксис
RANK ( [<ties>][, <relation> or <axis>][, <orderBy>][, <blanks>][, <partitionBy>][, <matchBy>][, <reset>] )
Параметры
| Срок | Определение |
|---|---|
ties |
(Необязательно) Определяет способ обработки ранжирования при привязке двух или более строк.
Если задано, поддерживаемое значение имеет значение DENSE или SKIP. Если опущено: — значение по умолчанию для SKIP |
relation |
(Необязательно) Табличное выражение, из которого возвращается выходная строка. При использовании в визуальных вычислениях этот параметр принимает ось в визуальной форме.
Если указано, все столбцы в orderBy и partitionBy должны поступать из него.
Если опущено: - orderBy необходимо явно указать.— все столбцы orderBy и partitionBy должны быть полностью квалифицированы и получены из одной таблицы.
— по умолчанию ALLSELECTED() всех столбцов в orderBy и partitionBy. |
orderBy |
(Необязательно) Предложение ORDERBY(), содержащее столбцы, определяющие порядок сортировки каждой секции.
Если опущено: - relation необходимо явно указать.
— по умолчанию упорядочивается по каждому столбцу в relation, который еще не указан в partitionBy. |
blanks |
(Необязательно) Перечисление, определяющее, как обрабатывать пустые значения при сортировке relation или axis.
Поддерживаемые значения:
Обратите внимание, что при blanks указании параметра и пустых ORDERBY значений в функции blanks отдельных выражений orderBy выражение имеет приоритет для соответствующего выражения orderBy, а выражения orderBy не blanks будут учитывать blanks параметр родительской функции. |
partitionBy |
(Необязательно) Предложение (PARTITIONBY) с столбцами, определяющими relation способ секционирования. Если опущено, relation рассматривается как одна секция. |
matchBy |
(Необязательно) Предложение (MATCHBY) с столбцами, определяющими сопоставление данных и определение текущей строки. |
reset |
(Необязательно) Доступно только в визуальных вычислениях. Указывает, сбрасывается ли вычисление и на каком уровне иерархии столбцов визуальной фигуры. Допустимые значения: ссылка на поле столбца в текущей визуальной форме, NONE (по умолчанию), LOWESTPARENT, HIGHESTPARENTили целое число. Поведение зависит от целочисленного знака: — если нулевая или опущенная, вычисление не сбрасывается. Эквивалентно NONE.
— если положительный, целое число определяет столбец, начиная с самого высокого, независимо от зерна. HIGHESTPARENT эквивалентно 1.
— если отрицательно, целое число определяет столбец, начиная с самого низкого, относительно текущего зерна. LOWESTPARENT эквивалентно -1. |
Возвращаемое значение
Номер ранга для текущего контекста.
Замечания
Каждый столбец
orderBy,partitionByиmatchByдолжен иметь соответствующее внешнее значение, чтобы помочь определить текущую строку, с помощью следующего поведения:- Если есть ровно один соответствующий внешний столбец, используется его значение.
- Если соответствующий внешний столбец отсутствует, то:
-
RANK сначала определит все
orderBy,partitionByиmatchByстолбцы, не имеющие соответствующего внешнего столбца. - Для каждого сочетания существующих значений для этих столбцов в родительском контексте RANK вычисляется RANK и возвращается строка.
- RANKконечные выходные данные — это номер ранга.
-
RANK сначала определит все
Если
matchByприсутствует, RANK попытается использовать столбцы вmatchByиpartitionByдля idenfity текущей строки.Если столбцы, указанные в
orderByиpartitionBy, не могут однозначно идентифицировать каждую строку вrelation, то два или более строк могут иметь одинаковый рейтинг, а ранжирование определяется параметром связей.RANK возвращает пустое значение для общих строк. Рекомендуется тщательно протестировать выражение.
RANK не сравнивается с RANKX, так как SUM сравнивается с SUMX.
resetможно использовать только в визуальных вычислениях и не может использоваться в сочетании сorderByилиpartitionBy. Еслиresetприсутствует,axisможно указать, ноrelationневозможно.Если значение
resetявляется абсолютным (т. е. положительным целым числомHIGHESTPARENTили ссылкой на поле), а вычисление вычисляется на целевом уровне иерархии или выше, вычисление сбрасывается для каждого отдельного элемента. То есть функция оценивается в секции, содержащей только этот конкретный элемент.
Пример 1— вычисляемый столбец
Следующий запрос DAX:
EVALUATE
ADDCOLUMNS(
'DimGeography',
"Rank",
RANK(
DENSE,
'DimGeography',
ORDERBY(
'DimGeography'[StateProvinceName], desc,
'DimGeography'[City], asc),
LAST,
PARTITIONBY(
'DimGeography'[EnglishCountryRegionName])))
ORDER BY [EnglishCountryRegionName] asc, [StateProvinceName] desc, [City] asc
Возвращает таблицу, которая ранжирует каждую географию с одинаковым значением EnglishCountryRegionName, по stateProvinceName и City. Пустые значения столбцов orderBy отсортированы в конце.
Пример 2. Визуальное вычисление
Следующие визуальные вычисления DAX запросах:
SalesRankWithinYear = RANK(DENSE, ORDERBY([SalesAmount], DESC), PARTITIONBY([CalendarYear]))
SalesRankAllHistory = RANK(DENSE, ORDERBY([SalesAmount], DESC))
Создайте два столбца, которые ранжировать каждый месяц по общему объему продаж, как в течение каждого года, так и всей истории.
Снимок экрана ниже: визуальная матрица и первое выражение визуального вычисления: