#powerbi #powerquery
#powerbi #powerquery
Вопрос:
У меня есть следующая таблица данных:
Мне нужно создать столбец с именем FINAL VALUE с определенными правилами в редакторе power query:
- ОКОНЧАТЕЛЬНОЕ ЗНАЧЕНИЕ создается на основе СТРАНЫ
- Если ЗНАЧЕНИЕ больше 100, то будет принято предыдущее значение
- если все предыдущие значения (без предыдущего значения, такого как 202001) больше 100, то 100
Итак, итоговая таблица должна выглядеть следующим образом:
Я сортирую СТРАНУ и ДАТУ, а затем пытаюсь применить цикл в M запросе. Поскольку я не знаком с функцией в M запросе, мне трудно разобраться. Я ценю любую помощь. Спасибо.
Комментарии:
1. Что, если ваша 2-я строка содержит значение 90?
Ответ №1:
Я считаю, что вы лучше разбираетесь в DAX. Вы можете создать новый столбец, как показано ниже:
Final Value =
var curCountry = TableCountry[Country]
var curDate = TableCountry[Date]
var prevDate = CALCULATE(MAX(TableCountry[Date]), FILTER(TableCountry, curDate >= TableCountry[Date] amp;amp; curCountry = TableCountry[Country] amp;amp; TableCountry[Value] <=100))
return LOOKUPVALUE(TableCountry[Value], TableCountry[Country], curCountry, TableCountry[Date], prevDate, 100)
Комментарии:
1. Спасибо за ваш ответ. Я должен сделать это в M запросе.
2. Не могли бы вы сказать мне, почему это нужно делать в m-guery? Я вижу несколько вариантов, но это непросто. Вам нужно будет работать с двумя таблицами, которые вам нужно объединить. В таблице хранятся только записи младше 100. Однако я пока не знаю, как создать столбцы для объединения..