Как создать команду для windows

M-язык, M-код — базовая теория в Power Query Excel

Видеокурсы по Excel

В сотрудничестве с SEDUO я создал несколько видеокурсов:

  • Как работать с Excel – научитесь эффективно использовать Excel – самый популярный ( рейтинг 97 %, более 13 000 студентов, + 750 положительных отзывов ) – Получить курс
  • MaxiCourse Excel – получите лучшую работу, больше денег, станьте незаменимым ( более 6 часов просмотра, 160 уроков ) – Получить курс
  • G-таблицы. — если не нравится Excel, воспользуйтесь курсом на Google-таблицах

Что это такое, что делать, как отображать М-код в Power Query в Excel

Это очень похоже на Power BI.

По воде или что такое М-код

Это часть редактора PowerQuery. Иногда упоминается как М-код, М-язык, М-куд, М-язык.

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

В следующем тексте мы рассмотрим:

Отображение М-кода

Как я могу увидеть/отобразить его? Или как отобразить ряд формул?

Если вы находитесь в редакторе PowerQuery, вы должны отобразить строку формулы. На ленте Отображение просто установите флажок Строка формул , и появится строка формул с М-кодом. Я также рекомендую включить Настройки запросов (если у вас их нет/не видно).

Кроме того, вы можете просмотреть расширенный редактор. Если вы находитесь в редакторе PowerQuery, вы должны отобразить строку формулы. На ленте Вид щелкните значок Расширенный редактор

.

Расширенный редактор содержит триосновные части:

  • Имя таблицы
  • Пользовательский код
  • Возможные ошибки

Базовая правка работы с М-кодом

По сути, M — это код о значениях (Values) и запросах/выражениях (Expressions), о которых я расскажу позже в этой статье.

Если у вас уже есть созданный М-код ( например, нажав на соответствующий значок ) в любом выбранном разделе (этапе) запроса, измените этот код, нажав на формулу ( добавлять и улучшать ). Затем подтвердите изменение клавишей Enter . Или вы можете отменить изменения, нажав X или нажав Esc .

Кроме того, в строку формул можно вставлять функции через Fx ( но об этом в отдельной статье ).

Внимание при промывке языка учитывает строчные и заглавные буквы. «JakNaExcel» отличается от «Jaknaexcel», отличается размером букв > другое слово.

Подробнее о справочных материалах можно получить непосредственно в Microsoft по адресу https://docs.microsoft.com/cs-cz/powerquery-m/index

Читайте также:  Как вернуть системные файлы windows 10

.

Возможно, библиотеки доступны при вводе = #share в командной строке ( пока просто уберу ):

= #общий

Значения и запросы (выражения)

М-куду делится на два (три) основных раздела. Или, если первый раздел — «Значения», второй раздел — «Выражения». Кто-то помечает этот раздел примечаниями.

Значение – это часть информации о данных или:

  • Значения могут быть:
    • инсла
    • текст
    • Логическое значение
    • двоичный
    • дата
    • иас
    • .
  • Значения также:
    • списки
    • запись таблицы (строки)
    • списки списков и т.д.
    • списки таблиц
    • таблица
    • .

Запрос естьто, что можно оценить. Или, если я оцениваю, я могу вернуть некоторое «значение». Из запроса 1 + 1 я могу вычислить это выражение и получить значение 2.

Вопросы будут перечислены далее в этой статье.

Примечания , если вы хотите иметь какую-то информацию и знать о них, вы можете дополнить их примечаниями. Они не нужны для функционирования кода, но часто необходимы для вашего лучшего обзора и ориентации ( Мне нужны личные заметки ). // комментарий или */ для многострочного /* , снова будет изменен дальше.

Давайте подробнее рассмотрим ценности и вопросы.

Отдельные значения (индивидуальные)

Отдельные значения являются элементом для всех других значений (например, запись состоит из отдельных значений, см. ниже).

  • 125,44 встроенный
  • «HowToExcel» текст
  • Истина логическое значение
  • null на самом деле пустое значение, даже по дизайну отличается графически в таблицах

Отдельные значения, созданные функцией

