Substitution Variable in Partition

Can a substitution variable be used in a partition? I need to add the current month (from our Time Periods dimension) to a partition. Right now, I am adding it manually. I'd like to automate the process. Does anyone use a partition that changes dynamically? Thanks.

I'm using a replicated partition. Here is the definition:<BR><BR>( @IDESCENDENTS("Accounts") AND @UDA("Accounts","Capex")) ( @remove(@LEVMBRS("Time Periods","Lev0,Time Periods"),@List(BegBalance, apr,may,jun,jul,aug)) ) ( (@LEVMBRS("Years","Lev0,Years") AND @IDESCENDANTS("Years")))("Forecast")("Current""Final") ( (@UDA("Business Unit_Segment","BU_CORP") AND @IDESCENDANTS("Business Unit_Segment")))"Department""Billing Pool""Expense Type"<BR><BR>See the Time Periods where I have the months hard coded? The last day of every month, I need to add that month (when the books close). So, on Sept 30th, I will add 'Sep' to the list. I'd like to automate this process. We have a substitution variable that we update every month which would work but I'm not sure how to use it in a partition.

Similar Messages

  • Pb to setup replicated partition with substitution variables

    Dear all,
    I have the following problem with the replicated partition by using the substitution variables :
    I would like to create a replicated partition using 3 substitution variables: &CurrPeriod, &CurrWeek, &CurrYear. The goal of this is to be able to copy data from application SourceApp to TargetApp every week, by changing the subst variables.
    The script I have created is :
    login useradmin identified by password on EssbServer
    alter application SourceApp load database SourceDb
    alter application TargetApp load database TargetDb
    create or replace replicated partition SourceApp.SourceDb
    Area ' "Account1", &CurrPeriod, &CurrWeek, &CurrYear, "ND_DISTRI","ND_PAGE","ND_PROD","VT", "REEL", "EUR" ' SourceArea
    to TargetApp.TargetDb at EssbServer  as useradmin identified by password
    Area ' "Account1",    "M_N",     "S_N",     "FY1" , "ND_DISTRI","ND_PAGE","ND_PROD","VT", "REEL", "EUR" ' TargetArea
    +     mapped TargetArea ("&CurrYear") to ("FY1")+
    +     mapped TargetArea ("&CurrWeek") to ("S_N")+
    +     mapped TargetArea ("&CurrPeriod") to ("M_N")+
    +     update allow;+
    refresh replicated partition SourceApp .SourceDb to TargetApp .TargetDb at EssbServer all data ;
    The issue is that this is not working. I don’t see any data when launching the Maxl script even if the script syntax is validated by essbase. The very strange thing is that when I replace the substitution variable by members, this script works fine, I see my data in the target cube. For example if I replace the subst variables by
    Area ' "Account1", “Month1”, “Week1”, “Year1”, "ND_DISTRI","ND_PAGE","ND_PROD","VT", "REEL", "EUR" ' SourceArea
    to TargetApp.TargetDb at EssbServer  as useradmin identified by password
    Area ' "Account1",    "M_N",     "S_N",     "FY1" , "ND_DISTRI","ND_PAGE","ND_PROD","VT", "REEL", "EUR" ' TargetArea
    +     mapped TargetArea (“Year1”) to ("FY1")+
    +     mapped TargetArea (“Week1”) to ("S_N")+
    +     mapped TargetArea (“Month1”) to ("M_N")+
    So my conclusion is that there is something wrong with the syntax of the substitution variable in my mapping.
    Your help on this would be very appreciated .

    Hi,
    I have the answer from Oracle support :
    Hello,
    This is a known bug.
    BUG 7418041
    This has been documented as a known issue in Essbase Release 9.3.1.3 with the following description: "Partitioning. Using substitution variables in replicated partition mappings incorrectly prevents data from replicating. [7418041]"
    Currently the development team are working on a fix, but we don't have a release date yet.
    The suggested workarounds are to use member names (which you have confirmed work) or use a Transparent partition in place of a replicated partition.

  • Sharing complex substitution variable values between ASO and BSO databases

    We have ASO and BSO Essbase database member names with spaces in, and need to store some of these member names in substitution variables. However, this has to be done differently for ASO and BSO, due to calc script syntax requiring double quotes and MDX requiring square brackets. For example:
    ASO:
    &CurWeek value = Week 1
    MDX: [&CurWeek]
    BSO:
    &CurWeek value = "Week 1"
    Calc Script: &CurWeek
    As a result, the substitution variables cannot be shared between the ASO and BSO cubes, since the BSO variable value requires double quotes due to the space in the member name.
    Is there a way to get the above to work with both ASO and BSO? Can the double quotes be escaped in calc script syntax? Or can the double quotes be removed in the MDX formula?

    Hi TimG,
    Apologies for such a late reponse to this, genuinely haven't had a spare second to reply until now!
    Yes, I suspect a complex alias name may be the best solution here, and to remove the spaces from the actual member names.
    I was not aware of the latter part at all. My colleague has confirmed as much on this too - DBAG 11.1.2.1 pp117 & 118:
    "Note: If a substitution variable value is numeric or a member name starting with a
    numeral or containing the special characters referred to above is to be used both
    in MDX and non-MDX situations, create two substitution variables, one without
    the value enclosed in quotation marks and one with the value in quotation marks."
    "To ensure that a new substitution variable value is available in formulas, partition definitions,
    and security filters, stop and restart the application. All other uses of substitution variables are
    dynamically resolved when used."
    This last paragraph is the most concerning since we were planning to be able to update substitution variables values and then access the new values from calc scripts and formulae instantaneously. This quirk is unexpected and a little inconvenient. We may have to look at scheduling a change of substitution variable value overnight, followed by a stop/start of the app ready for the next day, and to work around needing to access changed values instantly.

  • Substitution Variable update issue

    Hi,
    I am using Essbase 9.2.0.3. I have noticed a problem afetr updating Substitution Variable.
    The calculation script which uses the Substitution Variable works well after updating the variable.
    But the Member formula doesn't work, unless we restart the application .The member formula is in Period dimension to calculate QTD/YTD.
    Formula is: QTD=@MEMBER(@CONCATENATE (QTD,&ActEnd));
    Have anyone come across this? why the outline formula is not taking the updated value fronm Substitution Variable?
    Thanks,
    Tarini

    Hi,
    I reported this issue to the support and it was classified as: Bug 13072601: USING SUBSTITUTION VARIABLES IN FORMULAS OF OUTLINE MEMBERS.
    But as support didn't see this behavior as unusual or as a bug I went deeper and requested for enhancement. I asked them if it is possible to introduce a config setting which would switch on/off automatic updates of subs vars in outline as well as in partitions.
    Status is: Approved for Future Release, but there is no fixed version available yet.
    The ER# is: 13107378: AN ESSBASE CONFIG SETTING WHICH MAY SWITCH ON/OFF AUTOMATIC UPDATES OF SUBSVARIA
    So anyone interested can requested them for status.
    Regards,
    Adam

  • Can we use Substitution variables in MAXL?

    Hi,
    Can we use substitution variables in MAXL script?
    I have to run this MAXL command for clearing a slice of ASO cube on V11.1.1.3.
    alter database Apname.DBname clear data in region 'CrossJoin({[2009]},{[Dec]})';
    I am planning to use Current_year & Current_month variables instead of hardcoding 2009 & Dec as I have to use this everymonth to clear the current months data.
    If it is allowed, what is the syntax?
    Is there any alternative apart from substitution variables?
    Appreciate your thoughts.
    Thanks,
    -Ethan.

    You would just use ampersand and the variable name instead of the hard coding e.g. &yearVar &periodVar.
    Not tried it on aso clears but in theory it should work as ...'CrossJoin({&yearVar},{&periodVar})';
    just change yearVar and periodVar for your substitution variable names.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Use varialbe as a value in substitution variable

    Hi there,I incrementaly update my cube day by day.And I set a user variable in autoexec.bat to get the current date,eg '2003-06-23'.Could I use such variable as a variable's value in substition variable ?My platform is 6.5 on w2k.Regards,luau

    You can use that in a MAXL script to set the substitution variable.the MAXL script would be something like:Alter database $4 drop variable $5;alter database $4 add variable $5 $7 ;where: $4 is the app.cub $5 is the substitution variable name $7 is the value of the subs. variableRich Sullivan - Beacon Analytics

  • How to use a substitution variable in a load rule?

    I need to use a substitution variable in a load rule in a column, as I will receive a parameter to fix the Month and Year values within the data loading, could somebody tell me if this is possible. I put an expresion "&Yearproc" in the column value but it is not working.

    If you're a member of ODTUG (or even if not, you can sign up for an associate membership for free) you can download Glenn's presentation from 2009 Kaliedoscope "Little Used Features of Essbase (Like Data Mining and Triggers)" -- there is a section in that presentation on substitution variables -- he does a really good job in showing how this works.
    Go to: www.odtug.com, then Tech Resources, then Essbase/Hyperion, and search for Schwartzberg. Currently it's the ninth presentation on the list -- I think this changes based on popularity of downloads.
    Regards,
    Cameron Lackpour

  • Error When Prompting for Substitution Variable

    Hi - I'm receiving an error when I try to run the following using the substitution variable - but only when I enter a string; when I enter a numeric value it runs fine.
    DECLARE
        l_SCR_Info            VARCHAR2(50) := '''SCR'||&SCR_NUM||'-'||'''';
    begin
    dbms_output.put_line(l_SCR_Info);
    end;Here is the error I receive when I supply a string value when prompted:
    ORA-06550: line 3, column 52:
    PLS-00201: identifier 'AB' must be declared
    ORA-06550: line 3, column 27:
    PL/SQL: Item ignored
    ORA-06550: line 10, column 22:
    PLS-00320: the declaration of the type of this expression is incomplete or malformed
    ORA-06550: line 10, column 1:
    PL/SQL: Statement ignoredCan anyone shed some light on what I'm missing here?
    Thanks!
    Christine

    Hi,
    It looks like you just want one string there:
    l_SCR_Info            VARCHAR2(50) := '''SCR&SCR_NUM-''';Remeber how substitution variables work: SQL*Plus replaces them with values before sending the code to the back end to be compiled.
    If you give a value like AB for the variable, the code you posted is equivalent to:
         l_SCR_Info            VARCHAR2(50) := '''SCR'|| AB ||'-'||'''';by the time it reaches the compiler. AB is not inside quotes, so the compiler looks for a variable or function called AB.
    If you gave a number:
         l_SCR_Info            VARCHAR2(50) := '''SCR'|| 123 ||'-'||'''';there's no problem; the compile knows what the literal number 123 is.

  • Conditional suppression using substitution variable in Hyperion financial r

    Hi all,
    Is there a way that I can suppress a column using substitution variable in hyperion financial reporting?
    For eg, i want to suppress the column if the value of the substitution variable curr_mnth = jun.
    Is there a way to do this? In conditional suprression dialog box, I dont find this option.
    Please suggest.
    Your response is appreciated.
    Thanks,
    Sirisha.

    Hi Sirisha
    In my earlier reply I think I may have mislead you as I thought that you could set the member name equal to that in a row/column and I've managed to get into a HFR studio session this morning and realised that the conditional suppression only allows you to suppress where member name = 'XXX' (specific text) so that doesn;t meet your requirement.
    Different people will have different ways of achieving what you want and everyones requirements are different. If it helps my preferred way of conditionally suppressing periodic data (for Planning/Essbase) is to add a dynamic calc account member called 'TP-Index' into the database, set up a formula so that each period returns a numeric value from 1 to 12 to match the fiscal/calendar year as required.
    Then in reporting bring the account and period dimensions into rows/columns so that you are able to retrieve data for the TP-Index account and the period as defined in your substitution variable. You can then choose how the suppression works based on a numeric value, commonly you may want to suppress if greater than, e.g. you have a multi-period report where your actual data is to June so you want to suppress everything from July onwards.
    I'm sure that a similar thing could be achieved in HFM as well if that is your underlying system instead of Essbase.
    Does that help?
    Stuart

  • Using substitution variable in sql -- Issue

    Hello All
    I am trying to do a sql operation from command prompt of my system and that sql requires substitution variable which i am passing it but when i pass the variable ( there are two) the first one assign as " \c" and second gets both what i am passing.
    I am not sure what exactly happening here, i have done this on AIX but here its not working any ideas?
    System : uname -a
    Linux ## 2.6.18-128.1.1.el5 #1 SMP Mon Jan 26 13:58:24 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

    AIX and Linux are not the same. An output of "\c" may indicate a compatibility issue of your shell script with your current command line interpreter (shell). A \c can be used to suppress a newline with the echo command. Bash understands both formats echo -n and echo \c, but other shells like Ksh don't. Try to run your script under a Bash, which is the default under Linux. If the problem persists you will need to post your script for any further analysis.

  • Problems using substitution variable in Web Analysis

    Dear all,
    I have a Web Analysis report that I need to show a raking table with the current month.
    For that I create a variable in Essbase that is updated with that date (E.g.: varCurrentMonth).
    After that I use it as my substitution variable to filter my date dimension in a report data source (E.g.: Scr5, row: product, column: date dimension & measure):
    2008 (current month)
    Product $ qty.
    AAA 100 10
    BBB 90 7
    CCC 80 5
    The problem is that in our cube we need to use an alias in every dimension not to have duplicate members (E.g.: DT.Date, MS.Measure, PD.Product, etc). And when we use it we need to set up the variable in Essbase using that alias (E.g.: DT.Feb/05/08). And if we use that variable as a substitution variable in the report data source the label displayed is the DT.2008 and not 2008 as expected.
    Does anybody have an idea how to solve that?
    Many thanks,
    Thiago Gabriel

    You usually get this error message if you are trying to assign a value from a sub var to a member that does not exist.
    e.g. trying to put FY08 which is a year member against a period dimension
    or trying to use a sub var of FY09 which does not yet exist in the essbase, so say you added a new year in planning FY09 and used the sub var in the form but have not refreshed the database then it would fail because the year would not have been pushed down to essbase yet.
    or the value of the subvar does not match a member name exactly
    or using a sub var name that does not exist in essbase, e.g. using &nextYear but the sub var has not been created in essbase.
    You can definitely use subsitution variables in columns in the version you are using and prior version.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Error with define substitution variable in SQL

    Hi there,
    I am using PL/SQL developer and trying to define a substitution variable as follows:
    define freq = 'Weekly'
    Then later on, in my SQL statement, I used this variable in WHERE statement as follows:
    WHERE ... (&freq = 'Weekly') and ...
    But I got the "ORA-00904: "WEEKLY": invalid identifier" error.
    Where is the problem?
    Thanks in advance!

    I don't know about PL/SQL developer but in sqlplus you need single quotes around the variable.
    SQL> define freq = 'Weekly'
    SQL> select null from dual
      2  where &freq = 'Weekly';
    old   2: where &freq = 'Weekly'
    new   2: where Weekly = 'Weekly'
    where Weekly = 'Weekly'
    ERROR at line 2:
    ORA-00904: "WEEKLY": invalid identifier
    SQL> edi
    Wrote file afiedt.sql
      1  select null from dual
      2* where '&freq' = 'Weekly'
    SQL> /
    old   2: where '&freq' = 'Weekly'
    new   2: where 'Weekly' = 'Weekly'
    N
    SQL>

  • Substitution Variable in WA error

    Hi there,
    We have moved our server's IP beacuse we promoted developement (server07) to production (server08). Prior to that all reports worked fine. Now we're having some problems with the Substitution Variables, because everytime we select them, to include them in a report, it displays the following error:
    *"Actual_Month is not a valid substitution variable for dimension Period"*
    In fact I've tried to create a new variable with a new name and I get the same error. What intrigues me is that if we use the same variable for Dynamic Time Series let's say Y-T-D(Actual_Month) it works and displays a value.
    Maybe is there something in the connection but still with no clue how to fix it. Any database or setting at the config file to set?
    Thanks!

    I don't know about PL/SQL developer but in sqlplus you need single quotes around the variable.
    SQL> define freq = 'Weekly'
    SQL> select null from dual
      2  where &freq = 'Weekly';
    old   2: where &freq = 'Weekly'
    new   2: where Weekly = 'Weekly'
    where Weekly = 'Weekly'
    ERROR at line 2:
    ORA-00904: "WEEKLY": invalid identifier
    SQL> edi
    Wrote file afiedt.sql
      1  select null from dual
      2* where '&freq' = 'Weekly'
    SQL> /
    old   2: where '&freq' = 'Weekly'
    new   2: where 'Weekly' = 'Weekly'
    N
    SQL>

  • Assign substitution variable to another substitution variable with truncation of value

    I launch a sql*plus .sql script by way of a concurent job. The concurrent job provides a date paramenter to the script.  Job log shows the date passed to scrpit as:
    Arguments
    2013/09/01 00:00:00
    For cosmetic purposes in the ouput's heading, I want to convert/truncate the character string to an end-user format of 2013/09/01.
    Trying to simply change one substitution variable
    (below is not working, but hopefully telegraphs my intention:
    UnDefine Low_date
    Define Low_date = '2013-09-01 00:00:00'
    UnDefine Low_date_10
    Define Low_date_10 = 'yyyy-mm-ds'
    select substr('&Low_Date',1,10) into &Low_date_10 from dual;
    prompt "Variable value is: &Low_date_10"
    WHICH PRODUCES:
    old:select substr('&Low_Date',1,10) into &Low_date_10 from dual
    new:select substr('2013-09-01 00:00:00',1,10) into yyyy-mm-ds from dual
    Error starting at line 8 in command:
    select substr('2013-09-01 00:00:00',1,10) into yyyy-mm-ds from dual
    Error at Command Line:8 Column:55
    Error report:
    SQL Error: ORA-00905: missing keyword
    00905. 00000 -  "missing keyword"
    *Cause:   
    *Action:
    old:prompt "Variable value is: &Low_date_10"
    new:prompt "Variable value is: yyyy-mm-ds"
    "Variable value is: yyyy-mm-dd"
    "I need to get to "Variable value is: 2013/09/01"

    Hi,
    SELECT ... INTO only works in PL/SQL.
    In SQL*Plus, you can use COLUMN ... NEW_VALUE, like this:
    DEFINE  low_date = '2013-09-01 00:00:00'
    COLUMN low_date_10_col        NEW_VALUE  low_date_10
    SELECT  REPLACE ( SUBSTR ( '&Low_Date', 1, 10)
                    )    AS low_date_10_col
    FROM  dual;
    PROMPT  Variable value is: &Low_date_10

  • Unable to execute the substitution variable in calc scripts in essbase 11.1

    Unable to execute the substitution variable in calc scripts in essbase 11.1.3
    FIX(&CURRVERSION,COLA)
    Unit=units*Listprice;
    dataexport "file" "," "E:\NEW.TXT";
    ENDFIX
    Error: 1200471 Error parsing formula for FIX STATEMENT (line 1): expression expected before [)]
    This is error it throws when executing the calculation script
    I wonder whether its a problem with substitution variable i want to know wat went wrong inside the fix statement
    I have created substitution variable use maxl
    Installed the essbase in custom manner and standlone mode nt register with the shared services ,
    Is this problem with the custom installation of essbase
    Regards
    shenna

    If you remove the substitution variable and replace it with the actual value (whatever that is), does the code work? That will tell you if the issue is around the substitution variable or not.
    John -- First you race Glenn, then you race me -- and you always win. :)
    Regards,
    Cameron Lackpour

Maybe you are looking for