Можно ли передать параметр динамического запроса во встроенный отчет Power BI в ASP.Net MVC? - PullRequest
0 голосов
/ 08 января 2019

Мой вопрос относится к следующей документации, которая является частью API параметров Power BI Embedded Query по адресу https://azure.microsoft.com/en-us/updates/power-bi-embedded-query-parameters-api/

"Обратите внимание, что параметры основаны на наборе данных, поэтому они определены для отчета / панели мониторинга, но не на уровне сеанса пользователя. Это означает, что разные пользователи, которые одновременно используют один и тот же отчет, всегда будут видеть значение того же параметра. "

Мы планируем встроить информационные панели, созданные с помощью Power BI, в наше приложение .Net MVC. Многие школьные пользователи (внешние по отношению к организации и из разных школ) будут входить в систему для доступа к этим отчетам.

Предположим, что 5 пользователей из 5 разных школ пытаются получить доступ к панели мониторинга, параметризованной для отображения данных в соответствии с их школой. Могу ли я добиться этого с помощью Power BI Embedded? Источник моей путаницы заключается в том, что в документации говорится, что разные пользователи, использующие один и тот же отчет в одно и то же время, всегда будут видеть значение одного и того же параметра.

1 Ответ

0 голосов
/ 09 января 2019

Параметры не являются хорошим выбором в этом случае. Используя API, вы можете изменять их значения, но эти значения сохраняются в самом отчете, и все пользователи, открывающие эти отчеты, будут затронуты изменениями значений параметров.

Вы должны использовать фильтры для достижения этой цели. Допустим, в вашей модели есть таблица с именем SchoolData и столбец с именем SchoolId. Когда вы встраиваете отчет в свое приложение, задайте фильтр для этого столбца, например, как это:

const basicFilter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        table: "SchoolData",
        column: "SchoolId"
    },
    operator: "In",
    values: [1],
    filterType: models.FilterType.BasicFilter
}

И затем передать этот фильтр в подробности конфигурации встраивания :

var config = {
    type: embedType,
    accessToken: accessToken,
    tokenType: tokenType,
    embedUrl: embedUrl,
    id: embedId,
    dashboardId: dashboardId,
    permissions: permissions,
    filters: [basicFilter],
    settings: {
        filterPaneEnabled: true,
        navContentPaneEnabled: true
    }
};

где 1 - значение, соответствующее текущему зарегистрированному пользователю. Меняйте его каждый раз, когда отчет отображается в вашем приложении, в зависимости от текущего пользователя (т.е. 2, 3, 4 и т. Д.).

Дополнительную информацию о том, как фильтровать данные с помощью Power BI Embedded, можно найти в документации Filters .

...