Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Power Query. Сравнение значений в столбце со списком
 
Ma_Ri, спасибо!

Ваш код для меня пока что космос.
Разобрал, то что смог разобрать, прокомментировал для себя и сохранил на будущее. Пока знаний не хватает чтобы полностью разобраться.

Что посоветуете почитать для прокачки языка M?  
Power Query. Сравнение значений в столбце со списком
 
Цитата
написал:
Так, тоже кнопками, но не должно зависит есть число из списка в сечении или нет.
Спасибо!

Магия меня впечатлила тем, что не нужно много дополнительных шагов. Вдохновился и пошел чуть дальше к реальной задаче.
Реальная задача чуть сложнее, списков будет несколько, в зависимости от типа кабеля.
Поэтому первым шагом фильтрую таблицу по типу кабеля, потом конвертирую ее в список и потом получаю нужное значение из списка.

В одно действие не смог пока, но и в два вполне приемлемо.
Пока не разобрался, как заменить null (или Error, если ? в формуле не ставить) на максимальное значение из списка.
Если не разберусь, решу на последующих шагах.
Код
let
Source = Excel.CurrentWorkbook(){[Name="Input"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Тип кабеля", type text}, {"Сечение", type number}, {"Желаемый результат", type number}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom",
(z) =>
Table.SelectRows(List, (k) => k[Условие] = z[Тип кабеля])[Перечень]),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Группировка",
(x) =>
List.Skip(x[Custom],
(w) => w < x[Сечение]){0}?, type number),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Custom"})
in
#"Removed Columns"
Power Query. Сравнение значений в столбце со списком
 
Цитата
написал:
а как же тогда для 240 нашлось именно 240
Просмотрел, нужно большее или равное значение.

Спасибо огромное!
Код - какая-то магия для меня, пока в языке M на очень низком уровне ориентируюсь.
Пойду разбираться, как эта магия сработала.
Power Query. Сравнение значений в столбце со списком
 
Коллеги, здравствуйте!
Поиском не нашел, к сожалению, похожего.

Задача следующая:
Есть столбец с данными (столбец "Сечение").
Каждую ячейку данного столбца нужно сравнить с типовым списком и вывести как результат ближайшее большее значение из списка (Пример в столбце "Желаемый результат").

В реальной задаче типовых списков будет несколько, они будут выбираться в зависимости от значений других столбцов с данными

Попытка 1.
Сравнение с перечнем с точным указанием строки исходных данных работает (столбец "Сравнение1"). Но мне надо сравнивать не с одной ячейкой, а построчно

Попытка 2.
Добавил столбец индекса и пытаюсь сослаться на его строки. Ошибка

Попытка 3.
Сравниваю в лоб Перечень и Значение. Тоже ошибка.

На самом деле попыток было больше, игрался с синтаксисом, но до положительного результата не добрался.

Явно где-то накосячил с синтаксисом, опыта не очень много в Power Query.
Подскажите, пожалуйста, где я ошибся.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Input"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Сечение", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Сравнение1", each List.Min(List.Select(List, each _ >= #"Changed Type"[Сечение]{4}))), //Работает, но ссылка на одну ячейку, а нужно сравнивать построчно
    #"Added Index" = Table.AddIndexColumn(#"Added Custom", "Index", 0, 1, Int64.Type),
    #"Added Custom3" = Table.AddColumn(#"Added Index", "Сравнение2", each List.Min(List.Select(List, each _ >= #"Added Index"[Сечение]{[Index]}))), //Не сработало
    #"Added Custom1" = Table.AddColumn(#"Added Custom3", "Перечень", each List),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Сравнение3", each List.Min(List.Select([Перечень], each _ >=[Сечение]))) //Тоже не сработало
in
    #"Added Custom2"
Изменено: stolitsin - 23.01.2026 10:43:10
Страницы: 1
Наверх