Получение ошибки при использовании TOM через PowerShell для обработки набора данных Power BI.

Я пишу сценарий PowerShell для обработки набора данных Power BI с использованием TOM. Это отлично сработало, когда мне нужно было загрузить данные по разделам. Теперь, когда все мои данные загружены, мне нужно отправить команду процесса Recalc для всей базы данных. Это казалось довольно простым, используя метод .Process() и передавая параметр ProcessRecalc для объекта базы данных, однако я получаю следующую ошибку и не понимаю, почему.

Ошибка обработки '': тип процесса 'ProcessRecalc'; Ошибка: «Эту команду невозможно выполнить в базе данных», поскольку она была определена с параметром StorageEngineUsed, для которого установлено значение TabularMetadata. Для баз данных в этом режиме необходимо использовать табличные API для администрирования базы данных.

Я в замешательстве, потому что я использую TOM для подачи команды точно так же, как я это делал для загрузки данных в разделы. Поиск этой ошибки в Google не помог. В моей модели установлен уровень совместимости 1500, и я проверил это с помощью SSMS.

Любое понимание будет оценено по достоинству.

1 ответ

Благодаря этому сообщению Даррена Госбелла я обнаружил, что эта ошибка возникает из-за мешанины разных типов объектов в TOM. Короче говоря:

Вместо использования.Process()для объекта базы данных, вам необходимо использовать метод.RequestRefresh()(с соответствующим типом обновления) для объекта модели, затем.SaveChanges()метод отправки команды.

Другие вопросы по тегам