Используя функцию, вы можете компилировать в основном данные о времени и дате (состоящие из функции):

  • #time (часы, минуты, секунды) — время создания — #time (10, 42, 20)
  • #date (годы, месяцы, дни) — дата создания — #date (2018, 12, 31)
  • #datetime (годы, месяцы, дни, часы, минуты, секунды) — — .
  • #datetimezone (годы, месяцы, дни, часы, минуты, секунды, смещение-часы, смещение-минуты) — — .
  • #duration (дни, часы, минуты, секунды) — — .

Подробнее о функциях в отдельной главе.

Структурированные данные

В основном это списки

Классический список

Простые списки, такие как названия дней, месяцев:

= <1, 2>

Негабаритный список

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

Последовательные списки

Вы можете создавать последовательные списки в формате , где x — это две точки от какого значения, а затем до какого значения. Например:

= <«a»..»f»>

Не путайте списки с записями.

Запись Запись

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

Запись (Record) определяется с помощью квадратных скобок [], затем вставляется имя, которое идентифицирует это поле. Знак равен. Будет отправлено значение этого поля.

= [Имя = «Павел», Функция = «MVP», Город=»Брно»]

Я могу записывать записи. В PowerQuery вы увидите запись, по которой можно щелкнуть ( аналогично описанному выше списку ).


= [Person = [Name = «Jan», Vmk = 38]]

Также возможны пустые записи, [] — пустая запись.

В Записи (Record) тоже можно сослаться на ту запись, но об этом в отдельной статье.

Таблицы

Таблица на самом деле представляет собой упорядоченную последовательность строк, где каждая строка представляет собой список (см. описание списка выше).

Читайте также:  Как отключить мышку на ноутбуке asus на windows 10

Таблица создается с помощью функции #table, когда отдельные строки записываются в виде списка <«A», 1>с группой записей снова в фигурных скобках.

= #table(<«Буквы», «Инсла»>, <<«A», 1>, <«B», 2>, <«C», 3>>)

Можно создать пустую таблицу, используя пустые списки во внутренней функции #table(). #table (<>, <>) создает пустую таблицу. Точно так же на таблицу можно ссылаться по индексу строки, когда строка начинается с нуля и имя столбца вквадратные скобки, но об этом в отдельной статье.

Таблицы можно создавать, например, из списка (List):

Подробнее о таблицах я расскажу в другой статье

Запросы (выражения) Подробнее о выражениях

Запрос (выражения, формулы) — это все, что можно вычислить и вернуть значение. Само значение является запросом 😉 Вычислите значение 1 и верните 1. Примеры выражений:

  • 1 + 1 — дает 2
  • 3 > 2 — оценивается как истина
  • «Пол» & «Lasák — оценивается как «Pavel Lasák»
  • Text.Upper («Hello World») – оценивается как «HELLO WORLD»

В вопросах мы рассмотрим практическое использование.

Арифметические операторы

M kud может ( так же, как и другие языки программирования ) классические арифметические операторы +, -, * и / (что логично, но не вредно для изменения). Можно складывать, вычитать, умножать и делить значения. Эти операции можно использовать, например, при работе с константами.

#date (2019,11,15) + #duration (1, 2, 3, 4)

Сравнение — операторы сравнения

Значения в M можно сравнивать с помощью операторов сравнения =, , =, =, <>.

  • x = y оценивается как true, если x равно y
  • х > y оценивается как true, если x больше, чем y
  • x = y оценивается как true, если x больше или равен y
  • x <> y оценивается как true, если x не равно y

Можно сравнивать, например, списки и т.д.

Завершено (объединено)

Мы можем объединять текстовые константы, списки слияния, записи таблиц и т. д.

  • «Привет» & «world» оценивается как «Hello world»
  • <1,2,3>& будут оценены, объединены в список

«Здравствуйте» & «святой» <1,2,3>&

Логический

В М-где можновыполнять операции с логическими (булевыми) значениями (или выражениями, которые оцениваются как True False). У вас есть следующие операторы:

  • не — отрицание/противоположность
  • и — и
  • или — или

[Имя] = «Павел» и [Должность] = «MVP» Я подготовлю больше образцов

Используйте, например, в конструкции if then else.

Комментарии

Если вам нужен комментарий М-кода. Можно использовать одну или несколько строк:

  • // строка комментария
  • /* Внешние линии*/

Лен ин — строительство

Конструкция let позволяет оценить набор значений, а затем назначить их переменной, которая будет добавлена ​​к следующему выражению, следующему за оператором in .

