Quantcast
Channel: Developer topics
Viewing all articles
Browse latest Browse all 17890

How come table columns get sorted alphabetically and not by their position in capabilities.json?

$
0
0

Hello,

 

Here's my capabilities.json:

 

{
  "dataRoles": [
    {
      "displayName": "Name",
      "name": "name",
      "kind": "Grouping"
    },
    {
      "displayName": "Description",
      "name": "description",
      "kind": "Grouping"
    },
    {
      "displayName": "Sector",
      "name": "sector",
      "kind": "Grouping"
    },
    {
      "displayName": "Ring",
      "name": "ring",
      "kind": "Grouping"
    },
    {
      "displayName": "Is new?",
      "name": "isNew",
      "kind": "Grouping"
    }
  ],
  "dataViewMappings": [
    {
      "table": {
        "rows": {
          "select": [
            {
              "for": {
                "in": "name"
              }
            },
            {
              "for": {
                "in": "description"
              }
            },
            {
              "for": {
                "in": "sector"
              }
            },
            {
              "for": {
                "in": "ring"
              }
            },
            {
              "for": {
                "in": "isNew"
              }
            }
          ]
        }
      }
    }
  ]
}

However, in my visual, when I run console.log(dataViews[0].table.rows), I see that for each row, it provides the description first, then isNew, name and ring, and finally sector. I presume it is sorting these alphabetically rather than a random sort and it appearing this way by coincidence - but either way, the fact remains that this order is pretty much useless to me as a developer.

 

In fact, it's not even sorted by the column names that I define - it's sorted by the column names that the user defines.

 

I would expect that because I defined name first in capabilities.json, it would appear as the first column of each row, so for example to get the name of the first row I would use dataViews[0].table.rows[0][0]. But with this method of ordering I don't actually know what index the name will be at.

 

How do I get around this issue?

Thanks.


Viewing all articles
Browse latest Browse all 17890

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>