Я пытаюсь воссоздать следующую логику c, которую я создаю в SQL в Power Query. Я пытался сделать это путем группировки по столбцу OrderNumber, но я не смог использовать функцию ранга или что-то подобное. Я пытаюсь оставить свертывание запросов включенным, если смогу.
SELECT * -- columns
FROM(
SELECT j.*,
rn = ROW_NUMBER() OVER(
PARTITION BY OrderNumber
ORDER BY LineNumber, DateReceived DESC, StatusName DESC
)
FROM [dbo].[Orders] j
) ord
WHERE
ord.rn = 1
Вот пример того, чего я пытаюсь достичь с помощью этого запроса. Я хочу ранжировать каждый ордер по его LineNumber, чтобы выбрать только самый низкий LineNumber для каждого ордера, а в случае ie я использую OrderStatus, чтобы определить победителя.