Forum Discussion
in selector json what is the 't' attribute
- 7 years ago
Hi rdegr,
I had a similar request andwas able to solve it in the following was:
1. I create an array of custom identities, in this case it uses the category as text, but that can be changed to SQExprBuilder.number if needed.
let categoryIdentities = categories.map((category) => { let sqlExpr = powerbi["data"].SQExprBuilder.equal(dataView.metadata.columns[0].expr, powerbi["data"].SQExprBuilder.text(category)); return powerbi["data"].createDataViewScopeIdentity(sqlExpr); });
# ref: https://github.com/liprec/powerbi-boxWhiskerChart/blob/89179879a7209b030245fd05c317eee2034db394/src/boxWhiskerChart.ts#L2602. When I loop thru the individual catagories (=i variable)I use the following code to create the correct SelectionId identifier:
let selectionId = new SelectionId({ data: [ categoryIdentities[i] ] }, false); # ref: https://github.com/liprec/powerbi-boxWhiskerChart/blob/89179879a7209b030245fd05c317eee2034db394/src/boxWhiskerChart.ts#L282I added links to my solution for more reference and hope this can also work for your visual.
-JP
You should be able to construct all needed filters/selectors with the `SQExprBuilder` as Power BI itself is using the same.
Or you are trying to create something that Power BI doesn't understand.
-JP
My problem is it wants to cross-reference the columns I've added. If I add a column with two distinct values, then another with 100, then I get 200 "values" for the first column, one for every combo of the two. And
this.selectionIds[val+''] = this.host.createSelectionIdBuilder()
.withCategory(cat, valIndex)
.createSelectionId();creates filters that apply to both columns.
I used your example to build a selector for just the column I care about.