3 Replies Latest reply: Jul 15, 2015 5:45 PM by Nicole Smith RSS

    Dimension buckets

      Hello,

       

      I need help with solving the following issue in my app.

       

      Requirement:

       

      Give users the ability to adjust grouping interval size and number of intervals through input variables.

       

      Current:

       

      Right now I have 1 variable which assigns the size of interval range

       

      vIntervalSize = 10

       

      Result -->   Dimension    

                          0-10         

                          10-20

                          20-30

                              ....

      Right now the above is achieve by the following dimension script

       

      =subfield(class(FIELDMEASURED,vIntervalSize ,'IntSize'),' ',1)&' - '&subfield(class(FIELDMEASURED,vIntervalSize ,'IntSize'),' ',5)

       

      Goal:

      vIntervalSize1 = 5   vIteration1 = 2

      vIntervalSize2 = 10 vIteration2 = 4

      vIntervalSize3 = 20 vIteration3  =2

       

      Result --> Dimension

                          0-5

                          5-10

                         10-20

                         20-30

                         30-40

                         40-50

                         50-70

                         70-90

      I need to be able to fit this into a single dimension expression...

       

      Thank you,

       

      Kostya

        • Re: Dimension buckets
          Ramon Covarrubias

          if I understood right, you could probably get this done with nested if's

           

          another option could be using a slider Top xxx based on Slider

           

          where the range is defined by the min and max of slider

          • Re: Dimension buckets
            Nicole Smith

            =if(FIELDMEASURED<vIntervalSize1*vIteration1, subfield(class(FIELDMEASURED,vIntervalSize1,'IntSize',0),' ',1)&' - '&subfield(class(FIELDMEASURED,vIntervalSize1,'IntSize',0),' ',5),

            if(FIELDMEASURED<vIntervalSize1*vIteration1+vIntervalSize2*vIteration2, subfield(class(FIELDMEASURED,vIntervalSize2,'IntSize',mod(vIntervalSize1*vIteration1+vIntervalSize2*vIteration2,vIntervalSize2)),' ',1)&' - '&subfield(class(FIELDMEASURED,vIntervalSize2,'IntSize',mod(vIntervalSize1*vIteration1+vIntervalSize2*vIteration2,vIntervalSize2)),' ',5),

            if(FIELDMEASURED>=vIntervalSize1*vIteration1+vIntervalSize2*vIteration2 and FIELDMEASURED<vIntervalSize1*vIteration1+vIntervalSize2*vIteration2+vIntervalSize3*vIteration3, subfield(class(FIELDMEASURED,vIntervalSize3,'IntSize',mod(vIntervalSize1*vIteration1+vIntervalSize2*vIteration2+vIntervalSize3*vIteration3,vIntervalSize3)),' ',1)&' - '&subfield(class(FIELDMEASURED,vIntervalSize3,'IntSize',mod(vIntervalSize1*vIteration1+vIntervalSize2*vIteration2+vIntervalSize3*vIteration3,vIntervalSize3)),' ',5))))

             

             

             

            I've also attached a sample QVW.