2016-09-01 2 views
0

У меня есть URL-адрес, который возвращает объект json со всем, что мне нужно для моего встроенного отчета. Я получаю данные для отчета, добавляя новый источник веб-данных и вставляя URL-адрес. Несколько преобразований позже и tada! сексуальный отчет. в отчете показаны много диаграмм и графиков и т. д. ... однако мне нужно иметь возможность изменять URL-адрес источника данных в зависимости от того, кто его смотрит.Как использовать параметр в строке источника веб-данных MS Power Bi?

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

, например, если мой источник данных определен в инициирующей pbix, как

Json.Document(Web.Contents("http://www.testdata.com/api/json?orgId=1")) 

как я могу изменить его

Json.Document(Web.Contents("http://www.testdata.com/api/json?orgId=2")) 

, когда я тянуть отчет встраивать на странице?

Я знаю, что вы можете фильтровать данные, но это означает, что я должен заставить URL-адрес источника данных вытащить ВСЕ данные, которые будут огромными и интенсивными, просто чтобы отфильтровывать что-то.

Вкратце, я встраиваю отчет на веб-сайт, а единственный способ получить данные - только через конечный пункт json. Для этой конечной точки требуется идентификатор org для пользователя, так как я могу передать его bi, который, в свою очередь, использует его в URL-адресе источника данных?

+1

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

+0

Да, но это кошмар для поддержания и поддержания;) – DasAmigo

+0

Я знаю, что это не решит полностью, но есть возможность сохранить (и изменить) соединение в одном месте в вашем отчете: [link] (https: // blog.crossjoin.co.uk/2015/11/09/avoiding-duplication-of-database-connection-information-in-power-bi/) – user5226582

ответ

0

Ваш единственный вариант для этого сценария - вытащить все необходимые данные в ваш набор данных. Затем вы можете использовать либо защиту уровня ролей (RLS), либо новый JS API для фильтрации данных для каждого пользователя.

Возможно, вы должны взглянуть на источник данных Azure SQL как более эффективный, гибкий и масштабируемый интерфейс для PBI Embedded.

+0

Я был уверен, что это будет ответ. Спасибо, в любом случае! Рад, что он подтвердил;) – DasAmigo