- 16
- 50 138
Илья Назаров
Russia
Приєднався 5 бер 2012
Генератор функций Power BI для работы с методами API: автоматическое создание удобных функций
Как создавать много красивых и дружелюбных функций Power Query для работы с разными API.
Постарался максимально упростить материал, чтобы люди с минимальными навыками программирования могли пользоваться генератором. Совсем без программирования не обойтись, но этого видео будет достаточно ua-cam.com/video/cPT2jLrGOXE/v-deo.html
Разумеется, советую посмотреть предыдущие видео из цикла про работу с API чтобы проще понимать происходящее.
Стараюсь идти от простого к сложному. Остановиться можно сразу же, как сделаете то, что планировали. Кому длинно - пользуйтесь таймкодами)
Ссылки из видео:
github.com/meta110/powerbi/tree/master/API-constructor - код конструктора
learn.microsoft.com/en-us/power-query/handling-documentation - про документирование функций
Дружественные ресурсы:
t.me/PBI_Rus - чат по Power Query M на русском
t.me/pbi_pq_from_tank - интересно про Power Query M на русском
Связь со мной:
video/playlist/13691332_2 - сюда постепенно перенесу все видео
t.me/IlyaNazarov - сразу пишите зачем обращаетесь
Таймкоды
0:00 приветствие
1:44 тема: простое создание функций для работы с API
3:50 используйте SQLite вместо Excel
4:25 путь к этому решению
8:05 схожесть и отличия API
9:10 общие принципы любых API
10:40 часто один API = много методов
12:50 как "зоопарк" функций доставляет неудобств
14:30 способ навести порядок
15:20 основа - второй аргумент функции Web.Contents
17:40 даны токены двух API
18:02 беру код из первого видео
19:20 как он работает
20:06 переделываю под новую функцию
20:45 один параметр, как options Web.Contents
23:05 API url и Name название метода
25:24 первый успешный запуск
27:38 создадим пользовательскую функцию
28:21 как type включает генератор функций и создает параметры
30:50 как не спрашивать ничего лишнего
32:30 как управлять интерфейсом функций в Power Query
33:58 Documentation.FieldCaption - задать название параметра
36:15 тип значения параметра влияет на элементы интерфейса
37:55 типы значений не проверяются
39:20 Documentation.AllowedValues - список допустимых значений для текста
41:10 как сделать список допустимых значений для списка
44:35 как обработать "неправильные" статусы ответа сервера
48:25 правильно сообщайте об ошибках сервера
50:05 ошибки сервера бывают полезны
52:05 default - значения по-умолчанию
55:05 modify - сразу форматируем пользовательские данные
57:12 включаем debug для отладки настроек
59:45 debug=false - просмотр параметров в виде таблицы до отправки запроса
1:05:06 debug=true - просмотр “сырого” ответа сервера
1:06:30 какая бывает пагинация
1:09.06 настроим пагинацию со смещением
1:10:30 где подсмотреть названия нужных полей
1:11:45 offsetField - указывает положение поля смещения внутри записи
1:14:20 dataValue - получает содержимое текущей страницы
1:15:50 delay - анти-спам задержка между запросами
1:16:35 offsetValue - смещение следующей страницы
1:21:40 paginate=true - включить пагинацию
1:26:15 неприятный сюрприз от Яндекс Диска с последствиями
1:36:40 реализую второй метод того же API
1:39:25 как добавить оба метода в одну функцию
1:43:50 появляется функция - селектор методов
1:46:40 убираю дублирующиеся настройки в шаблон
1:49:30 блок common - общая часть запроса
1:54:25 третий метод с пагинацией от того же API за 3,5 минуты
1:57:30 тюнинг поля offsetValue, или последствия сюрприза
1:59:45 пример, как программно создавать и документировать функции
2:06:18 тут лежит список всех возможных настроек
2:06:50 вспомогательная функция для документирования параметров
2:11:15 Documentation задаёт описание функции
2:13:10 четвёртый метод, но от другого API с нуля за 5,5 минут
2:18:40 организация групп методов для работы с разными API из одной функции
2:23:00 как работает преобразование в текст значений внутри полей Query и Headers
2:28:30 как задать свою логику преобразования Query и Content перед отправкой
2:30:40 как отработать ответ со статусом 200 и сообщением об ошибках
2:32:50 ответ на комментарий подписчика
2:34:14 заключение
Постарался максимально упростить материал, чтобы люди с минимальными навыками программирования могли пользоваться генератором. Совсем без программирования не обойтись, но этого видео будет достаточно ua-cam.com/video/cPT2jLrGOXE/v-deo.html
Разумеется, советую посмотреть предыдущие видео из цикла про работу с API чтобы проще понимать происходящее.
Стараюсь идти от простого к сложному. Остановиться можно сразу же, как сделаете то, что планировали. Кому длинно - пользуйтесь таймкодами)
Ссылки из видео:
github.com/meta110/powerbi/tree/master/API-constructor - код конструктора
learn.microsoft.com/en-us/power-query/handling-documentation - про документирование функций
Дружественные ресурсы:
t.me/PBI_Rus - чат по Power Query M на русском
t.me/pbi_pq_from_tank - интересно про Power Query M на русском
Связь со мной:
video/playlist/13691332_2 - сюда постепенно перенесу все видео
t.me/IlyaNazarov - сразу пишите зачем обращаетесь
Таймкоды
0:00 приветствие
1:44 тема: простое создание функций для работы с API
3:50 используйте SQLite вместо Excel
4:25 путь к этому решению
8:05 схожесть и отличия API
9:10 общие принципы любых API
10:40 часто один API = много методов
12:50 как "зоопарк" функций доставляет неудобств
14:30 способ навести порядок
15:20 основа - второй аргумент функции Web.Contents
17:40 даны токены двух API
18:02 беру код из первого видео
19:20 как он работает
20:06 переделываю под новую функцию
20:45 один параметр, как options Web.Contents
23:05 API url и Name название метода
25:24 первый успешный запуск
27:38 создадим пользовательскую функцию
28:21 как type включает генератор функций и создает параметры
30:50 как не спрашивать ничего лишнего
32:30 как управлять интерфейсом функций в Power Query
33:58 Documentation.FieldCaption - задать название параметра
36:15 тип значения параметра влияет на элементы интерфейса
37:55 типы значений не проверяются
39:20 Documentation.AllowedValues - список допустимых значений для текста
41:10 как сделать список допустимых значений для списка
44:35 как обработать "неправильные" статусы ответа сервера
48:25 правильно сообщайте об ошибках сервера
50:05 ошибки сервера бывают полезны
52:05 default - значения по-умолчанию
55:05 modify - сразу форматируем пользовательские данные
57:12 включаем debug для отладки настроек
59:45 debug=false - просмотр параметров в виде таблицы до отправки запроса
1:05:06 debug=true - просмотр “сырого” ответа сервера
1:06:30 какая бывает пагинация
1:09.06 настроим пагинацию со смещением
1:10:30 где подсмотреть названия нужных полей
1:11:45 offsetField - указывает положение поля смещения внутри записи
1:14:20 dataValue - получает содержимое текущей страницы
1:15:50 delay - анти-спам задержка между запросами
1:16:35 offsetValue - смещение следующей страницы
1:21:40 paginate=true - включить пагинацию
1:26:15 неприятный сюрприз от Яндекс Диска с последствиями
1:36:40 реализую второй метод того же API
1:39:25 как добавить оба метода в одну функцию
1:43:50 появляется функция - селектор методов
1:46:40 убираю дублирующиеся настройки в шаблон
1:49:30 блок common - общая часть запроса
1:54:25 третий метод с пагинацией от того же API за 3,5 минуты
1:57:30 тюнинг поля offsetValue, или последствия сюрприза
1:59:45 пример, как программно создавать и документировать функции
2:06:18 тут лежит список всех возможных настроек
2:06:50 вспомогательная функция для документирования параметров
2:11:15 Documentation задаёт описание функции
2:13:10 четвёртый метод, но от другого API с нуля за 5,5 минут
2:18:40 организация групп методов для работы с разными API из одной функции
2:23:00 как работает преобразование в текст значений внутри полей Query и Headers
2:28:30 как задать свою логику преобразования Query и Content перед отправкой
2:30:40 как отработать ответ со статусом 200 и сообщением об ошибках
2:32:50 ответ на комментарий подписчика
2:34:14 заключение
Переглядів: 789
Відео
Сохранение таблиц Power BI в локальную базу данных с поддержкой инкрементального обновления
Переглядів 1,4 тис.Рік тому
Научитесь сохранять таблицы из Power BI в локальную базу данных (SQLite), которая: - не требует отдельной установки, настройки и обслуживания; - работает незаметно для непосвященных пользователей; - работает быстрее, чем промежуточный файл Excel или csv; - ей можно делиться, например, через облачные хранилища, а скрипт сам определит нужный путь к файлу базы данных на разных компьютерах; - позво...
Power Query: знакомство с языком M
Переглядів 4,8 тис.2 роки тому
Не знаете с какой стороны подойти к изучению языка M, встроенного в Power Query, а от чтения официального руководства Microsoft засыпаете? Тогда смотрите это видео! Вы узнаете, что всё в Power Query - это значения. Расскажу из чего состоят значения, какие у них бывают типы (и зачем они нужны) и зачем в них метаданные. Как выражения создают новые значения, какие бывают операторы и какой у них пр...
Рекурсия в Power Query на примере динамического создания типов таблиц. API в Power Query часть 3.2
Переглядів 1 тис.2 роки тому
Создаем функцию с рекурсией в Power Query, которая будет генерировать тип таблицы "на лету". Смотрим на практике как и зачем контролировать глубину рекурсии при работе с внешними источниками данных. Разбираем и собираем типы таблиц с помощью функций Power Query. В качестве бонуса помещаем новые названия колонок прямо внутрь типа таблицы, и переименовываем ответ API. Материал "со звездочкой". Пр...
Сложные типы значений в Power Query и их преобразования. Работа с API в Power Query часть 3.
Переглядів 8602 роки тому
В Power BI мы анализируем данные в виде таблиц, поэтому на выходе из Power Query нужны таблицы, составленные из значений простых (примитивных) типов. API часто возвращает JSON, где есть только значения сложных типов: списки и записи, но нет таблиц. Как из них создавать таблицы? Попробуем три способа: 1. Максимально задействуем кнопки и меню интерфейса Power Query 2. Пользуемся интерфейсом, но к...
API в Power Query часть 2: пагинация
Переглядів 2,3 тис.2 роки тому
В этом видео рассказываю что такое пагинация, для чего она используется в API, как автоматически запросить все существующие порции данных функцией List.Generate, а потом объединить их в одно целое. Еще вы узнаете какие бывают ограничения API и что наказанием за их нарушение может стать полная блокировка вашего аккаунта. Чтобы этого не допустить научимся пользоваться функцией Function.InvokeAfte...
Получение данных по API в Power Query для Power BI и Excel. Часть 1
Переглядів 15 тис.2 роки тому
Как начать работать с API в Power Query. Подробно о функции Web.Contents. Для широкого круга пользователей Power BI и Excel. Подробно про REST: клиенты и серверы. Как они используют HTTP-сообщения, чтобы обмениваться информацией. Структура URL и HTTP-сообщений. Методы запросов GET и POST, как их отправлять с помощью Power Query. Заголовки запросов и ответов, типы данных, их распаковка и упаковк...
Получение файлов из Яндекс Диск по API в Power BI
Переглядів 3,1 тис.2 роки тому
В видео рассказываю как с помощью API получить список файлов, находящихся на вашем Яндекс Диске, а потом загрузить нужные файлы в Power BI Прямая ссылка на коннектор: raw.githubusercontent.com/meta110/powerbi/master/Yandex Disk/AllGetMethods.pqm Мой телеграм t.me/IlyaNazarov Дополнительная информация по Power BI и Power Query на русском: Канал по Power BI: t.me/PBI_Rus/7 Канал по Power Query: t...
Загрузка отчётов по рекламе Вконтакте в Power BI или Excel
Переглядів 5544 роки тому
Как получить данные по работе рекламы Вконтакте напрямую в Power BI или Excel с нуля за 10 минут включая: - авторизацию в API VK с помощью постоянного токена - получение списка рекламных кабинетов - получение списка клиентов рекламных аккаунтов - получение списка кампаний и объявлений - получение статистики по рекламным кабинетам, клиентам, кампаниям, объявлениям - настройка периода времени и д...
Получение сырых данных Яндекс Метрики напрямую в Power BI новым коннектором
Переглядів 2,4 тис.4 роки тому
Как получить данные Logs API Яндекс Метрики напрямую в Power BI без использования серверов баз данных и дополнительных инструментов. Инструкция по работе с коннектором к сырым данным метрики и файлы для скачивания: meta110.github.io/powerbi/ Расскажу, как за 3 минуты настроить получение отчетов с сырыми данными Яндекс Метрики в полностью автоматическом режиме и расскажу про другие режимы работы...
Расчет собственных моделей атрибуции в Power BI на основе сырых данных Яндекс Метрики
Переглядів 8204 роки тому
Расчет дополнительных значений в таблице на основании значений в других строках. Продвинутые приемы фильтрации данных. На примере сырых данных Яндекс Метрики объясняю, как с помощью информации о визитах клиентов рассчитывать собственные модели атрибуции, например, по первому взаимодействию, по последнему непрямому взаимодействию (последний значимый переход) и последнему переходу по рекламе. Под...
Подключение Power BI к Яндекс Log API. Часть 1
Переглядів 1,2 тис.5 років тому
Дополнительные материалы к лекции 13.03.2019 в ВШБИ Вторая лекция ua-cam.com/video/h4KIW3F1Aqk/v-deo.html Ссылки из видео: 1. Ссылка для скачивания английской версии Power BI www.microsoft.com/en-US/download/details.aspx?id=45331 2. Официальная справочная информация по функциям языка M docs.microsoft.com/ru-ru/powerquery-m/power-query-m-function-reference 3. Коннектор, использованный для подклю...
Пример использования Power BI для получения и анализа сырых данных Яндекс.Метрики . Часть 2
Переглядів 3,6 тис.5 років тому
Если вы умеете писать простые формулы в Excel, то сможете быстро научиться практической работе в Power BI. Вы научитесь создавать полезные, красивые и понятные отчёты с нуля на примере реальных данных. В этом видео продолжаю подготавливать отчет по данным сырой Метрики (Logs API) и подробно рассказываю про: - 12 новых функций DAX, которых не было в прошлом видео - 2 новых диаграммы - добавление...
Пример использования Power BI для получения и анализа сырых данных Яндекс Метрики . Часть 1
Переглядів 11 тис.5 років тому
Если вы умеете писать простые формулы в Excel, то сможете быстро научиться работе в Power BI. Вы научитесь создавать полезные, красивые и понятные отчёты с нуля. Если у вас есть свой сайт или сайты клиентов, то как владелец вы научитесь оценивать работу SEO-оптимизаторов, специалистов по контекстной и таргетированной рекламе. Если вы сами оказываете услуги по оптимизации, то научитесь делать от...
Power BI в интернет-маркетинге для новичков. Часть 2
Переглядів 8235 років тому
Запись второй лекции в ВШБИ НИУ ВШЭ по аналитике данных. В этой части рассказываю про свой подход к маркетинговому анализу эффективности каналов интернет-продвижения с помощью Power BI на примере сырых данных Яндекс Метрики yandex.ru/blog/metrika/vygruzhayte-syrye-dannye-iz-metriki-cherez-logs-api, которые мы загрузили в Power BI и Excel на первой лекции. Вы познакомитесь с интерфейсом Power BI...
Понимаю, что видео выложено давно, но вдруг мне повезет. Когда вставляю токен получаю пустую таблицу, хотя точно вижу что мне доступна рк. Может есть идеи в каком направлении копать? Видео в любом случае классное, спасибо.
Илья, добрый день. Подскажите, пож, если не выдает список файлов и показывает вот такую ошибку - это с чем может быть связано? В запросе "Запрос1" произошла ошибка. Expression.Error: Поле "array" записи не найдено. Сведения: string=[Type] date-time=[Type] int64=[Type] boolean=[Type] object=[Type] number=[Type] any=[Type] ErrorWithData=[Type] DiskUserBlocked=[Type] Exif=[Type] AvailableUntil=[Type] CommentIds=[Type] SnapshotIterationKey=[Type] ResourceVersion=[Type] OrgId=[Type] Preview=[Type] RootShareInfo=[Type] ImageMetadata=[Type] Link=[Type] Password=[Type] ResourceUploadLink=[Type] DeltaResource=[Type] OfficeOnlineEditorURL=[Type] ShareInfo=[Type] UploadLimitExceededWithDetails=[Type] Error=[Type] ResourcePatch=[Type] VideoMetadata=[Type] ResourceDimensions=[Type]
Никакой ошибки не выдает, но данные не грузятся. Выводит сообщение: Эта таблица пуста. Может быть это из за того, что пытаюсь выгрузить данные из гостевого аккаунта?
Спасибо большущее! Супер
А Вы снимались в сериале Силиконовая / Креми=нивая долина?🤘
@@zhandosa77777 пока нет. Жду когда позовут
Здорово!!! Отлично!!! Спасибо
Можно ли как-то добавить в функцию информацию про пол и возраст пользователей?
@@AOAnisimov Яндекс прячет персональные данные (пол и возраст он относит к ним, не могу объяснить почему, спросите у них). Вообще, если вы посмотрите в обычной метрике, то пол и возраст они очень редко могут определить. В отличие от соцсетей, Яндексу негде брать эту информацию
Илья, снимаю перед Вами шляпу! ))
@@bogomoleshka рад быть полезным. Спасибо вам
Приветствую. Вопрос (я сейчас мучаю апи яндекса). Как найти файл по части файла? Например 21353тловпю.rar Как найти его по 12353?
@@workfilesC думаю, что по вашему примеру не найдете, потому что перестановка символов влияет. Поищите в документации описание функций Text.Starts, Text.Contains и т.д.
Илья здравствуйте, подскажите пожалуйста, я вот смотрю и мне мало что понятно, как Вы смогли разобраться расскажите пожалуйста, с чего начали и так далее....блогеры особо этим не деляться....если можно на схемах от общего к частному, сможете сложное простым языком объяснить новичку? задача сложная из неберущихся...
Добрый день! Меня мотивировала необходимость облегчить себе работу. Начинал с тыканья кнопками в интерфейсе, потом пробовал облегчить себе задачу переноса скрипта из одного документа в другой, например, пытался отвязаться от названий колонок. Обучающих материалов было мало, chatgpt ещё не было, спросить практически не у кого. Зато всегда была отличная справка по функциям на сайте Майкрософт - в них вся сила. Просто читайте и запоминайте какие бывают и что они делают. Не нужно запоминать названия и синтаксис, главное помнить что могут. По остальному все в этом видео.
великолепное объяснение!!! Сложно но доступно если по практиковаться!!! Большое спасибо за приятную подачу
Спасибо за добрые слова! Рад, что был полезен
Expression.Error: Во время оценки обнаружена циклическая ссылка. getPage = (optional qwe) => let response = Json.Document(Web.Contents(url, [Headers =Headers, Query=Param & [offset = Text.From(qwe ?? 0) ]])) in res, res = getPage(2) in res выдает циклическую ошибку, что не так не пойму....
По куску кода сложно ответить наверняка. Вы присваивание res, функцию, которая производит тот же самый res
Ещё раз спасибо, а какого уровня Вы решали задачи и сколько по времени что бы достичь такого уровня. Мне просто не приходится решать что то нетривиальное и прогресс не очень?
Вы все делаете правильно. Решайте то, что не выходит. Будьте любопытны и пробуйте разное, пока не получится
Спасибо!!!
Ничего не понял но спасибо. Что нравится в авторе иная подача материала чем везде что позволяет более полно изучать интересующие темы. Ещё раз спасибо за проделанную работу.
Спасибо на добром слове) теперь пытайте Михаила Музыкина
Спасибо большое за столь объёмное и подробное разъяснение основ языка!
Спасибо за коннектор
Я верно понимаю, этот вариант подходит только для своих файлов? Ведь если кто-то расшарит папку на YD, токен свой он же не отдаст?
если у вас будет доступ к папке из вашего диска, то скорее всего сможете. Советую пообщаться с поддержкой Яндекса, они лучше знают свой продукт и смогут что-то посоветовать
Илья, огромное спасибо! Отличный структурированный материал, ваши видео мое окно в мир API. Еще подскажите какой аналог Fiddler можете посоветовать ( не дает скопировать - нет выбора страны РФ).
добрый день! Спасибо за отзыв. Предложить аналог не смогу, проявите смекалку)
давно не было видосов
сейчас довольно редко использую в работе, закостенел, не ориентируюсь в трендах) Михаила www.youtube.com/@buchlotnik посмотрите, он на самом краю прогресса)
Добрый день, при создании запроса для перевода столбцов вышла ошибка: Expression.Error: Не удается преобразовать значение типа Function в тип Table. Сведения: Value=[Function] Type=[Type] Подскажите, как исправить?
Добрый день. Судя по ошибке вы делаете что-то, о чем в видео не рассказывал. Исправить просто: не подставляйте функцию туда, где ожидается таблица
@@IliahNazarov , благодарю за ответ!
Привет, а есть способ через облачное хранилище?
Привет! База данных - это файл, который можно синхронизировать с облаком. Разумеется, нужно понимать, что синхронизация не мгновенная. Одновременно работать с одной базой из разных мест без коллизий не выйдет. Если таскать с работы домой через облако вместо флешки, то вариант вполне себе) Ещё можете переписать скрипт на питоне под работу с нормальной базой, не sqlite, тогда будет всё по-нормальному)
Илья, спасибо за видео . Очень полезно! Подскажите, если сырые данные подгружаются не корректно, с чем это связано?
Добрый день, спасибо за добрые слова! По вашему вопросу не смогу подсказать, потому что вы дали недостаточно информации
Токен получаю из API отправкой POST запроса. Проверяю актуальность токена GET запросом с полученным токеном. Для получения требуемых данных отправляю POST запрос с токеном. Возможно ли буферизировать токен, чтобы не дергать каждый раз POST запросом получение токена?
Добрый день! Если только хранить его где-то снаружи или, например, в текстовом значении. Абсолютно все запросы, которые стучатся наружу по отношению к PQ, постоянно обновляются на случай изменения внешнего источника данных. Есть смысл хранить рефреш-токен в какой-нибудь строке, и каждый раз обновлять токен при получении новой порции данных. Немного кривовато, но совершенно не мешает
@@IliahNazarov Спасибо за ответ. Тоже думал о таких вариантах. Нигде не нашел комментария от вас по ошибке "401 unauthorized" и ее обработке. Прочитать метаданные корректно при такой ошибке
@@fedarpesla50 где-то говорил, что 401-403 из функции не обрабатываются. Нужно делать внешний коннектор в файле, он их "ловит"
Очень редкий по познавательности материал. Большое спасибо!
спасибо за приятные слова) надеюсь был полезен
Спасибо за материал! Переходим с Microsoft 365 на Yandex столкнулись с проблемой как вытягивать данные с excel таблиц хранящихся на yandex disk. Попытались применить ваш запрос но к сожалению столкнулись с ошибкой В запросе "Запрос1" произошла ошибка. Expression.Error: Поле "array" записи не найдено. Сведения: string=[Type] date-time=[Type] int64=[Type] boolean=[Type] object=[Type] number=[Type] any=[Type] Exif=[Type] ниже в коментариях народ уже писал чт сталкивался с таким. Подскажите как это можно побороть ?
Возможно что-то поменялось в работе API
Классное видео Всё по полочкам. Спс
жаль у меня не такой высокий уровень что бы понять что тут происходит. Хотя PQ использую очень часто((
На моменте "В видео этом не показано, что во время первого подключения по внешней ссылке в Power Query появится окно с авторизацией. В нем ничего менять не нужно, оставляйте анонимное подключение (Anonymous) и нажимайте кнопку Connect." у меня происходит ошибка "не удалось пройти проверку подлинности с указанными учетными данными. Повторите попытку". Хотя я еще не успел никаких учетных данных ввести. Повис на самом первом шаге в Power Query. Как эту проблему решить?
Это не отменяет правильной авторизации. Анонимная - это "ручной режим"
Браво, маэстро!
А в математике унарный минус имеет самый низкий приоритет.
не уверен, что в математике есть унарный минус) Минус в отрицательных числах - это часть значения и не является выражением) Если какое-то значение умножается на -1, то действуют обычные правила для умножения)
@@IliahNazarov Да тут недавно было задание якобы из школы на правила приоритетов операций, я по программистской привычке расставил и неправильно решил. Но настаивать не могу.
Добрый день! В запросе "Запрос1" произошла ошибка. Expression.Error: Поле "array" записи не найдено. Сведения: string=[Type] date-time=[Type] int64=[Type] boolean=[Type] object=[Type] number=[Type] any=[Type] Exif=[Type]
Супер❤
Второй способ мне понравился. Иногда появляется такая потребность. Хорошее решение, попробую обязательно.
Всё понятно, но не знаю, где в ближайшее время может пригодиться..
Здравствуйте! На этапе получения списка файлов возникает ошибка: Formula.Firewall: Query 'Query1' (step 'columns') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination. Не подскажете, как исправить?
Отключите в настройках Power BI. Options - Privacy - Always ignore Privacy Level settings
Подскажите, пожалуйста, как правильно обрабатывать возврат 404 по запросу? Метод возвращает offset и total(сколько всего элементов мог бы вернуть). На последней странице тоже выдает offset и если с ним сделать запрос, то возвращает 404. Я сделал проверку с try при вызове методов Json.Document - Web.Contents, дальше result через if проверку полученного значения, но кажется что это громадье и можно как-то изящнее это сделать
404 - страница не существует. Проверяйте адрес Если не хотите разбираться, то установите Яндекс Диск на компьютере и подключайтесь к локальной папке
@@IliahNazarov речь не про Я.Диск, про другой API. И при последнем запросе метод возвращает не пустой ответ, а такой {"code":5, "message":"item not found", "details":[]} но со статусом 404. В итоге PQ триггерит по 404 и отказывается что либо воспринимать.
@@КирСергеич попробуйте добавить статус 404 в ManualStatusHandling. Но не уверен, что из скрипта он корректно обработается. Если мое предположение верно, то либо пробуйте обнаружить окончание списка страниц как-то ещё (не вызывая 404), либо переносите всю логику во внешний кастомный коннектор (он будет обрабатывать любые статусы)
Добрый день! Все делаю как по видео. выходит следующая ошибка В запросе "Запрос1" произошла ошибка. Expression.Error: Поле "array" записи не найдено. Сведения: string=[Type] date-time=[Type] int64=[Type] boolean=[Type] object=[Type] number=[Type] any=[Type] Exif=[Type]
Илья, добрый день! Подскажите, а если нужно/хочется подключиться не к файлу, а к папке с однотипными файлами, то через коннектор же можно сгенерировать ссылку на папку?
Добрый день. Проще установите Яндекс диск на компьютер и подключайтесь к папке. Разумеется, можно помучиться и подключаться по API. Но тут без чтения документации не обойтись;)
Большое спасибо! Но подскажите, пожалуйста, если необходимо обратиться к готовому апи с уже встроенной пагинацией, что нужно сделать, чтобы за один запрос вывести все страницы?
Не совсем понимаю ваш вопрос. Как "пагинация встроена"? Попробуйте перефразировать.
@@IliahNazarov, в методе, к которому я обращаюсь, уже прописана пагинация в обязательном порядке
и еще наблюдается вложенность параметров запроса (т.е. в теле запроса есть еще массив параметров filters, и отдельные не входящие в него атрибуты
спасибо за видео!!!!!!!! большое!
Огромное СПАСИБО. И ваша группа в телеге пушка
узнаю себя. Большой респект за труд и вклад в сообщество. Успехов в развитии.
Чё за хрень на 2,5 часа? Какое практическое применение - где примеры? Полная хрень (похоже на сериалы и мыльные оперы) - ни о чём...
Спасибо за мнение любителя сериалов и мыльных опер))
Не знаю когда посмотрю, но надо.
Спасибо, надеюсь поможет)
Илья, СПАСИБО!!! Лирическое вступление тоже очень полезно и интересно, поскольку отражает путь, логику суждений и в конечном итоге даёт понимание конечной цели.
Спасибо, на двойной скорости даже мне понравилось зашло))
Спасибо! Очень ждем новых видео!
Спасибо большое за инструкцию. Можно ли сделать так чтобы отчет обновлялся сам до вчерашней даты, а не вручную?
Спасибо за отзыв! Да, так сделать можно. Но в случае с сырой метрикой много нюансов, с которыми придется разбираться. Потренируйтесь для начала на более простом api, например, на обычной метрике с агрегацией)
@@IliahNazarov мне нужно Яндекс конкретно, намекните хотя бы плиз как это сделать )
@@evgenyozhug4246 посмотрите другие видео на моем канале, посвященные работе с API
Спасибо за видео. Очень много разъяснено.
Спасибо за видео!