Страницы: Пред. 1 2
RSS
POWER QUERY - Создать функцию которая создает и удаляет столбцы по условию, Создать функцию создающую и удаляющую столбец по условию
 
Цитата
PooHkrd написал:
row[Id]
Привет, Алексей.
Вы уверены, что, не выпив утренний кофе, стоит отвечать на вопросы? :)  Откуда в коде Res2 взялся у вас row?
 
Андрей VG,  :D
Как раз текст набирал отхлебывая чайку, кружка правый глаз закрыла - упустил.  ;) Поправил. Спасибо.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
если хочется именно так
то есть конструкция let in позволяет как в DAX внутри переменных сохранять контекст фильтра ?

@Andrey VG и PooHkrd , спасибо вам огромное
 
Цитата
t330 написал:
то есть конструкция let in позволяет как в DAX внутри переменных сохранять контекст фильтра ?
Нет, ничего общего. let/in - это обрамление блока, такое же как в Pascal begin .. end, в C подобных по базовому процедурному синтаксису языках {...}. Но, поскольку имеем дело с чисто функциональным языком - всякий блок - это тоже функция, именно по этому после in должно нечто быть возвращено, как результат.
Если вы обращали внимание, легко заменяется в Power Query на структуру записи
Код
result = let
    first = calculation1,
    second = calculation2,
    output = finishCalculation
in
   output

эквивалентно
Код
 result = [first = calculation1, second = calculation2, output = finishCaclulation][output]
 
Цитата
t330 написал:
сохранять контекст фильтра ?
Да где же там контекст фильтра? Это возможность обойти особенности синтаксиса языка М. Оно похоже по написанию, но это не то же самое. В рамках синтаксиса внутри функции итератора при использовании оператора each если в качестве аргумента функции рассматривается запись то вы можете обратиться к к её полям и как _[field] и с опусканием знака _, просто [field]. Т.е. если вы будете обращаться к полю записи после оператора each, то Table.SelectRows будет перебирать именно значения той записи, которую ему передали, а не значения из той записи, которая находится во внешнем итераторе от функции Table.AddColumn. Конструкция let ... in позволяет сохранить в переменных значения полей находящиеся до each и уже использовать их внутри функции для сравнения с полями переданных ей строк.
В данном случае проще было объявить функцию, чем заморачиваться с each.
Изменено: PooHkrd - 24.10.2020 15:18:38
Вот горшок пустой, он предмет простой...
 
Спасибо, теперь понятно !
Страницы: Пред. 1 2
Наверх