Перейти к содержимому

Апрель 2022

Язык М Power Query. Функции: вложенность, each, замыкание и рекурсия

Это очередная заметка, посвященная основам языка М Power Query. Ранее мы рассмотрели, как определять и вызывать функции. Но функции также можно создавать налету. Т.е. использовать функции без явного определения и вызова. Для этого в языке М применяется конструкция с ключевым словом each. Это слово часто появляется в коде, сгенерированном интерфейсом редактора запросов. Оказывается, это удобный ярлык для упрощения кода.[1]

Предыдущая заметка     Следующая заметка

Рис. 1. Функция, как аргумент другой функции; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Подробнее »Язык М Power Query. Функции: вложенность, each, замыкание и рекурсия

Функции в языке M Power Query

Это перевод статьи Александра Иванова, опубликованной в блоге 4pbi. В статье рассмотрено, как определять, вызывать, передавать и возвращать функции в языке М. Что такое замыкание (closure), как вызывать рекурсивные функции.

Как правило, функция – это фрагмент программного кода, который имеет имя, принимает значения в качестве параметров и возвращает результат. Удобно определять фрагмент кода как функцию, когда вам нужно выполнять одни и те же вычисления много раз в разных частях программы. Функцию не обязательно писать самому. В языке М масса встроенных функций, и вам не нужно знать, что происходит внутри функции. Вам лишь нужно понимать, какие параметры передать функции и какой результат будет возвращен. Итак, функция – черный ящик: мы передаем параметр(ы) и получаем результат.

Рис. 1. Код функции Test; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Подробнее »Функции в языке M Power Query

Ключевое слово each в языке М Power Query

Это сокращенный перевод статьи Маркуса Краучера, опубликованной в блоге excelguru.ca. Изложение ведется от первого лица (Маркуса).

Рис. 1. Фильтрация таблицы на основе each; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Подробнее »Ключевое слово each в языке М Power Query

Язык М Power Query. Функции

Это вторая заметка в серии, описывающей азы языка М Power Query. В предыдущей заметке говорилось, что основу языка М составляют выражения, которые возвращают значения. Простой оператор, такой как 1, – это выражение, которое создает значение. let – это также выражение, которое выдает значение. Так вот, функция – это выражение, которое тоже возвращает значение. В отличие от выражений, функция выдает это значение только при ее вызове.[1]

Предыдущая заметка     Следующая заметка

Обычно параметры передаются функции при ее вызове. Функция может ссылаться на эти входные данные при вычислении результата.

Рис. 1. Пример вложенной функции

Подробнее »Язык М Power Query. Функции

Язык М Power Query. Выражения и let

В Интернете довольно много примеров использования языка М Power Query для решения той или иной проблемы. Если можно просто скопировать и вставить код образца в ваш запрос, всё Ok. Но что делать, если требуется правка. Для этого нужно хоть немного разбираться в основах языка и его синтаксисе. Умники отсылают к официальной спецификации языка, но, поверьте, это не то, что нужно начинающим. Так что в этой и последующих заметках попробую объяснить азы доступным языком.[1]

Следующая заметка

Если вы впервые сталкиваетесь с Power Query, рекомендую начать с Марк Мур. Power Query.

Самая простая запись

Откройте имеющийся или пустой запрос в расширенном редакторе, и вы увидите выражение let. На самом деле, вы видели let так часто, что могли подумать, что для языка M это обязательно.  Совсем нет! Допускаются и более простые выражения.

Рис. 1. Самая простая запись на языке М

Подробнее »Язык М Power Query. Выражения и let

Николай Павлов. Скульптор данных в Excel с Power Query

Power Query – мощный инструмент для работы с данными в Microsoft Excel. В версии Excel 2010 года Power Query позиционировалась как надстройка. Сейчас – это элемент стандартного интерфейса вкладки Данные. И в самой ленте Excel не найти упоминания имени Power Query. Хотя за функционалом, связанным с импортом данных это имя сохранилось. С помощью Power Query можно легко решать множество задач, для которых раньше требовались сложные формулы или макросы. В книге подробно разбираются вопросы импорта данных в Excel из внешних источников (файлов разных форматов, баз данных, интернета и т.д.) и трансформации полученных таблиц. Книга рассчитана на средних и продвинутых пользователей. Ко всем описанным в книге задачам в комплекте идут файлы-примеры, которые можно использовать в работе.

Поскольку я уже прочитал по теме две книги (Кен Пульс и Мигель Эскобар. Язык М для Power Query и Гил Равив. Power Query в Excel и Power BI: сбор, объединение и преобразование данных), в настоящей заметке я рассказал на том, что было для меня новым (или что я уже успел забыть).

Николай Павлов. Скульптор данных в Excel с Power Query. – М.: Де’Либри, 2019. – 332 с.

Подробнее »Николай Павлов. Скульптор данных в Excel с Power Query

Алексей Васильев. Числовые расчеты в Excel

Книга посвящена методам решения вычислительных задач с помощью Excel: алгебраические уравнения и системы, интерполирование и аппроксимация функциональных зависимостей, дифференцирование и интегрирование, решение дифференциальных и интегральных уравнений. В книге также описываются основные приемы работы с Excel, обсуждаются способы организации документов, анализируются методы ввода и редактирования данных, изучаются возможности применения форматов и стилей, иллюстрируются принципы использования встроенных вычислительных утилит, а также даются основы программирования на VBA. Ранее по теме я опубликовал Вильям Дж. Орвис. Excel для ученых, инженеров и студентов.

Алексей Васильев. Числовые расчеты в Excel. — СПб.: Издательство «Лань», 2022. — 600 с.

Подробнее »Алексей Васильев. Числовые расчеты в Excel

Интерполяционный полином Лагранжа в Excel

В рамках подготовки курса для бакалавров МФТИ я понял, что в моем блоге не так много заметок по использованию Excel в математике и физике. Каково же было мое удивление, когда я обнаружил, что книг по этой теме на русском языке буквально единицы. Ранее я опубликовал Вильям Дж. Орвис. Excel для ученых, инженеров и студентов. В заметке представлены три варианта нахождения интерполяционного полинома Лагранжа: таблица на листе Excel, функция VBA, функция листа Excel на основе REDUCE и LAMBDA. В заметке использованы материалы книги Алексея Васильева Числовые расчеты в Excel. Бумажная и электронная версии книги доступны на сайте издательства.

Рис. 1. Вычисление интерполяционного полинома по методу Лагранжа; график табулируемой функции (штрихованная линия) и интерполяционного полинома (сплошная линия); чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Подробнее »Интерполяционный полином Лагранжа в Excel