Параметры не являются хорошим выбором в этом случае. Используя 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 .