передача параметров в power bi filter программно из asp.net MVC - PullRequest
0 голосов
/ 14 сентября 2018

Я разработал отчет PowerBI и развернул его в рабочей области.
Из интерфейса PowerBI я просмотрел отчет и смог добавить фильтр следующим образом: filter = tablename ~ 2Fcolumnname eq 4 Состояние работает нормально с интерфейса. Но когда я добавляю условие фильтра в код моего приложения asp.ner MVC, фильтр не работает.

Условие отлично работает из интерфейса. Но когда я добавляю условие фильтра в код моего приложения asp.ner MVC, фильтр не работает.

Мой пример кода:

var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials);
var reports = await client.Reports.GetReportsInGroupAsync(WorkspaceId);
report = reports.Value.FirstOrDefault(r => r.Id == "aa07v254-8t46-2387-4k53-2725y90n3456");

report.EmbedUrl = report.EmbedUrl + "?filter=tablename/columnname%20eq%204";

Пожалуйста, помогите мне диагностировать, почему фильтр не работает.

1 Ответ

0 голосов
/ 16 сентября 2018

Вам не нужно менять встроенный URL, вместо этого попробуйте использовать следующий пример:

// Build the filter you want to use. For more information, See Constructing
// Filters in https://github.com/Microsoft/PowerBI-JavaScript/wiki/Filters.
const filter = {
    $schema: "http://powerbi.com/product/schema#basic",
    target: {
        table: "Geo",
        column: "Region"
    },
    operator: "In",
    values: ["West"]
};

// Get a reference to the embedded report HTML element
var embedContainer = $('#embedContainer')[0];

// Get a reference to the embedded report.
report = powerbi.get(embedContainer);

// Set the filter for the report.
// Pay attention that setFilters receives an array.
report.setFilters([filter])
    .then(function () {
        Log.logText("Report filter was set.");
    })
    .catch(function (errors) {
        Log.log(errors);
    }); 
...