cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
absmiths Frequent Visitor
Frequent Visitor

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.

1 ACCEPTED SOLUTION

Accepted Solutions
Moderator v-viig
Moderator

Re: What determines the column order of a table data view mapping?

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

pbicvsupport@microsoft.com

3 REPLIES 3
Moderator v-viig
Moderator

Re: What determines the column order of a table data view mapping?

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

pbicvsupport@microsoft.com

absmiths Frequent Visitor
Frequent Visitor

Re: What determines the column order of a table data view mapping?

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).

Moderator v-viig
Moderator

Re: What determines the column order of a table data view mapping?

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

pbicvsupport@microsoft.com