Forum Discussion
ysapiyev
8 years agoResponsive Resident
How to alter capabilities.json to have 4 inputs for values?
hi, I am creating custom visual, and I'm new in power bi. I need to be able to enter 1 category and 4 values in capabilities.json in categorical data mapping. how it can be done?
- 8 years ago
{ "dataRoles": [ { "displayName": "Category", "name": "Category", "kind": "Grouping" }, { "displayName": "Values1", "name": "Values1", "kind": "Measure" }, { "displayName": "Values2", "name": "Values2", "kind": "Measure" }, { "displayName": "Values3", "name": "Values3", "kind": "Measure" }, { "displayName": "Values4", "name": "Values4", "kind": "Measure" } ], "dataViewMappings": [ { "categorical": { "categories": { "for": { "in": "Category" } }, "values": { "select": [ { "for": { "in": "Values1" } }, { "for": { "in": "Values2" } }, { "for": { "in": "Values3" } }, { "for": { "in": "Values4" } } ] } } } ] }Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals
Maikeru
8 years agoHelper II
Thank you very much, v-viig!
Really appreciate your time helping me out.
I tried to implement the piece of code you sent me, but I am not able to retrieve the data to the viz.
As you can see below, I tried to substitute the fetched data with some static one (value_array) and in the latter case, the visual displays properly.
Is there something obvious that I missed?
function visualTransform(options: VisualUpdateOptions, host: IVisualHost) {
let dataInfo = {
dataPoints: [],
dataMax: 0
};
let dataPoints = [];
let dataMax: number;
let dv = options.dataViews;
let view = dv[0].categorical;
let values1 = view.values[0];
let values2 = view.values[1];
let values3 = view.values[2];
let values4 = view.values[3];
//let value_array = [values1,values2,values3,values4];
let value_array = [100,10,8,120];
for (let i = 0; i < 4; i++) {
dataPoints.push({
category: "test" + i,
value: view.values[i]
//value: value_array[i]
});
}
dataMax = 130;
return {
dataPoints: dataPoints,
dataMax: dataMax
};
}
Best regards
Michael
Maikeru
8 years agoHelper II
I figured out what was wrong.
I needed to add an extra « values » property to retrieve the node value.
view.values[i].values