PQ/DAX как найти предпоследнее по величине.
В Power Query (PQ) и языке запросов DAX (Data Analysis Expressions) в среде Power BI и Excel (для расширения функциональности) можно найти предпоследний по величине элемент, используя некоторые функции и подходы. Давайте рассмотрим, как это можно сделать в обоих случаях:
В Запрос мощности (Power BI):
В Power Query вы можете использовать комбинацию шагов для нахождения предпоследнего по величине элемента в стол
- Откройте редактор запросов, выбрав «Редактировать запросы» в Power BI.
- Выберите вашу таблицу и столбец, по которому вы хотите найти предпоследний элемент.
- Примените сортировку в обратном порядке по этому столбцу.
- Используйте функцию Table.FirstN для получения первого элемента таблицы после сортировки.
- Воспользуйтесь функцией Table.FirstN еще раз, чтобы получить второй элемент таблицы, который теперь будет предпоследним по величине.
Пример кода на M (язык Power Query):
let
Source = … // Ваш исходный источник данных,
SortedTable = Table.Sort(Source, {{ «ВашСтолбец», Order.Descending }}),
SecondLastElement = Table.FirstN(SortedTable, 2){1} // Индексация начинается с 0
in
SecondLastElement
В языке запросов DAX (Power BI, Excel):
В DAX можно использовать функцию RANKX, чтобы присвоить каждой строке ранг, а затем выбрать второй по величине ранг. Вот как это можно сделать:
SecondLastValue =
VAR Ranking = RANKX(ALL(‘Таблица'[ВашСтолбец]), ‘Таблица'[ВашСтолбец], , DESC)
VAR SecondLastRank = RANKing — 1
RETURN CALCULATE(MAX(‘Таблица'[ВашСтолбец]), FILTER(ALL(‘Таблица’), RANK(‘Таблица'[ВашСтолбец], [ВашСтолбец], DESC) = SecondLastRank))
Замените ‘Таблица’ и `’ВашС‘ВашСтолбец‘ на ваше имя таблицы и столбца.
Оба примера позволяют найти предпоследний по величине элемент в вашей таблице. Выберите подходящий для вас в зависимости от используемого инструмента (Power Query или DAX) и ваших конкретных потребностей.