пусть b = 2, a = 1, c = a + b в c

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

Имена переменных — Имена переменных

К выражениям (переменным) можно добавить любое имя вспомогательного символа #

let #»Как пользоваться Excel — это здорово!» = 1 + 1 Ё в #»Как работать в Excel — это здорово!»

Как изменить имя и что можно делать в отдельной статье.

Каждое утверждение

Через каждый я могу, например, заполнить все переменные в параметре ( первое число до значений в столбце ).

let Source = #table(<«Инсла»>, <<1>, <2>, <3>, <42>>), #»Добавлено пользователем» = Таблица .AddColumn (Источник, «Читать блок», каждый [Insla] + 1) в # «Добавлено пользователем»

Читайте также:  Как переподключиться к сети на windows

If Then Else — построение

Классическая условная функция, если она выполняется, выполняется что-то еще.

Если тогда Else теория:

if [проверяемое логическое выражение] then [если выражение верно, оно выполняется] else [иначе, оно выполняетсяэто]

Логические операторы и или также могут использоваться в условиях. Для более сложных условий не забудьте скобки!

[Имя] = «Павел» и [Должность] = «Лучший игрок» .. [Имя] = «Павел» или [Должность] = «Лучший игрок»

Например, если столбец с именем Id равен единице, вводится 2, в противном случае 0 (ноль).

если [Id] = 1, то 2 иначе 0

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

let Source = Excel.CurrentWorkbook()<[Name=»Table1″]>[Content], #»TransformColumnTypes» = Table.TransformColumnTypes(Source,<<«Id», Int64.Type> > ;), #»Пароль: Custom» = Table.AddColumn(#»Change type», «Custom», каждый if [Id] = 1 then 2 else 0) in #»Password: Custom»

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

Функция

Функция, основанная на входных параметрах, выполняет соответствующие вычисления и возвращает соответствующий результат:

пусть Продукт = (x, y) => x * y + 100, Результат = Произведение (2,3) в Результате

Ошибки

Если, например, ввести объявление функции или условия неправильно, может появиться ошибка (в расширенном редакторе ее видно сразу, в строке формул только после подтверждения Enter), например, в пример, кавычки после фамилии неверны:

= «Пол» & «Ласбак

попробовать . иначе

Используйте, например, для обработки ошибок

= попробуйте «JakNaExcel» + 1 иначе «Это ошибка.»

Возможно через условия

let result = try «Excel»+1, result = if result[HasError], then «Вероятно, ошибка, Mbachal.» иначе результат[значение] в результате

Подробнее в отдельной статье (добавлена ​​по подсказке в обсуждении на LikendIn).

Другие образцыгде

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

Загрузить данные = Excel.CurrentWorkbook()<[Name=»Table1″]>[Content] Filter = Table.SelectRows(Source, each ([Id] <> 2)) Type change = Table. TransformColumnTypes(#»Отфильтрованные строки»,<<«Id», Int64.Type>>) Rename = Table.RenameColumns(#»Изменить тип»,<<«Id», «Попытка»>> ) AddColumns = Table.AddColumn(#»Именованные столбцы», «Сборник», каждый [Попытка] + 1, введите число) RemoveColumns = Table.RemoveColumns(#»Вставлено: сопоставление»,<«Сборник»>)

Всего

Сталкивались ли вы с какими-либо проблемами, есть ли у вас совет, как улучшить статью или что добавить? Вы можете изменить в комментариях.

Статья обновлена: 19.09.2020 11:02

Если

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

Павел Ласбк — автор сайта

Microsoft Office (Word, Excel, Google Sheets , PowerPoint) Я использую с 2000 года (с 2004 года в этом домене) — В 2017 году я получил престижную награду MVP от Microsoft (пока я единственный из IR в категории Excel). Я также делюсь своими знаниями и опытом онлайн в видеороликах для SEDUO . В компаниях преподаю и консультирую , работаю в МУНИ. Я создаю этот сайт более 15 лет. Существует более 1000 бесплатных инструкций, советов и рекомендаций, включая более 250 различных шаблонов и рабочих книг.

Пока нет комментариев

Вы можете стать первым, кто оставит осмысленный комментарий.

Поделиться с друзьями
ОС советы