7 Replies Latest reply: Aug 3, 2007 5:08 AM by 3004 RSS

    Performance

    3004
      <p>i have a big problem about calculation performance of somescript in my project. I made some script with a fix command withsome sparse and dense dimensions.</p><p>My PC is a P4 with 1,5 Gb of RAM.</p><p>The reason of this bad performance is the use of SETCREATENONMISSINGBLK ON command becouse I must calculate to hightlevel of detail. The specific command SET CREATEBLOCKONEQ ON don'trun for all scripts.</p><p>Could you help me? Could you write me all thesuggestions (commands, cache settings....)? Excuseme for my English <img border="0" src= "http://dev.hyperion.com/discussion/i/expressions/face-icon-small-tongue.gif">           </p><p>My cube's details are</p><p>3 dimensions dense</p><p>7 dimensions sparse</p><p>existing blocks  60877</p><p>block size 70512</p><p>block density 0,23</p><p>potential number of blocks 1256976000</p><p>average clustering ratio 0,54</p><p>The cache value are default</p><p>Tanks...</p>
        • 1. Performance
          3004
          <p>Could you provide the calculation that is performing poorly? And note which dimensions are the sparse and which are thedense?  That would help me help you.</p>
          • 2. Performance
            3004
            <p>ok <b>Greensea928....</b></p><p>My dense dimensions are: Tempo, Misure, Scenario. The sparseare: Societa,Rete,Prodotto,Distribuzione and three attributes.</p><p>One of calculation script with bad performances is</p><p>SET UPDATECALC OFF;</p><p>FIX (@LEVMBRS ("Tempo",0), "Consuntivo",@UDA ("Rete","Nazione"), "DCE",@UDA("Prodotto","Linea Prezzo")) SETCREATENONMISSINGBLOCK ON;</p><p>"CO10122020" = ("L005"->"Anno")*("CO10122020"->"Distribuzione"->"Prodotto")/("L005"->"Anno"->"Distribuzione"->"Prodotto");</p><p>ENDFIX</p><p> </p><p>where Consuntivo is a child of Scenario, DCE is a child ofDistribuzione, CO10122020 is a member of Misure that is moredetails that L005 (that is a member of misure al level 0). When iexecute the script with the command SET</p><p>CREATEBLOCKONEQ ON it run very fast bat when i verify the resultof calculation I notice that the values do not come written to highlevels of dettails. For this reason they are forced to use thecommando SET CREATENONMISSINGBLOCK ON that implies but longesttimes of calculation. What are the real difference of the twocommands?</p>
            • 3. Performance
              3004
              <p>I don't understand what you mean by "I notice that thevalues do not come written to high levels of dettails". Is your calculation script trying to write the results toupper level members?  If not, why not just aggregate itafterwards to popoulate the upper levels?</p>
              • 4. Performance
                3004
                I think you must create the block and clear it before run the script.
                • 5. Performance
                  3004
                  Try this instead<BR><BR>SET UPDATECALC OFF;<BR>FIX (@LEVMBRS ("Tempo",0), "Consuntivo", @UDA ("Rete","Nazione"), "CO10122020",@UDA ("Prodotto","Linea Prezzo"))<BR>"DCE" = ("L005"->"Anno") * ("CO10122020"->"Distribuzione"->"Prodotto") / ("L005"->"Anno"->"Distribuzione"->"Prodotto");<BR>ENDFIX
                  • 6. Performance
                    3004
                    My problem is that I cant't create the block and after clear it becouse because they are many. The data do not come written in the relative levels like (@LEVMBRS (“Produced”, 0).In this livel the blocks are locked and I must use SET CREATENONMISSINGBLOCK ON, but this slows down the performances. If i don't populate these levels, the aggregation is bad.
                    • 7. Performance
                      3004
                      excused for the errors of writing but my smartphone has a bad keyboard.