ClearBlock All

It appears that clearing all data using an Essbase calc script with "ClearBlock All" causes a problem. Running a later "Calc All" never finishes and the database page file never diminishes in size after running the "ClearBlock All".Yet, manually selecting "Clear Data", "All" from Application Manager, DOES remove all blocks. The later "Calc All" calc scripts completes fine (In under 30 minutes), and, the page file indeed diminishes. (I believe is actually removed.)Has anyone run into this issue before?Essbase version 6.5.1 on NT 5.00

Clearblock all will not reduce the page or index file sizes as Essbase appears to just flag the blocks as deleted without actually reducing the size of the page and index files. If you do a dense dimension restructure after the clearblock all, the page and index files will shrink as expected.The problem with your calc all may be that after doing the clearblock all, the database is very fragmented, so calcs take a long time to run. Defragmenting can be done via a dense restructure or export / clear / re-import as mentioned in other threads here.ESSCMD has a command which clears all the data: RESETDB (equivalent to the App Manager command you mentioned), but I don't know a calc script command to clearblocks and actually shrink the page and index files.

Similar Messages

  • Clearblock All within a fix

    We running a fairly complex cube for a mid size US company and have experienced that the Clearblock All command only clears some blocks from the database when using it inside a sparse fix (we are using it to clear data and blocks before a reload of data). <BR><BR>Now, I've read a few topics on this board about this, but none has really had a satisfying answer. I can understand if it doesn't clear all blocks if it is within a dense fix, but a sparse? And how come it only clears certain blocks? <BR><BR>Does anyone have an idea on what might be causing this and how to work around it?<BR><BR>Thanks in advance.

    Steve,<BR><BR>I think that it is very good practice to clear the data before you do the re-load for the following reasons:<BR><BR><BR>1. Loading using the Replace command works fine PROVIDED that all the data that was previously loaded is included in the new load. If, for any reason, there is a change of a member (e.g. due to an error), tthen teh data won't be removed by the re-load..<BR><BR>LOAD1<BR><BR>Company A, Account A, Market A Value 10<BR>Company A, Account A, Market B Value 10<BR>Company A, Account A, Market C Value 10<BR><BR><BR>so total is 30<BR><BR>LOAD 2<BR><BR>Company A, Account A, Market A Value 10<BR>Company A, Account A, Market B Value 10<BR>Company A, Account A, Market D Value 10<BR><BR>Total here would be 40, because the third line from LOAD1 would not be overwritten.<BR><BR>2. Loading using ADD is better, because it covers any instance that may occur where there are 2 or more lines that are identical (with different monetary values) and are VALID.<BR><BR>Whilst it may take more time, I believe that Clearing the blocks, and then re-loading provides me with a degree of insurance that is very useful to have, and is worth teh extra time involved in running the Clear block process.<BR><BR>HTH<BR><BR>

  • Clear Block All not working

    Hi,
    I have a calculation script that fixes on some sparse dimension members and then runs a Clear Block ALL command.
    This script works in dev environment, but does not work in prod.
    I copied the application from prod to dev and executed the script and data was cleared. But the same script does not work in prod.
    Any help is appreciated.
    Regards

    Hi vs,
    When you fix any dense Member/Dimension then "ClearBlock All" will only clear data not blocks, but in case when you fix sparse dimnesion/Member it will clear all blocks,
    so please recheck you dimensions which you have fixed in FIX Statement.
    Thanks,
    Avneet

  • ClearBlock command in an HBR

    I have the following calc script, which validates. I want to move it to an HBR (enhanced calc script) so I can add prompts, but I get a syntax error on "ClearBlock Empty" command. The error is "Encountered Empty, was expecting, All, Dynamic..." Looking at HBR documentation, it appears that the ClearBlock in HBR's is different then in Calc Scripts. We are using 9.3.1.1.
    What the calc is trying to do is first clear any blocks that I created using the "Assessment Block Creation" account, and then clear any other empty blocks that users might have created.
    I know that I shouldn't be creating extra blocks to start with, but the nature of the data (allocations based on the cummulative results of other allocations) and number of intersections make the method of creating extra blocks and then going back and cleaning up the fastest way.
    Any ideas on how to use the "ClearBlock Empty" in an HBR?
    Thanks in advance.
    SET UPDATECALC OFF;
    SET CALCPARALLEL 4;
    SET AGGMISSG ON;
    FIX("Local", "HSP_InputValue", @IDescendants("ENTITY",0), @Relative("RCVG DEPT", 0), @RELATIVE ("Tot_Snd_Pool", 0),
    @Relative("Tot_Rec_Pool",0) ,@IDESCENDANTS("TOTAL_CC"), "Assessment Block Creation")
    ClearBlock All;
    ENDFIX;
    CLEARBLOCK EMPTY;

    Does it just fail to validate or does it fail to run?
    I do not believe HBR validates on execution it just sends it right to Essbase after it has performed it's variable updates.
    I have seen other commands that were valid in Essbase that HBR syntax checking didn't like.
    Regards,
    -John
    Edited by: Jbooth on Apr 1, 2009 1:36 PM

  • Clear data in ASO 9.3.1.3

    how can i clear data for some combination of data
    what i ahve done is i run th report script of those combination and then i deleted the values and loaded the data with rul file
    is this way or or we have any other way to clear the data

    Hi,
    Be extremely careful if you are doing this..
    One way is to make use of calculation script:
    FIX(dim1, dim2) /*dim1 & dim2 are those members which form the combination where you donot want the data*/
    CLEARBLOCK ALL; /*Clears and removes all blocks*/
    ENDFIX;
    NOTE:
    1. Take backup before executing. Check the number of blocks before and after execution to get fair idea of whats happening.
    2. If you use CLEARBLOCK within a FIX command, Essbase clears only the cells within the fixed range, and not the entire block.
    3. Choose the FIX members cautiously.
    Hope it helps!
    Neha
    Sorry, this is for BSO only!!
    Edited by: NehaGahtori on Mar 26, 2010 5:32 AM

  • Clear block not working !! help required asap

    We have used clearblock all inside a fix command, it used to work before and when we migrated over to new server it is failing to work. It is not throwing out an error but it is not clearing. I checked the difference at the database level and found that Aggregate missing values was not set to Y on the migrated model ( new server). Could this be the cause. any thoughts.

    Yep.<BR><BR>If your Fix is on Children only (@relative(member,0) etc) and the aggregate Missing values = no then the parent values will remain.<BR><BR>Either change the Aggmissingvalues=y (my suggestion, unless you load data to parent values - another bad idea, but that's another discussion) or fix on all members (@ Idescendants or similar) to clearblock

  • Problem with DataCopy

    I'm trying to copy a version of the forecast from the working version to V1 with the following script:
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    SET UPDATECALC OFF;
    SET CLEARUPDATESTATUS OFF;
    SET AGGMISSG ON;
    FIX ( Forecast, V1, FY12, FY13, FY14, Jan:Dec)
         FIX (@Relative("Corporate Entities", 0 ), @Relative(Account, 0) )
              CLEARBLOCK ALL;
         ENDFIX
    ENDFIX
    /*CLEARBLOCK EMPTY; */
    FIX ( Forecast, FY12, FY13, FY14, @Relative("Corporate Entities", 0 ),@Relative ("Account",0 ) )
         DATACOPY Working TO V1;
    ENDFIX
    FIX(Forecast,V1, FY12, FY13, FY14, Jan:Dec )
                   agg("Cost Center", Equipment, Product);
    ENDFIX
    Except for one data point. Everything copies correctly. I have just one level 0 amount that will not copy. If I comment out the parameters (set commands) the data point copies but it does not aggregate. I have multiple versions and regardless of which version I copy to, I get the same result. What am I doing wrong?
    Thank you
    MG

    Try like this.....
    SET UPDATECALC OFF;
    SET CLEARUPDATESTATUS OFF;
    SET AGGMISSG ON;
    FIX ( Forecast, V1, FY12, FY13, FY14, Jan:Dec)
    FIX (@Relative("Corporate Entities", 0 ), @Relative(Account, 0) )
    CLEARBLOCK ALL;
    ENDFIX
    ENDFIX
    /*CLEARBLOCK EMPTY; */
    FIX ( Forecast, FY12, FY13, FY14, Jan:Dec)
    FIX (@Relative("Corporate Entities", 0 ),@Relative (Account,0 ) )
    DATACOPY Working TO V1;
    ENDFIX
    FIX(Forecast,V1, FY12, FY13, FY14, Jan:Dec )
    agg("Cost Center", Equipment, Product);
    ENDFIX

  • How to clear data on only one member

    <p>Hi</p><p>i have for members in my components dimension(Member A,Member B,Member C, Member D ).</p><p>i want to clear all data under MemberA, without touching anydata under other members.</p><p>i used the same dataload rule which i used for loading Member A,with changing the option from "Overwrite existingvalues" to "Substract existing values". But it gavea lot of errors.</p><p>can anyone suggest a better way.</p><p>thanks</p><p> </p><p> </p>

    Depending on the size of your database, a calc script is an option:<BR><BR>Fix (@isdescendants(MemberA))<BR>Clearblock all;<BR>Endfix<BR><BR>You can test different combinations of this script on a small section of data.<BR><BR>If just one member:<BR><BR>Cleardata MemberA;<BR><BR>would work too.<BR><BR>If the database is very large a calc may be quite slow but again that can be tested.<BR><BR>Hope this helps.<BR><BR>

  • Best way to create blocks from "No Year" to each year

    Hi,
    I have a scenario where I need to create blocks for each year based on the data in "No Year", keeping all the other members same.
    Years in Year dimension are not fixed as every year it would be added, so I do not want to hard code the years.
    I was looking the Datacopy command but am not able to get it using the same.
    Following is the extract of the code that I am trying to execute.....
    SET UPDATECALC OFF;
    SET CREATEBLOCKONEQ ON;
    SET LOCKBLOCK HIGH;
    FIX(
         [Scenario],
         "No Year",
         "ALDAR PJSC",
         "ICE99999",
         "ARB-Al Bandar","P115101", /* Projects */
         @RELATIVE("Emp013",0), /* Employees*/
         @RELATIVE("EMPG001",0), /* Employee Grade */
         @RELATIVE("D100000",0), /* Department */
         @RELATIVE("Period",0), /* Period - Dense */
         "ADJ120",     /* Adjust - Dense */
         "ST02021300" /* Account - Dense */
         [Version]
              [Version] = [Version] + 0;
    ENDFIX
    In the above case, I want to use @RELATIVE("Projects",0) which has around 90 members, but it takes huge amount of time. So, I tried having only one Project member initially and it took around 1 minute; then I tried using 2 members from Project dimemsion, then it took 2 minutes...
    Let know if there is any way to create blocks......

    Why not do a DATACOPY with a substitution variable as the target?
    FIX(
    [Scenario],
    [Version]
    "ALDAR PJSC",
    "ICE99999",
    "ARB-Al Bandar","P115101", /* Projects */
    @RELATIVE("Emp013",0), /* Employees*/
    @RELATIVE("EMPG001",0), /* Employee Grade */
    @RELATIVE("D100000",0), /* Department */
    @RELATIVE("Period",0), /* Period - Dense */
    "ADJ120", /* Adjust - Dense */
    "ST02021300" /* Account - Dense */
    /* Copy the data, creating blocks along the way. */
    DATACOPY "No Year" TO &NextYear ;
    /* Get rid of data, but keep blocks. */
    FIX(&NextYear)
    CLEARBLOCK ALL ;
    ENDFIX
    ENDFIX
    That would be pretty quick.
    Regards,
    Cameron Lackpour

  • Business Rule:Usage of @ISMBR with User Prompts/ Variables+Loop Function

    Hi,
    currently facing a business rule user prompt - if-selection issue - not sure, if it's simply a bug or other ways how to solve it:
    depending on runtimeprompt [RTP_VERSIONS], either the 1st or 2nd part of the rule should get executed using a loop command.
    The special thing is, that you can choose several versions simultaniously in runtimeprompt : as soon, as Data Input is part of the selection, the 1st part of the if-section should apply and the 2nd loop executed (and other way round)
    this works if I select 1 Member in the user prompt, but does not work, if I select several members.
    according to the manual, @ismbr function is "true", if already 1 member is matching !
    I experiemented in addition to @ismbr with @list and @range and also with additional == "Data Input"
    any idea, which other command should apply ? any experience, if using user-variables with several member selections in if-sections is a problem ?
    of course I could simply create separate businessrules or restrict runtimeprompt to 1 value/ version - but inconvenient.
    we are on system 9.3
    Businessrule:
    VAR breakvar1=1; /*Controls Deletion of Budgetdata on Version Data Input */
    VAR breakvar2=1; /*Controls Deletion of ALL Data on selected Versions */
    FIX( "BegBalance",
    [RTP_SCENARIO],
    *[RTP_VERSIONS]*,
    "Local",
    +..... other dimensions+ )
    "HSP_InputValue"
    IF( *@ISMBR("Data Input")* AND not @ISMBR(&Scenario_1_curr))
    breakvar1=1;
    breakvar2=0;
    ELSEIF( not @ISMBR(&Scenario_1_curr))
    breakvar1=0;
    breakvar2=1;
    ENDIF;
    ENDFIX;
    SET UPDATECALC OFF;
    SET MSG SUMMARY;
    Loop(1,breakvar1) /* delete all accounts = all data */
    FIX( [RTP_SCENARIO],
    [RTP_VERSIONS],
    @IDESCENDANTS([RTP_PROJECT])
    CLEARBLOCK ALL;
    ENDFIX;
    ENDLOOP
    Loop(1,breakvar2) /* delete only budget accounts, not setupdata */
    FIX( [RTP_SCENARIO],
    [RTP_VERSIONS],
    @IDESCENDANTS([RTP_PROJECT]),
    *@IDESCENDANTS("Costs")*
    CLEARBLOCK ALL;
    ENDFIX;
    ENDLOOP
    Edited by: Rodian Abel on May 4, 2010 10:38 PM
    Edited by: Rodian Abel on May 4, 2010 10:43 PM

    I think he is saying he does want to allow the user to select more than one member.
    You mention you are using @ismbr and @list. I would say that should be the one that would work.
    For example if you wanted Version1 and Version2 and you hardcoded it. It would look like this
    If (@ismbr(@list(Version1,Version2))
    So using your Variable I expect you wrote it like this
    if (@ismbr(@list(variable)) and that it didn't work.
    @range is useful as it is cross dimensional and that isn't the case here. So if @list doesn't work than this is a bug/problem for your specific situation and will have to approach it differently.

  • CREATEBLOCKONEQ: calc performance issue.

    Hello Everyone,
    We've been using one of the calc on but it takes a heck lot of time to finish.It runs almost for a day. I can see that CREATEBLOCKONEQ is set to true for this calc. I understand that this setting works on sparse dimension however ProjCountz (Accounts) and BegBalance(Period) is member on dense dimension in our outline. One flaw that I see is that ProjCount data sits in every scenario. However, we just want it in one scenario. So we will try to narrow the calc down to only one scenario. Other than that, do you see any major flaw in the calc?
    Its delaying a lot of things. Any help appreciated. Thanks in Advance.
    /* Set the calculator cache. */
    SET CACHE HIGH;
    /* Turn off Intelligent Calculation. */
    SET UPDATECALC OFF;
    /* Make sure missing values DO aggregate*/
    SET AGGMISSG ON;
    /*Utilizing Parallel Calculation*/
    SET CALCPARALLEL 6;
    /*Utilizing Parallel Calculation Task Dimensions*/
    SET CALCTASKDIMS 1;
    /*STOPS EMPTY MEMBER SET*/
    SET EMPTYMEMBERSETS ON;
    SET CREATEBLOCKONEQ ON;
    SET LOCKBLOCK HIGH;
    FIX("Proj_Countz")
    clearblock all;
    ENDFIX;
    Fix(@Relative(Project,0), "BegBalance", "FY11")
    "Proj_Countz"
    "Proj_Countz"="Man-Months"->YearTotal/ "Man-Months"->YearTotal;
    ENDFIX;
    Fix("Proj_Countz")
    AGG("Project");
    ENDFIX;

    You are valuing a dense member (Proj_Countz) by dividing a dense member combination (Man Months->YearTotal/Man Months->YearTotal). There can be no block creation going on as everything is in the block. CREATEBLOCKSONEQ isn't coming into play and isn't needed.
    The code is making three passes through the code.
    Pass#1 -- It is touch every block in the db. This is going to be expensive.
    FIX("Proj_Countz")
    clearblock all;
    ENDFIX;Pass#2
    Fix(@Relative(Project,0), "BegBalance", "FY11")
    "Proj_Countz"
    "Proj_Countz"="Man-Months"->YearTotal/ "Man-Months"->YearTotal;
    ENDFIX;Pass#3 -- It's calcing more than FY11. Why?
    Fix("Proj_Countz")
    AGG("Project");
    ENDFIX;Why not try this:
    FIX("FY11", "BegBalance", @LEVMBRS(whateverotherdimensionsyouhave))
    Fix(@Relative(Project,0))
    "Proj_Countz"
    "Proj_Countz"="Man-Months"->YearTotal/ "Man-Months"->YearTotal;
    ENDFIX
    AGG(Project,whateverotherdimensionsyouhave) ;
    ENDFIXThe clear of Proj_Countz is pointless unless Man-Months gets deleted. Actually, even if it does, Essbase should do a #Missing/#Missing and zap the value. The block will exist if Proj_Countz is valued and the cells MM and YT) will be there and clear the PC value.
    I would also look at the parallelism of your calculation -- I don't think you're getting any with one taskdim.
    Regards,
    Cameron Lackpour

  • Is it possible to clear a BLOCK (not data) after performing a test?

    I am looking for a way to clear blocks conditionally within a CSC, not universally based on a FIX. CLEARBLOCK does not work in IF statements. :(
    Any ideas?

    You can always use MaxL's restructure command to remove blocks completely from the .IND (just the pointers) and .PAG (the actual blocks) and defragment. Although restructure is single threaded, in my limited testing I find that it's about as fast as parallel export, clear, load, and agg.
    CLEARBLOCK ALL will remove the blocks from a calc engine perspective, but the blocks will be (I think) marked as dead and still really there in the .PAG file.
    Regards,
    Cameron Lackpour
    Edited by: CL on Nov 10, 2011 10:30 AM
    Sorry, forgot to add, you nee to the CLEARBLOCK ALL outside of the IF. You might be able to get away with some kind of FIX to do it. If it truly needs to be tested to be cleared, you are out of luck.

  • Strange behavour

    Hi All,
    I am using EAS and running the following calc script, for example, to clear one period of balance sheet:
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    Fix(@idescendants("Balance Sheet"), "2011","Forecast 12")
    CLEARBLOCK ALL ;
    ENDFIX
    The script runs successfully, however retrieveing from Excel addin, the data is still there, and I run this couple of times, but data is still not getting clear. This is driving me nuts,
    Any idea?

    The add in and smart view do not cache data. Every retrieval should bring back a new retrieve. Unless you were timed out and you have messages turned off, you should be getting fresh data with every retrieve. The only other possiblilty I can think of is you are clearing Version12 If you are pulling a different version it could have data

  • How to clear useless blocks?

    Due to careless in the calc script, i set a formula to sparse dimension members without fixing the blocks. it created many thousands of blocks during the calculation which takes 80 minutes to finish a "Calc All" usually costs 5 minutes. and 9 data files were generated, each of which is 2G. now i cannot make the outline restructure on dense members for it'll cause the server crashes. could anyone help me on this? thanks

    thanks,Essbasebird.i've cleared unwanted data using "Clearblock All" in a fix syntax, then in the application manager, i cleared Upper level blocks and recalc the DB, but it still took much time to finish. the size of ind and pag files didn't change. i am not quite sure whether blocks containing only missind data had been deleted or not.

  • Multiple Fix with invalid members.

    Hello!I trying run calculations like this:Fix("01/10/2002") CLEARBLOCK ALL;EndFix;Fix("02/10/2002") CLEARBLOCK ALL;EndFix;Fix("03/10/2002") CLEARBLOCK ALL;EndFix;Some members maybe invalid, and the calculation ends without finish the outers. There's some workaround?Thanks in advance, and sorry about the terrible english! :)

    True, CLEARDATA is very slow. Try this:"01/10/2002" = #Missing;"02/10/2002" = #Missing;"03/10/2002" = #Missing;All three should clear in a single pass. If it does not work, let me know.Good Luck,Tim

Maybe you are looking for