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

Язык М Power Query. Типы – Число (Number)

В предыдущей заметке мы начали изучать типы значений (литералов) в языке М Power Query. И рассмотрели тип текст (text). Вы можете подумать, что работа с числами настолько простая, что хватит одного абзаца, чтобы ее описать. Однако есть одна тонкость, и если вы не будете осторожны, то арифметика может не дать ожидаемых результатов. Сначала мы рассмотрим синтаксис M для числовых литералов (значений), а потом остановимся на упомянутой тонкости. Кроме числовых литералов, числовой тип в M может быть назначен столбцам. Правильная настройка типа столбца может повысить производительность и сэкономить объем памяти, а также улучшить форматирование по умолчанию, используемое для значений столбца.[1]

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

Подробнее »Язык М Power Query. Типы – Число (Number)

Язык М Power Query. Типы – Введение и текст (строки)

Изучите запрос Power Query под микроскопом. Что вы увидите? Данные, пульсирующие между выражениями. Увеличьте масштаб. Вы различите отдельные элементы данных, составляющие этот поток. Элементы данных группируются в зависимости от типа содержащихся в них значений: некоторые содержат текст, другие – дату и время, третьи – значения ИСТИНА или ЛОЖЬ. Конечно же, куда без чисел!?

В языке M поддерживается довольно много типов значений. Типам свойственно особое поведение. Например, для даты и времени существует специальное правило сложения: добавьте время к дате, и вы получите дату-время. Описание всех типов занимает много места. В этой заметке мы рассмотрим специфику текста (строк). Другие типы оставим на потом.[1]

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

Подробнее »Язык М Power Query. Типы – Введение и текст (строки)

Язык М Power Query. Парадигма

Чтобы лучше понимать, как работает Power Query, давайте отойдем от деталей и рассмотрим парадигму,[1] на которой основан M. Такие детали, как переменные, выражения let, функции и идентификаторы, важны. Но, если мы сосредоточимся только на деталях, мы можем упустить общую картину. Сделаем шаг назад и покажем, как устроен М. Не зная этого, мы будем озадачены необычным его поведением. Удивлены, почему M не позволяет делать некоторые вещи, к которые мы привыкли в других языках.[2]

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

Подробнее »Язык М Power Query. Парадигма

Язык М Power Query. Переменные и идентификаторы

В предыдущих заметках мы использовали переменные, не вдаваясь в их специфику. Такой подход был основан на предположении, что у вас есть как минимум небольшой опыт работы с другими языками программирования. Однако, переменные в языке M Power Query ведут себя весьма специфически. В настоящей заметке мы глубже изучим концепции, связанные с переменными, постараемся прояснить сделанные ранее неявные допущения.[1]

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

Рис. 1. Допустимые имена обычных идентификаторов

Подробнее »Язык М Power Query. Переменные и идентификаторы

Крис Уэбб. Введение в язык М Power Query

Крис Уэбб (Chris Webb) является признанным гуру в области Power BI, Power Pivot, Power Query и языка М. Он ведет блог с 2004 года, и за это время написал более 1000 постов. У него около 19 тыс. подписчиков. Крис опубликовал 5 книг, и среди них книга, посвященная Power Query. С момента публикации книги прошло 8 лет и за это время интерфейс Power Query претерпел значительные изменения. Тем, кто только начинает знакомиться с Power Query, я рекомендую более современные издания. Начать можно с краткого введения – Марк Мур. Power Query. А далее изучить Кен Пульс и Мигель Эскобар. Язык М для Power Query, Николай Павлов. Скульптор данных в Excel с Power Query и Гил Равив. Power Query в Excel и Power BI: сбор, объединение и преобразование данных. В то же время, язык М за 8 лет изменился незначительно. Мне представляется, что перевод пятой главы, являющейся введением в язык М, будет актуален и интересен.

Chris Webb. Power Query for Power Bl and Excel. – Apress, 2014. – 268 p.

Подробнее »Крис Уэбб. Введение в язык М Power Query

Язык М 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