14 Replies Latest reply: Dec 18, 2016 1:05 PM by Ralf Becher RSS

    Extension : The calculation page is too large

    Ahmed Eid

      Hi all,

      I'm creating a new line chart with time as the X-Axis ,, it was working properly ,, I restarted my laptop ,, and opened qlik sense again tried to use it and all I get is this message

       

      The calculation page is too large. Reduce the number of cells and try again .

       

      I also have a problem ,, that qlik sense retrieves only the numbers of the first 2 measures ,,

      so I add 1 dimension 4 measures ,, and I get a hyper cube with only 3 elements width [1 dimension , 2 measures]

      why could this happen ?

       

      Regards

        • Re: Extension : The calculation page is too large
          Ahmed Eid

          Both of the following charts are using the same dimension and the same measure

          scr.png

            • Re: Extension : The calculation page is too large
              Marcus Sommer

              Do you try to create this date within the chart? If yes switch this part to the script maybe within a master-calendar: Understanding the Master Calendar (video).

               

              - Marcus

              • Re: Extension : The calculation page is too large
                Ralf Becher

                Hi Ahmed,

                a data page in hypercube can handle 10k values only. So, if you have 1 dimension and 2 measures you need to define qWidth=3:

                 

                initialProperties: {

                     qHyperCubeDef: {

                         qDimensions: [],

                         qMeasures: [],

                         qInitialDataFetch: [{

                             qWidth: 3,

                             qHeight: 3333

                            }]

                   }

                }

                 

                So, each data page will contain 9999 cells. If you want to retrieve more data than first page only you need to load page after page using backendApi.getData() or use this: GitHub - skokenes/senseUtils: a JavaScript library for developing Qlik Sense web solutions with the Sense APIs

                 

                - Ralf

                  • Re: Extension : The calculation page is too large
                    Ahmed Eid

                    Hi Ralf,

                     

                    I want to get 10 as width [1 dim 9 measures] ,, so that should make the initial props like this

                     

                    initialProperties: {

                         qHyperCubeDef: {

                             qDimensions: [],

                             qMeasures: [],

                             qInitialDataFetch: [{

                                 qWidth: 10,

                                 qHeight: 1000

                                }]

                       }

                    }

                     

                    yet it just ignores these values and return only the first 3 [1 dim 2 measures] knowing that the returned page is only 197 height which is the data set I'm currently working on

                     

                     

                    Thanks for your help

                      • Re: Extension : The calculation page is too large
                        Ralf Becher

                        Well, there is more to define:

                         

                        definition: {

                            type: "items",

                            component: "accordion",

                            items: {

                                dimensions: {

                                    uses: "dimensions",

                                    min: 1,

                                    max: 1

                                },

                                measures: {

                                    uses: "measures",

                                    min: 9,

                                    max: 9

                                },

                         

                         

                        ..and of course you need to process the retrieved data from the HyperCube.

                          • Re: Extension : The calculation page is too large
                            Ahmed Eid

                            Yes I've already added these lines ,, and I can see the qMeasuresInfo containing all the chosen measures and I can get the min and max values ,, yet I can't read them as the qMatrix dataPage containing only 3 values per row [1 dim and 2 measures] ,, the first two measure and if I changed the order of measure the retrieved data will be changed and will containt the two new first measures

                             

                            Thx again for your help ,,

                              • Re: Extension : The calculation page is too large
                                Ralf Becher

                                Don't really understand the problem. Can you upload your extension example and the app to get this fixed..

                                 

                                Btw. if you change the extension definition you have to delete the extension from sheet and drag it in again. Also, be sure you have disabled browser cache in chrome developer tools.

                                  • Re: Extension : The calculation page is too large
                                    Ahmed Eid

                                    I restarted the qlik sense app, removed the chart and added it again ,, and now it works ,,

                                     

                                    Thx for your help Mr.Ralf

                                     

                                    I'll mark your answer as the correct one

                                    • Re: Extension : The calculation page is too large
                                      Igor Zhilin

                                      Hi Ralf,

                                       

                                      I am trying to understand how to build a custom extension.

                                      I loaded some dummy data. There are 5 columns and 9864 rows.

                                      sense custom extension data model.png

                                      I took this extension script, nothing special (I plan to use d3, hence references):

                                       1
                                       2
                                       3
                                       4
                                       5
                                       6
                                       7
                                       8
                                       9
                                      10
                                      11
                                      12
                                      13
                                      14
                                      15
                                      16
                                      17
                                      18
                                      19
                                      20
                                      21
                                      22
                                      23
                                      24
                                      25
                                      26
                                      27
                                      28
                                      29
                                      30
                                      31
                                      32
                                      33
                                      define( ["./js/d3.min", "./js/senseD3utils", "./js/senseUtils"],
                                          function ( ) {
                                              'use strict';
                                              return {
                                                  definition: {
                                                      type: "items",
                                                      component: "accordion",
                                                      items: {
                                                          dimensions: {
                                                              uses: "dimensions"                    },
                                                          measures: {
                                                              uses: "measures"                    }
                                                      }
                                                  },
                                                  initialProperties: {
                                                      qHyperCubeDef: {
                                                          qDimensions: [],
                                                          qMeasures: [],
                                                               qInitialDataFetch: [{
                                                                    qWidth: 6,
                                                                    qHeight: 1500                         }]
                                                      }
                                                  },
                                                  paint: function ( $element, layout ) {
                                                      var hc = layout.qHyperCube;
                                                      console.clear();
                                                          console.log( 'Data returned: ', hc );
                                                  }
                                              };
                                          } );
                                      

                                       

                                      The extension was created, and I dropped it in the page.

                                      Then I put

                                      • Dimension: [CC]
                                      • Measure sum(Actual)

                                       

                                      And get the same "the calculation page is too large".

                                       

                                      What am I missing? Also, is there a way not to anticipate the number of dimensions and measures (because above you say: ok, if there are 2 dimensions and 1 measure, you need to put 3 as Width <-- why should we hardcode this???)

                                       

                                      If you have a tutorial (or documentation) explaining this calculation page, I would be glad if you can share it. In no existing tutorials could I find an explanation for this "calculation page" behavior.

                                       

                                      Sense version 3.1 SR3