Forum Discussion
What determines the column order of a table data view mapping?
In my capabilities.json, I have data roles defined like this:
"dataRoles": [
{"displayName": "Measured Depth", "name": "measuredDepth", "kind": "Grouping"},
{"displayName": "Is Planned", "name": "isPlanned", "kind": "Grouping"},
{"displayName": "Is Actual", "name": "isActual", "kind": "Grouping"},
{"displayName": "Depth Above", "name": "depthAbove", "kind": "Grouping"},
{"displayName": "Planned TVD", "name": "plannedTrueVerticalDepth", "kind": "Grouping"},
{"displayName": "Depth Below", "name": "depthBelow", "kind": "Grouping"},
{"displayName": "Actual TVD", "name": "actualTrueVerticalDepth", "kind": "Grouping"},
{"displayName": "Dog Leg Severity", "name": "dogLegSeverity", "kind": "Grouping"}
]And my data view mapping looks like this:
"dataViewMappings": [{
"table": {"rows": { "select": [
{"for": {"in": "measuredDepth"}},
{"for": {"in": "isPlanned"}},
{"for": {"in": "isActual"}},
{"for": {"in": "depthAbove"}},
{"for": {"in": "plannedTrueVerticalDepth"}},
{"for": {"in": "depthBelow"}},
{"for": {"in": "actualTrueVerticalDepth"}},
{"for": {"in": "dogLegSeverity"}}
]}}
}]And yet, when I look at my row data in the javascript debugger, the columns do not come in that order (abbreviated):
{
"0": {"roles": {"isActual": true}},
"1": {"roles": {"isPlanned": true}},
"2": {"roles": {"depthAbove": true}},
"3": {"roles": {"plannedTrueVerticalDepth": true}},
"4": {"roles": {"depthBelow": true}},
"5": {"roles": {"actualTrueVerticalDepth": true}},
"6": {"roles": {"dogLegSeverity": true}},
"7": {"roles": {"measuredDepth": true}}
}Is this normal, or did I set something up wrong? Do I need to scan the columns and dynamically locate my data points on each refresh? I sort of thought the data view mapping would handle that.
Columns order depend on how you fill data-fields of your custom visual.
Custom visual must use roles property to detemine what column is.
Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals
8 Replies
- v-viig
Community Champion
Columns order depend on how you fill data-fields of your custom visual.
Custom visual must use roles property to detemine what column is.
Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals
- absmithsRegular Visitor
Okay - not the answer I hoped for - but at least confirms my suspicion. Perhaps this would be a good feature request since parsing column data and matching by name to the configured values will be a common activity (I would suspect).
- v-viig
Community Champion
We'll consider this idea but it's pretty easy to implement by enumerating columns and checking role name.
Ignat Vilesov,
Software Engineer
Microsoft Power BI Custom Visuals
- AnonymousNot applicable
v-viig Can you give an example of how to use the 'roles' property to determine column?
- dm-p
Super User
Hi Anonymous,
We've recently discussed this here, and this helped out the person making the post. See if this works for you and we can discuss further as necessary.
Good luck!
Daniel