Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Sort values into hypercube

Dear all,

I’m trying to sort my data with a hypercube. The final aim is to have a table ordered by value like this (example) :

Variable 1 (Dimension)

Variable 2 (Measure 1)

Variable 3 (Measure 2)

Variable 4 (Measure 3)

Name 1

50

1

100

Name 2

90

2

150

Name 3

20

3

3

I’m able to sort the table based on Variable1 (dimension) or on Variable2 (first measure into the hypercube) thanks to “qInterColumnSortOrder” :

- If it equal to [0,1], values are sorted based on dimensions (therefore, based on Variable 1).

- If it equal to [1,0], values are sorted based on measures (therefore, based on Measure 1).

How can I do if I want to sort my data based on the second measure and not based on the first measure?

Thanks in advance for your answers

To obtain this, my hypercube is constructed like this :

app.createCube({

  qDimensions : [

      {qDef : {

      "qFieldDefs": Variable1},

      qOtherTotalSpec : {

      "qOtherSortMode": "OTHER_SORT_ASCENDING"}

      }

      ],

  qMeasures : [

    {qDef : {

      qDef : Variable2 Equation},

      qLabel : "sel_0",

      qSortBy : {"qSortByNumeric": -1}},

    {qDef : {

      qDef : Variable3 Equation},

      qLabel : "sel_1",

      qSortBy : {"qSortByNumeric": -1}},

    {qDef : {

      qDef : Variable4 Equation},

      qLabel : "sel_2",

      qSortBy : {"qSortByNumeric": -1}}

    ],

  qInterColumnSortOrder : [0,1],

  qInitialDataFetch : [{

    qHeight : q_height,

   qWidth : q_width}]

  }, function(reply) { /*-- Construction of table --*/ }

2 Replies
dmtomlins
Partner - Contributor II
Partner - Contributor II

Hi, I know this may be late, but i believe that the qInterColumnSortOrder array is the order in which the columns are sorted. Therefore I  would suggest that you try [2], or something like [2,1,3,0] etc. Thanks David

ChristofSchwarz
Partner Ambassador
Partner Ambassador

I could sort it by adding a SortExpression directly to the dimension definition itself

{

qDimensions : [{

qDef : {

qFieldDefs : ["Product Name"],

qSortCriterias: [

{

  qSortByExpression: -1,

  qExpression: {qv: "Sum(Sales)" }

}

]

}

}],

qMeasures : [{

qDef : { qDef : "Sum(Sales)" }

},{

qDef : { qDef : "Column(1)*2" }

}],

//qInterColumnSortOrder : [0,1,2],

qInitialDataFetch : [{

qTop : 0,

qLeft : 0,

qHeight : 100,

qWidth : 4

}]

};