Читать книгу Извлечение, преобразование и загрузка данных в Excel. Учебное пособие - Валентин Юльевич Арьков - Страница 5
3. Загрузка таблицы дивидендов
ОглавлениеЗагрузим ещё одну табличку из интернета. На этот раз нас будет интересовать таблица размеров дивидендов на сайте компании «Газпром».
Открываем в браузере страницу сайта компании ПАО «Газпром»:
Переходим в следующий раздел:
Акционерам и инвесторам – Дивиденды – История дивидендных выплат (рис. 3.1).
Рис. 3.1. Таблица дивидендов
Задание. Откройте страницу дивидендов на сайте ПАО «Газпром».
Скопируем адрес страницы в буфер обмена.
Вызываем функцию загрузки данных из интернета:
Data – Get & Transform – From Web.
Указываем анонимный доступ к сайту без ввода пароля (рис. 3.2).
Нажимаем кнопку:
Connect.
Рис. 3.2. Анонимный доступ
Задание. Выберите анонимный доступ к сайту.
Появляется диалоговое окно
Navigator.
Выбираем таблицу дивидендов (рис. 3.3).
Нажимаем кнопку
Load.
Рис. 3.3. Выбор таблицы для загрузки
Задание. Загрузите таблицу дивидендов Газпрома.
Рассмотрим загруженную таблицу (рис. 3.4). Нам предстоит кое-что исправить. Причём почти всё.
На этот раз название таблицы и соответствующего запроса получилось не очень информативное:
Table_0.
Заголовки столбцов после загрузки были продублированы.
Числовые значения распознаны как текстовые строки. Содержимое ячеек прижато влево – это текстовый формат по умолчанию.
Английская версия Excel ожидает точку как десятичный разделитель целой и дробной частей. А русская страница сайта использует для этой цели запятую.
Мало того, пробел разделяет группы по три разряда – тысячи, миллионы, миллиарды.
Рис. 3.4. Загруженная таблица дивидендов
Задание. Изучите результаты загрузки и перечислите в отчёте все необходимые преобразования.
Переходим к преобразованиям.
Открываем редактор запросов (рис. 3.4):
Data – Get & Transform – Get Data – Launch Power Query Editor.
Рис. 3.4. Запуск редактора запросов
Задание. Запустите редактор запросов.
Появляется окно редактора запросов (рис. 3.5).
Видим название запроса:
Table_0.
В заголовках всех колонок указано, что тип данных – текст:
ABC
В верхнем меню тоже говорится, что здесь данные текстового типа:
Home – Transform – Data Type – Text.
Рис. 3.5. Редактор запросов
Задание. Обратите внимание на название запроса и тип данных.
Начнём исправления загруженной таблицы.
Зададим новое название запроса:
Дивиденды Газпрома.
Изменим тип данных для первого столбца:
Home – Transform – Data Type – Decimal Number.
Рис. 3.6. Изменение типа данных
Задание. Измените тип данных.
Появляется диалоговое окно
Change Column Type.
Нам предлагают определиться, как именно делать преобразование. Если добавить новый этап работы с данными, изменения можно будет откатить при желании.
Нам не потребуется возвращаться к текстовому типу номера года. Поэтому выбираем первый вариант:
Replace current.
Рис. 3.7. Параметры преобразования типа
Задание. Выберите замену преобразования.
Рассмотрим результаты преобразования типа данных (рис. 3.8).
Тип данных для первого столбца теперь установлен ка числовой:
Data Type – Decimal Number.
В заголовке столбца тоже указано, что здесь находятся числа:
1.2.
Сами числа в первой колонке теперь прижаты вправо. Это формат числа по умолчанию.
В разделе Применённые шаги указано преобразование типа:
Query Settings – Applied Steps – Changed Type.
Рис. 3.8. Результаты преобразования типа
Задание. Рассмотрите результаты преобразования типа данных в первом столбце.
Первая строка, которая дублирует заголовок, содержит текст. Поэтому преобразование завершилось ошибкой, о чём нам и сообщают:
Error.
Щёлкнем по этой ячейке и получим более подробное пояснение (рис. 3.9).
В разделе Применённые шаги появляется новая строка:
Год.
Щёлкаем по красному крестику и возвращаемся к предыдущему шагу.
Рис. 3.9. Сообщение об ошибке
Задание. Изучите сообщение об ошибке формата данных.
Удалим первую строку таблицы, в которой появилась ошибка преобразования типа.
Выбираем в верхнем меню
Home – Reduce Rows – Remove Rows – Remove Errors.
Всплывающая подсказка намекает, что программа удалит все строки, в которых есть ошибки. У нас одна такая строка.
Рис. 3.10. Удаление строк с ошибками
После удаления строк с ошибками получаем более красивую таблицу (рис. 3.11).
Кроме в разделе Применённые шаги добавилась строка
Removed Errors.
Обратим внимание на количество строк в таблице до и после удаления ошибок. Для этого мы можем откатить последний шаг, нажав красный крестик в разделе Применённые шаги. Потом снова вызываем удаление строк с ошибками.
Рис. 3.11. Таблица после удаления ошибок
Задание. Удалите строки с ошибками и обратите внимание на количество строк.
Переходим ко второму столбцу – величине дивидендов.
Зададим числовой тип данных.
Содержимое действительно стало числовым (рис. 3.12).
Сравним с оригиналом – числа стали гораздо больше. Программа просто проигнорировала запятые. Это искажает данные. Откатим изменения.
Рис. 3.12. Результаты преобразования второго столбца
Задание. Задайте целый тип данных для второго столбца и обратите внимание на изменения.
Попробуем заменить запятые на точки.
Находим инструмент поиска и замены в меню (рис. 3.13):
Home – Transform – Replace Values
Рис. 3.13. Функция замены значений
Задание. Прочитайте всплывающую подсказку для кнопки Замена значений.
Нажимаем кнопку Замена значений:
Replace Values.
Заменим запятые на точки (рис. 3.14).
Рис. 3.14. Поиск и замена
Задание. Замените запятые на точки.
Рассмотрим результаты поиска и замены (рис. 3.15).
Действительно, теперь у нас во втором столбце точки вместо запятых.
При этом тип данных по-прежнему текстовый.
Рис. 3.15. Результаты поиска и замены
Задание. Замените запятые на точки во втором столбце.
Изменим тип данных во втором столбце с текстового на числовой:
Decimal Number.
Обращаем внимание на изменение форматирования и сообщение о типе в заголовке столбца.
В одной ячейке за 1998 год был прочерк. Возможно, это означает, что дивиденды не выплачивались. То есть равны нулю.
Теперь в этой ячейке выводится сообщение об ошибке (рис. 3.16).
Рис. 3.16. Преобразование типа второго столбца
Задание. Измените тип данных на числовой и обратите внимание на сообщение об ошибке.
Отменяем последний шаг преобразований.
Заменяем прочерк, то есть символ тире, на ноль.
Щёлкаем по ячейке с неправильным содержимым и копируем её в буфер обмена. Затем вызываем функцию поиска и замены. В строке поиска будет загадочное тире. В строке замены – ничего.
Снова изменяем тип данных на числовой.
Теперь всё прошло успешно (рис. 3.17).
В ячейке за 1998 год стоит ноль.
Ошибок нет.
Все выполненные шаги по преобразованию данных выводятся в списке
APPLIED STEPS
Рис. 3.17. Второй столбец преобразован
Задание. Завершите преобразование второго столбца и убедитесь в отсутствии ошибок.
Здесь мы столкнулись с длинным тире. Это не просто чёрточка. Неплохо было бы с этими чёрточками познакомиться. А ещё есть символ минуса. Это тоже какая-то чёрточка. Или это одно и то же?
Задание. Прочитайте в Википедии статьи «Тире», «Дефис» и «Минус». Выясните английские названия этих символов, какие символы для каких целей используют, а также как вводить разные виды тире в текстовом редакторе Microsoft Word.
Преобразование данных в третьем столбце потребует нескольких действий: