Файлы к уроку:
Ссылки:
Код без let
При желании можно вообще не использовать выражение let.
Можно просто открыть расширенный редактор и ввести в нем какое-нибудь число или текст.
Оба примера содержат M-код, который возвращает значение, числовое или текстовое, и не содержит выражение let.
Просто число:
42
Просто текст:
"Comrade Excel"
Выражение let
let — это выражение, которое возвращает значение. Выражение let позволяет нам создавать промежуточные выражения, результаты которых сохраняются в переменные.
Когда мы делим большое выражение на промежуточные нам удобнее читать код.
На переменные мы можем ссылаться в дальнейшем.
let
// первая переменная
m = 79.2,
// вторая переменная
h_squared = Number.Power(1.775, 2)
in
// ссылаемся на обе переменные
Number.Round(m / h_squared, 2)
Выражение без смысла
Несмотря на то, что let нужен, чтобы создавать переменные, на одну или несколько из которых предполагается ссылка в выражении in, можно и не ссылаться на предыдущие шаги в in.
Power Query не будет считать это бессмысленное выражение ошибкой.
let
// первая переменная
m = 79.2,
// вторая переменная
h_squared = Number.Power(1.775, 2)
in
// результат без ссылок ни на одну переменную
2 * 2
Одна переменная в in
Чаще всего в in присутствует только одна переменная — самая последняя.
Оба кода справа возвращают один и тот же результат.
В первом случае между let и in два промежуточных шага, в in присутствуют ссылки на обе переменные.
Во втором случае между let и in существуют три переменная, в in есть ссылка только на одну последнюю переменную.
Ссылка на две переменные в in:
let
// первая переменная
m = 79.2,
// вторая переменная
h_squared = Number.Power(1.775, 2)
in
// ссылаемся на обе переменные
Number.Round(m / h_squared, 2)
Одна переменная в in:
let
m = 79.2,
h_squared = Number.Power(1.775, 2),
bmi = Number.Round(m / h_squared, 2)
in
// одна переменная в in
bmi
Вложенные выражения let
Так как let — это выражение, которое возвращает значение, то его можно использовать везде, где мы хотим вычислить какие-то значения.
let
// первый вложенный блок let
p1 =
let
m = 79
in
10 * m,
// второй вложенный блок let
p2 =
let
h = 177.5
in
6.25 * h,
// третий вложенный блок let
p3 =
let
yo = 32
in
5 + yo
in
Number.Round(5 + p1 + p2 - p3, 0)
Курс по Языку М
Номер урока | Урок | Описание |
---|---|---|
1 | Power Query Язык М №1. Простые выражения, let | Что такое let, одна или несколько переменных в in, вложенные блоки let. |
2 | Power Query Язык М №2. Создание функций М | Функции без выражения let, функции внутри выражения let. |
3 | Power Query Язык М №3. Создание функций М 2 | Функция как параметр функции, ключевое слово each. |
4 | Power Query Язык М №4. Переменные и идентификаторы | Идентификаторы с кавычками и без, допустимые и недопустимые идентификаторы. |
5 | Power Query Язык М №5. Текстовый тип данных | Особенности работы с текстовым типом данных. |
6 | Power Query Язык М №6. Числовой тип данных (Ввод, Сравнение, Точность, Бесконечность) | В этом уроке мы узнаем, что из себя представляет числовой тип данных. |
7 | Power Query Язык М №7. Дата, время, длительность и прочее(date, datetime, time, datetimezone) | Как создать значение с типом данных #date, #time, #datetime, #datetimezone, #duration. Преобразование значений одного типа данных в другой, арифметические операции, тонкости. |
8 | Power Query Язык М №8. Типы данных Logical, Null | Изучим логический тип данных и значение null. |
9 | Power Query Язык М №9. Объект Record / Запись | Что такое объект Record / Запись. Как создать запись, как сослаться на значения записи, как сравнивать записи, как объединять записи, как изменять записи. |
10 | Power Query Язык М №10. Объект List / Список | Зачем нужны списки, создание списков, сравнение списков, функции для работы со списками. |
11 | Power Query Язык М №11. Объект Table / Таблица | Получить строку, столбец. Объединение таблиц по вертикали. |
12 | Power Query Язык М №12. Как PQ работает с таблицами | В этом уроке вы узнаете как думает Power Query. |
13 | Power Query Язык М №13. Ключевое слово each | Зачем нужно ключевое слово each. |