Power Query Веб-запросы №4. JSON, Котировки Yahoo Finance 2

Поділитися
Вставка
  • Опубліковано 25 сер 2024
  • В этом уроке мы разберем еще один способ скачивания котировок с Yahoo Finance. Этот способ намного удобнее и быстрее. Здесь мы научимся обрабатывать формат JSON.
    Для решения воспользуемся:
    Text.From
    Number.From
    Date.From
    DateTimeZone.LocalNow
    Table.FromColumns
    Table.ReplaceValue
    Файлы для спонсоров Boosty: boosty.to/comr...
    Файлы для спонсоров ВК: comrade...
    Файлы для спонсоров UA-cam: • Post
    Индивидуальное обучение: comrade-xl.ru/...
    Страница урока на сайте: comrade-xl.ru/...

КОМЕНТАРІ • 24

  • @comrade_excel
    @comrade_excel  5 років тому

    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/3533c432-b2af-49c6-a5fa-3ccb59b53ff3?share=post_link
    Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_201
    Файлы для спонсоров UA-cam: ua-cam.com/users/postUgxVn_hoDqSLCrIf90d4AaABCQ
    Индивидуальное обучение: comrade-xl.ru/pq-training/
    Страница урока на сайте: comrade-xl.ru/2019/09/21/json-vexcelpowerquery/

  • @NotEmpty2011
    @NotEmpty2011 5 місяців тому +1

    Можно под это преобразование запилить Пользовательскую (Настраиваемую) функцию.
    в Power Query: Главная > подменю "Новый запрос" > Создать источник > Другие источники > Пустой запрос. Потом открываем "Расширенный редактор" и туда вставляем код:
    let
    Источник = (СтолбецUnixTimeДанные as text) =>
    let
    // Преобразование текста в целое число
    asNumber = try Number.FromText(СтолбецUnixTimeДанные) otherwise null,
    // Преобразование целого числа (Unix Time) в дату и время
    asDate = try #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, asNumber/1000) otherwise null
    in
    asDate
    in
    Источник
    Таким образом будет создана функция. Потом выделяем столбец с Unix Time Данными > вкладка "Добавление столбца" > подменю "Общие" > Вызвать настраиваемую функцию…
    А вообще хотелось бы какую-то Надстройку в Power Query, чтобы была на вкладке с командами. Может есть такая возможность? Сейчас какое-то обновление Excel приехало, появилась вкладка Надстройки... Может там есть готовое решение по конвертации Unix Time? Или какой-то вариант создания самостоятельной Надстройки для Power Query, ведь для Excel есть возможность создавать свои Надстройки.

  • @Bi-dj3iy
    @Bi-dj3iy Рік тому

    Я здесь был

  • @vjacheslavburlakov9684
    @vjacheslavburlakov9684 3 роки тому +1

    как заполнить ячейку с одним единственным значением - текущей котировкой макдональдс?

  • @artemislamov1545
    @artemislamov1545 4 роки тому +1

    Добрый вечер, не понятно где вы взяли ссылку query1, в уроке этого нет. По возможности , расскажите

    • @comrade_excel
      @comrade_excel  4 роки тому

      Где-то на сайте Yahoo Finance.

    • @user-ui2wu6mm9l
      @user-ui2wu6mm9l 7 місяців тому

      @@comrade_excel всё-таки это важный вопрос! странно, что Тимур ответил так неопределённо.

  • @Fr2elancer
    @Fr2elancer 4 роки тому

    Тимур, добрый день. Продолжаю разбираться в Power Query. Уперся в следующую задачу: при загрузке котировок необходимо учитывать часовой пояс биржи. Т.е. в запрос, где вычисляется дата надо добавить проверку на часовой пояс. Часовой пояс предполагаю хранить в другой таблице. Помоги, пожалуйста с этим: как из другой таблицы по тикеру вытащить требуемый часовой пояс для проверки?

    • @comrade_excel
      @comrade_excel  4 роки тому

      Посмотрите уроки про #date, #duration.

  • @Fr2elancer
    @Fr2elancer 4 роки тому +1

    Тимур, приветствую. Спасибо за ваши уроки. Создаю свою систему управления инвестициями на фондовом рынке. Тону в море информации и
    ваши уроки пришлись очень кстати. Как я понял, вы тоже интересуетесь инвестициями. Есть вопрос по загрузке котировок: как реализовать загрузку только недостающих дат с последнего обновления. Например, есть таблица по котировкам в портфеле из 20 акций недельной давности. Как реализовать обновление данных не загружая все котировки заново. Спасибо за ответ

    • @comrade_excel
      @comrade_excel  4 роки тому +1

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

    • @Fr2elancer
      @Fr2elancer 4 роки тому

      @@comrade_excel так вот в этом и вопрос. Как приклеивать? Также актуальный вопрос как хранить котировки? Всех эмитентов на одном листе, или под каждого отдельный лист. Пока я остановился на втором варианте.

    • @comrade_excel
      @comrade_excel  4 роки тому +1

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

    • @Fr2elancer
      @Fr2elancer 4 роки тому

      Я тоже склонялся к Access. Можно через запрос PQ загрузить данные в Ассеss?

    • @comrade_excel
      @comrade_excel  4 роки тому +1

      Стандартным образом нельзя. Наверное, с VBA можно.

  • @Velant1
    @Velant1 4 роки тому

    Спасибо, как всегда все очень замечательно. Единственный вопрос: как получить изначально ссылку на любой json файл по любым котировкам?

    • @comrade_excel
      @comrade_excel  4 роки тому +1

      В приложенном файле есть ссылка.
      Просто нужно в нем поменять тикер на интересующий.

  • @Fr2elancer
    @Fr2elancer 4 роки тому +1

    Кстати, на основе этого урока реализовал получение информации по дивидендам с помощью следующей ссылки query1.finance.yahoo.com/v8/finance/chart/AAPL?symbol=AAPL&period1=0&period2=9999999999&interval=1d&includePrePost=true&events=div%2Csplit

  • @neurabrain
    @neurabrain 4 роки тому

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

    • @comrade_excel
      @comrade_excel  4 роки тому

      Есть урок по скачиванию при помощи модулей Python ua-cam.com/video/fK2qdCD5ZE8/v-deo.html&lc=Ugzn-a3u4vtKtkpmQ_h4AaABAg
      Урок с добавлением макроса тоже будет очень скоро. Как раз планируется.

  • @alexandrus
    @alexandrus 4 роки тому

    Hochiu poderjati kanal 5 euro cherez paypal. Kak?