Файлы к уроку:
Ссылки:
Таблицы из урока
В этом уроке мы будем использовать 4 таблицы:
albums_1:
#table({"band", "country", "album", "year"},
{{"Manowar", "USA", "Battle Hymns", 1982},
{"Manowar", "USA", "Into Glory Ride", 1983},
{"Iron Maiden", "United Kingdom", "Iron Maiden", 1980},
{"Iron Maiden", "United Kingdom", "Killers", 1981},
{"Mercyful Fate", "Denmark", "Melissa", 1983}})
albums_2:
#table({"band", "country", "album", "year"},
{{"Manowar", "USA", "Sign Of The Hammer", 1984},
{"Judas Priest", "United Kingdom", "British Steel", 1980},
{"Judas Priest", "United Kingdom", "Point of Entry", 1981},
{"Judas Priest", "United Kingdom", "Screaming for Vengeance", 1982}})
albums_3:
#table({"band", "album", "year", "songs"},
{{"Deep Purple", "Perfect Strangers", 1984, 8}})
albums_4:
#table({"artist", "release", "year", "songs"},
{{"Ozzy Osbourne", "Blizzard of Ozz", 1980, 10}})
Получить строку
В результате вернется Запись (Record):
albums_1{2}
Безопасный способ сослаться на строку:
albums_1{8}?
Уточненная ссылка на строку:
albums_1{[band="Mercyful Fate"]}
Уточнить ссылку можно несколькими полями:
albums_1{[band="Iron Maiden",
year=1980]}
Получить столбец
Получить один столбец. В результате вернется Список (List):
albums_1[country]
Безопасный способ получения столбцов:
albums_1[songs]?
Выбрать два столбца из таблицы:
albums_1[ [band],[country] ]
Безопасный способ выбрать столбцы. Если какого-то из перечисленных столбцов нет в таблицы, то вернется столбец, заполненный значениями null:
albums_1[ [band],[country],[songs] ]?
Объединение таблиц по вертикали
Объединить две таблицы. Столбцы с одинаковыми названиями добавляются идут друг за другом:
albums_1 & albums_2
В таблице albums_3 есть столбец songs, которого нет в первых двух. В таком случае в итоговой таблице появится столбец songs. Для строк первых двух таблиц он будет заполнен значениями null:
albums_1 & albums_2 & albums_3
Сравнение таблицы
- Если таблицы полностью совпадают, то они равны
- Если таблицы во всем совпадают, но названия столбцов разные, то таблицы не равны
- Если совпадают значения и порядок строк, а порядок столбцов другой, то таблицы все равно равны
- Если значения совпадают, но порядок строк другой, то таблицы не равны
let
tabs =
#table({"tab1", "tab2"},
{{#table({"col"}, {{1}, {2}}), #table({"col"}, {{1}, {2}})}, // true
{#table({"col"}, {{1}, {2}}), #table({"column"}, {{1}, {2}})}, // false
{#table({"col_1", "col_2"}, {{1,2}, {3,4}}), #table({"col_2", "col_1"}, {{2,1}, {4,3}})}, // true
{#table({"col_1", "col_2"}, {{3,4}, {1,2}}), #table({"col_1", "col_2"}, {{1,2}, {3,4}})}}), // false
tab_add_col = Table.AddColumn(tabs, "compare", each [tab1] = [tab2])
in
tab_add_col
Примененные функции
- #table
Курс по Языку М
Номер урока | Урок | Описание |
---|---|---|
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. |