Hi all,
I am currently working on bringing Power BI Embedded to a place that our company can think of using this more often. One limitation I can currently see is potentially needing different filters/filter styles from page to page. Rather than constantly type out the code for the filter, I thought I would build a function to make them based off of inputted parameters.
EX: I have a filter:
var useFilter = { $schema: "http://powerbi.com/product/schema#advanced", target: { table: table, column: column }, logicalOperator: 'And', conditions: [ { operator: "Is", value: value } ] };
Where table, column, and value were some hard coded variables I had in the script section. Now, this is fine for a one off, but isn't dynamic enough for what we might need. So I created a function to try and return this object, based off of inputted parameters. Here is the function:
function advancedFilter(table, column, logicalOperator, operator, value){ if (logicalOperator === undefined) { logicalOperator = "And"; } if (operator === undefined) { operator = "Is"; } if (value === undefined) { value = 0; } var filter = { $schema: "http://powerbi.com/product/schema#advanced", target: { table: table, column: column }, logicalOperator: logicalOperator, conditions: [ { operator: operator, value: value } ] }; }
I would then set a variable like so:
var useFilter = advancedFilter(table, column, "And", "Is", arr)
Where arr is a basic array variable with a value (104 for example) in it. I have also tried just passing the raw value instead of an array. What am I doing wrong here? Every time I try to use this, I get an error: Uncaught (in promise) [Array[4]]. If I use the example filter at the top, without the function, everything works fine. Anyone have answers?