Forum Discussion
Passing Multiple Parameter filters in Power BI Embedded
codjangmah: One workaround can be to concatenate the two fields and pass it as a filter.
- codjangmah9 years agoNew Member
Can you please give an example and how will powerbi know how to process the filter you pass in if its concatenated?
- alihamud9 years agoNew Member
you can use the JavaScript SDK
https://github.com/Microsoft/PowerBI-javascript
here is an example:
setting three filters on three column with multiple values:
filters1 = [
{
"$schema": "http://powerbi.com/product/schema#advanced",
"target": {
"table": "Date",
"column": "Date"
},
"logicalOperator": "And",
"conditions": [
{
"operator": "GreaterThan",
"value": "2014-04-11T21:00:00.000Z"
}
]
},
{
"$schema": "http://powerbi.com/product/schema#basic",
"target": {
"table": "Department",
"column": "Department"
},
"operator": "NotIn",
"values": [
396,
395,
399
]
},
{
"$schema": "http://powerbi.com/product/schema#basic",
"target": {
"table": "Business Area",
"column": "Business Area"
},
"operator": "In",
"values": [
"R&D"
]
}
]report.setFilters(filters1)
.then(function (result) {
$("#result").html("Done.
" + JSON.stringify(result));
})
.catch(function (errors) {
$("#result").html("Error.
" + JSON.stringify(errors));
});- codjangmah9 years agoNew Member
Thanks Allmud.. Very helpful guide.
- alihamud9 years agoNew Member
you can do that using the PowerBI Javascript SDK
https://github.com/Microsoft/PowerBI-javascript
example: setting filters for three columns with multiple values:
filters1 = [{
"$schema": "http://powerbi.com/product/schema#advanced",
"target": {
"table": "Date",
"column": "Date"
},
"logicalOperator": "And",
"conditions": [{
"operator": "GreaterThan",
"value": "2014-04-11T21:00:00.000Z"
}]
}, {
"$schema": "http://powerbi.com/product/schema#basic",
"target": {
"table": "Department",
"column": "Department"
},
"operator": "NotIn",
"values": [
396,
395,
399
]
}, {
"$schema": "http://powerbi.com/product/schema#basic",
"target": {
"table": "Business Area",
"column": "Business Area"
},
"operator": "In",
"values": [
"R&D"
]
}]report.setFilters(filters1)
.then(function(result) {
$("#result").html("Done.
" + JSON.stringify(result));
})
.catch(function(errors) {
$("#result").html("Error.
" + JSON.stringify(errors));
});- zq9 years agoFrequent Visitor
Hi alihamud, I have used the method described by you for filtering the report based on 2 columns from 2 different tables. However, combined these filterts not work whereas the separate filters work fine. Following is my code:
basicFilter = [
{
$schema: "http://powerbi.com/product/schema#basic",
target: {
table: "xyz",
column: "department_id"
},
operator: 'In',
values: [@ViewBag.DepartmentID]
},
{
$schema: "http://powerbi.com/product/schema#basic",
target: {
table: "abc",
column: "department_id"
},
operator: 'In',
values: [@ViewBag.DepartmentID]
}
]If I only apply the filter for table xyz/abc, it works fine. It seems so that combining filters is an issue. Please help