Поделиться через


Функция RANKX (DAX)

Возвращает ранг числа в списке чисел для каждой строки в аргументе table.

Синтаксис

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])

Параметры

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

  • выражение
    Любое выражение DAX, возвращающее скалярное значение. Это выражение вычисляется для каждой строки в таблице table для формирования всех возможных значений для ранжирования. Описание поведения этой функции в случае, если выражение expression возвращает пустое значение, см. в разделе «Примечания».

  • value
    Любое выражение DAX, возвращающее скалярное значение, ранг которого нужно найти (необязательное). Описание поведения этой функции в случае, если значение value не удается найти в выражении, см. в разделе «Примечания».

    Если параметр value не указан, вместо него используется значение выражения в текущей строке.

  • order
    Необязательное значение, определяющее способ ранжирования value (от малых к большим или от больших к малым):

    value

    альтернативное значение

    Описание

    0 (ноль)

    FALSE

    Ранги в выражении со значениями, упорядоченными по убыванию. Если значение равно наибольшему числу в выражении, функция RANKX возвращает 1.

    Это значение по умолчанию, если параметр order не указан.

    1

    TRUE

    Ранги в порядке выражений по возрастанию. Если значение равно наименьшему числу в выражении, функция RANKX возвращает значение 1.

  • ties
    Необязательное перечисление, определяющее способ идентификации ранга при наличии одинаковых значений.

    перечисление

    Описание

    Skip

    Ранжирующее значение, следующее после одинаковых значений, представляет собой ранг одинаковых значений плюс количество этих значений. Например, если пяти (5) одинаковым значениям присвоен ранг 11, следующему значению будет присвоен ранг 16 (11 + 5).

    Это значение по умолчанию, если не указан параметр ties.

    Dense

    Ранжирующим значением, следующим после одинаковых значений, будет следующее ранжирующее значение. Например, если пяти (5) одинаковым значениям присвоен ранг 11, следующему значению будет присвоен ранг 12.

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

Номер ранга значения value среди возможных значений expression, вычисленных для всех строк в таблице table.

Замечания

  • Если expression или value вычисляется как пустое значение, оно обрабатывается во всех выражениях как 0 (нуль) для числовых выражений или пустой текст для текстовых выражений.

  • Если value не указано среди всех возможных значений expression, то RANKX временно добавляет value к значениям из expression и повторно вычисляет RANKX для определения правильного ранга value.

  • Необязательные аргументы можно пропустить, указав запятую (,) в списке аргументов, то есть RANKX(Inventory, [InventoryCost],,,"Dense")

Пример

Следующий вычисляемый столбец в таблице «Products» используется для вычисления ранга продаж через Интернет для всех товаров.

=RANKX(ALL(Products), SUMX(RELATEDTABLE(InternetSales), [SalesAmount]))