Power Query | L oop с задержкой - PullRequest
0 голосов
/ 14 апреля 2020

Я новичок в PQ и пытаюсь сделать следующее:

  1. Получить обновления с сервера
  2. Преобразовать его.
  3. Опубликовать данные обратно.

Хотя код работает нормально, я бы хотел, чтобы он выполнялся каждые N минут до закрытия приложения. Также переменная LastMessageId должна быть переоценена после каждого вызова GetUpdates (), и мне нужно как-то снова вызвать GetUpdates () с ним.

Я пробовал Function.InvokeAfter, но не понял, как запустить его более одного раза. Стек рекурсивных ударов из c.

Единственное решение, которое я вижу, это использовать List.Generate, но изо всех сил пытаюсь понять, как его можно использовать с задержкой.

Любая помощь действительно ценится, спасибо, будь в безопасности!

let
    //Get list of records
    GetUpdates = (optional offset as number) as list => 1,
    Updates = GetUpdates(),
    // Store last update_id
    LastMessageId = List.Last(Updates)[update_id],
    // Prepare and response
    Process = (item as record) as record =>
    // Map Process function to each item in the list of records
    Map = List.Transform(Updates, each Process(_))
in
    Map

1 Ответ

0 голосов
/ 16 апреля 2020

PowerBI не поддерживает автоматическую непрерывную c повторную загрузку данных на рабочем столе.

В режиме онлайн вы можете применить refre sh всего за 15 минут, используя прямой запрос 1

Альтернативные методы:

  • Вы можете сделать это в Excel и использовать VBA для повторного выполнения запроса по расписанию
  • Потоковая передача данных в PowerBI 2
  • Потоковая передача данных с помощью Flow и PowerBI 3

1: Поддерживаемые источники DirectQuery

2: Потоковая передача в реальном времени в PowerBI

3: Потоковая передача данных с помощью Flow

4: Не забудьте включить ведение истории c!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...