Calculating your Essbase Cube [ 180 ] If GenlevNum (the specific generation or level number) is: ° > 0 then it is using Generation reference ° <+ 0 then it is using Level reference Example: @ANCESTVAL ("TOTAL VEHICLE",2,"TOTAL SALES"): If current member being calculated is the STINGER COUPE, then the returned member is TOTAL SALES at the CARS level. @PARENTVAL and @ANCESTVAL are used for one dimensional value swapping. If you want to return values from another member based on multiple dimensions, then you will use the @MDPARENTVAL and @MDANCSETVAL functions. For more information, refer to the online technical reference included with your EAS software. @XREF: This function is used to reference data in another Essbase database. The XREF requires you to dene a location alias to another database. The other database can be similar to the original database or should at least have some similar dimensions. @XREF(LOCATION ALIAS, [MEMBERLIST]): For more information, refer to the online technical reference included with your EAS software. LOCATION ALIAS—you need to set a location alias as shown in the steps below. MEMBER LIST—this is optional, you can give the list of the member names for which you need the data. The following are the easy steps required to create the very useful location alias: 1. In EAS, select your application and click on Action. 2. Select Edit and click on the Location Alias for "ESSCAR" (Your Application). 3. In the Location Aliases screen, give an Alias name. Select the Essbase Server, Application, Database, User name, and Password and click on the Test button. 4. Once you click on the Test button, it will verify your existence on that Server or Application and the veried checkbox will be checked. Now, click on the SET button to save the information as shown in the following screenshot. 5. You can click on the Delete button to delete an existing Location Alias. This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Chapter 5 [ 181 ] Operators In calc scripts, you can use all of the routine arithmetic operators like +, -, *, /, logical operators like =, >, >=, <=, ==, <>, !=, and cross dimensional operators -> (minus sign with Greater than symbol). Since you are reading this book, we assume that you are very familiar with Arithmetic and logical operators. Of course, probably much better than we are! Cross Dimensional Operator: This operator fetches the data by joining members of different dimensions. You should only pick one member from each dimension. This formula can be used in calc scripts and can also be used in outline member formulas. For example: "TOTAL REVENUE" -> "TOTAL VEHICLE" ->"YEAR 2009" – The output of this command returns the Total Revenue for all Vehicles sold in the year 2009. Basically, you have said, "Give me the TOTAL REVENUE value at the TOTAL VEHICLE level at the YEAR 2009 level." All in one statement! This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Calculating your Essbase Cube [ 182 ] Math In addition to the operators previously described, Essbase has provided you with a comprehensive set of functions used to perform mathematical calculations in your database calc script. These functions return values to the calculation data based upon the specic mathematical function you have chosen. Some of the more widely used mathematical functions are @SUM(), @AVERAGE(), and @VAR(). • @SUM(): This function is used to return the sum of the members in the comma separated member list or the sum of the members returned from a member function. @SUM("CHICAGO","DETROIT"); This means the sum of CHICAGO + DETROIT. For more information, refer to the online technical reference included with your EAS software. • @VAR(): This function returns the variance (difference) between the two members listed as parameters. The variance is calculated by subtracting the rst member from the second member. @VAR(ACTUAL,BUDGET); • @VARPER(): This function is used to return the percent variance (percent difference) between the two members listed. The percent values are calculated by dividing the rst member by the second member. @VARPER(ACTUAL,BUDGET); • @ROUND(): This function will round the value of the expression parameter to the number specied by the NUMDIGITS parameter to the right of the decimal. @ROUND(EXPRESSION, NUMDIGITS) @ROUND(SALES,2) If the Sales value = 1000.926, then after rounding, it would be 1000.93. Member set Member set functions typically return a list of database outline members. Depending on the function you have selected for use, it can dynamically generate a list of members that are needed in the calculation. Member set functions are widely used in conjunction with the FIX() statement to help specify a list of outline members for calculation. This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Chapter 5 [ 183 ] Let's take a look at some of the commonly used member set functions: • @CHILDREN(): Returns the list of all of the children of the member named in the parameter. Syntax: @CHILDREN(mbrname) Example: @CHILDREN("Detroit"); Returns all members that are children of the member Detroit. • @SIBLINGS(): Returns the list of all siblings (members at the same level and with the same parent) for the member specied in the parameter. Syntax: @SIBLINGS(mbrname) Example: @SIBLINGS("Illinois"); Returns all siblings of the member Illinois. Range (Financial) In the Range functions, you can code a range of members as an argument. You can then SUM or AVERAGE the range for a new value. • @SUMRANGE(): Used to sum the values for a given range of members where mbrname is the member which will contain the summed values. Syntax : @SUMRANGE(mbrname, Rangelist) Example: @SUMRANGE(Sales, @DESCENDANTS(2009)); Returns the sum of Sales for all descendants of the year = 2009. • @AVGRANGE(): Used to calculate the average values for a specied range. As you remember in the @AVG function, we talked about SKIPNONE, SKIPMISSING, SKIPZERO, and SKIPBOTH parameters and their purpose holds true for the @AVGRANGE() function as well. Syntax: @AVGRANGE( SKIPNONE | SKIPMISSING | SKIPZERO | SKIPBOTH , MBRNAME, [RANGELIST] ) Example: @AVGRANGE(SKIPMISSING, Sales, @DESCENDANTS(2009)); This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com Calculating your Essbase Cube [ 184 ] Returns average Sales value for all sales in the 2009 periods. SKIPMISSING will exclude any periods that contains a #missing (NULL) value. • @NEXT() and @PRIOR(): As the functions' names imply, their use will either the PRIOR value from a specied dimension or the NEXT value from a specied dimension. Syntax: @NEXT(mbrname[, n, Rangelist]) @PRIOR(mbrname[, n, Rangelist]) Example: @NEXT(Sales,2,Years); @PRIOR(Sales,2,Years); For the @NEXT() function, the example returns Sales for the year member 2 periods ahead of the member currently being calculated. Likewise, for the @PRIOR() function, it returns the Sales for the year member 2 periods ahead of the member currently being calculated. Forecasting Forecasting functions can be used to estimate values for a certain period of time. A couple of the forecasting functions available to you are @MOVAVG() and the @MOVSUM() functions. • @MOVAVG(): This function applies a moving n-term mean to an input data set. Each term in the set is replaced by a trailing mean of n terms. @MOVAVG() modies a data set for smoothing purposes. Syntax: @MOVAVG(mbrName [, n [, XrangeList]]) Example: @MOVAVG(Sales,3,Jan:Jun); In this example, the @MOVAVG() function smoothes sales data for the rst six months of the year on a three month term. • @MOVSUM(): This function applies a moving sum to the specied number of values in an input data set. @MOVSUM() modies a data set for smoothing purposes. Syntax: @MOVSUM (mbrName [, n [, XrangeList]]) Example: @MOVSUM(Sales,3,Jan:Jun); This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 2009 8601 ave. p #1, , lubbock, , 79423 Download at Boykma.Com . @DESCENDANTS(20 09) ); This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 20 09 8601 ave. p #1, , lubbock, , 794 23 Download at Boykma.Com Calculating your Essbase. at the YEAR 20 09 level." All in one statement! This material is copyright and is licensed for the sole use by Paul Corcorran on 5th July 20 09 8601 ave. p #1, , lubbock, , 794 23 Download at. is copyright and is licensed for the sole use by Paul Corcorran on 5th July 20 09 8601 ave. p #1, , lubbock, , 794 23 Download at Boykma.Com Chapter 5 [ 181 ] Operators In calc scripts, you can