Power BI отправляет «неверный код состояния« Неверный запрос »» для кэшированного DatasetId - PullRequest
0 голосов
/ 28 января 2019

В настоящее время я работаю над проблемой, касающейся встраивания отчета power bi в нашу платформу.Я должен сказать, что я новичок в Power BI, и я попытался прочитать о связи между отчетом, группой и набором данных.Моя проблема связана с кэшированием отчета, datasetId и набор данных принадлежат этому отчету.

Реализовано ли кэширование?

Текущая реализация, с одной стороны, кэширует отчет, получая отчеты после вызова client.Reports.GetReportsInGroupAsync .И каждый раз стараюсь получить отчет по имени в качестве ключа.Однако, с другой стороны, чтобы получить значение dataSets.IsEffectiveIdentityRequired, он кэширует набор данных.И каждый раз после получения отчета ищет в кеше этот набор данных, чтобы иметь возможность назначить IsEffectiveIdentityRequired .

Моя проблема в том, что я получаю Операция вернула недопустимый код состояния 'Плохой запрос' исключение из метода Power BI API client.Datasets.GetDatasetByIdInGroupAsync (GroupId, dataSetId) иногда и я предполагаю, что они должны обновить набор данных в power bi.

Я пыталсячтобы найти ответ на эти два вопроса, но я не могу найти четкий ответ 1. Какова связь между Report и DatasetId?Поскольку внутри модели Report у нас есть datasetId, поэтому я предполагаю, что один отчет должен быть основан на одном уникальном наборе данных.2. Когда мы обновляем отчет, что происходит с datasetId?Я получаю это исключение, которое означает, что datasetId больше недействителен.

1 Ответ

0 голосов
/ 29 января 2019
  1. Какая связь между Report и DatasetId?

Обычно при публикации отчета из Power BI Desktop в службу Power BI Online он разделяетсяв отдельный отчет и набор данных.Они оба имеют одинаковые имена (и находятся в одной рабочей области / группе), но у них есть свои уникальные идентификаторы.Вы можете увидеть эти уникальные идентификаторы в адресной строке браузера, когда открываете отчет или набор данных.В отчете есть ссылка на набор данных , который используется.

{
  "datasetId": "cfafbeb1-8037-4d0c-896e-a46fb27ff229",  <-- This is the dataset used in the report
  "id": "5b218778-e7a5-4d73-8187-f10824047715",
  "name": "SalesMarketing",
  "webUrl": "https://app.powerbi.com//reports/5b218778-e7a5-4d73-8187-f10824047715",
  "embedUrl": "https://app.powerbi.com/reportEmbed?reportId=5b218778-e7a5-4d73-8187-f10824047715"
}
Когда мы обновляем отчет, что происходит с datasetId?

Когда вы повторно публикуете тот же (измененный) отчет, вы получите сообщение, подтверждающее, что набор данных будетперезаписать.

enter image description here

Но идентификатор набора данных останется прежним.Однако если вы удалите отчет и набор данных и опубликуете его снова, эти идентификаторы будут другими.

О «неверном запросе» - просмотрите информацию в исключении.Это должно подсказывать вам, почему вы получаете это.Проверьте заголовки ответа, есть ли один X-PowerBI-Error-Info и, если да, какое значение.

...