68
170 Lab 2.2 Calculation Scripts 1 Overview A calculation script contains a series of calculation commands, equations, and formulas. You use a calculation script to define calculations other than the calculations that are defined by the database outline. Calculation scripts are text files. Using Calculation Script Editor in Administration Services Console, you can create calculation scripts by: Typing the contents of the calculation script directly into the text area of the script editor Using the UI features of the script editor to build the script Creating the script in the text editor and pasting the script text into Calculation Script Editor You can use a calculation script to specify exactly how you want Essbase to calculate a database. For example, you can calculate part of a database or copy data values between members. You can design and run custom database calculations quickly by separating calculation logic from the database outline. You need to write a calculation script if you want to do any of the following tasks: Calculate a subset of a database. Change the calculation order of the dense and sparse dimensions in a database. Perform a complex calculation in a specific order or perform a calculation that requires multiple iterations through the data. For example, some two-pass calculations require a calculation script. Perform any two-pass calculation on a dimension without an accounts tag. Perform a currency conversion. Calculate member formulas that differ from formulas in the database outline. Formulas in a calculation script override formulas in the database outline. Use an API interface to create a custom calculation dynamically. Use control of flow logic in a calculation; for example, if you want to use the IF…ELSE…ENDIF or the LOOP…ENDLOOP commands. Clear or copy data from specific members. Define temporary variables for use in a database calculation. Force a recalculation of data blocks after you have changed a formula or an accounts property on the database outline. Control how Essbase uses the Intelligent Calculation feature when calculating a database. 2 Create Allocation Script One of the most common processes for an EPM application is an allocation. Examples of an allocation include spreading IT costs down to departments based on headcount or setting a target number for sales that is allocated down to sales reps based on their quota share. In this exercise, we will be using the @MDALLOCATION function which allocates values from a member, from a cross- dimensional member, or from a value across multiple dimensions. The value will be derived by taking the previous year’s sales and raising it by 10%. This number will then be allocated down to the lowest level in the Product and Market dimensions based on last year’s sales as a percentage of the total sales. Because allocations are very expensive to perform, we will be taking a subset of the cube for our calculation.

Lab 2.2 Calculation Scriptsessbase.ru/Uploads/EssbaseFirstSteps/025265.pdf170 Lab 2.2 Calculation Scripts 1 Overview A calculation script contains a series of calculation commands,

  • Upload
    others

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

170

Lab 2.2 Calculation Scripts

1 Overview

A calculation script contains a series of calculation commands, equations, and formulas. You use a calculation script to define calculations other than the calculations that are defined by the database outline. Calculation scripts are text files. Using Calculation Script Editor in Administration Services Console, you can create calculation scripts by:

• Typing the contents of the calculation script directly into the text area of the script editor

• Using the UI features of the script editor to build the script

• Creating the script in the text editor and pasting the script text into Calculation Script Editor You can use a calculation script to specify exactly how you want Essbase to calculate a database. For example, you can calculate part of a database or copy data values between members. You can design and run custom database calculations quickly by separating calculation logic from the database outline. You need to write a calculation script if you want to do any of the following tasks:

• Calculate a subset of a database.

• Change the calculation order of the dense and sparse dimensions in a database.

• Perform a complex calculation in a specific order or perform a calculation that requires multiple iterations through the data. For example, some two-pass calculations require a calculation script.

• Perform any two-pass calculation on a dimension without an accounts tag.

• Perform a currency conversion.

• Calculate member formulas that differ from formulas in the database outline. Formulas in a calculation script override formulas in the database outline.

• Use an API interface to create a custom calculation dynamically.

• Use control of flow logic in a calculation; for example, if you want to use the IF…ELSE…ENDIF or the LOOP…ENDLOOP commands.

• Clear or copy data from specific members.

• Define temporary variables for use in a database calculation.

• Force a recalculation of data blocks after you have changed a formula or an accounts property on the database outline.

• Control how Essbase uses the Intelligent Calculation feature when calculating a database.

2 Create Allocation Script

One of the most common processes for an EPM application is an allocation. Examples of an allocation include spreading IT costs down to departments based on headcount or setting a target number for sales that is allocated down to sales reps based on their quota share. In this exercise, we will be using the @MDALLOCATION function which allocates values from a member, from a cross-dimensional member, or from a value across multiple dimensions. The value will be derived by taking the previous year’s sales and raising it by 10%. This number will then be allocated down to the lowest level in the Product and Market dimensions based on last year’s sales as a percentage of the total sales. Because allocations are very expensive to perform, we will be taking a subset of the cube for our calculation.

171

1. In the Administration Services Console, right-click on the second TBC and select “Create->Calculation script”.

2. In the Calculation Script Editor, check “Insert arguments”.

172

3. Expand Functional in the functions list.

4. Double-click “SET UPDATECALC”. Delete “ON| ” in the work area. The first line of the calc script should be “SET UPDATECALC OFF;”. Typing in the statements without using the functions list is also permissible.

173

5. Expand Control Flow in the functions list and double-click “FIX”.

6. Replace mbrList from the FIX statement by highlighting mbrList and double-clicking on “Sales” in the outline viewer (you will need to expand on MEASURES, Profit and Margin in order to see Sales). You can also type in the member names without using the outline viewer. Double quotes ( “ ” ) are required for members that contain any spaces. Right-clicking on the member and selecting “Insert member name” is another option for inserting a member into the outline. This is the only way to insert a member through the outline viewer for upper level members as double-clicking them will drilldown to the next level.

The FIX statement isolates the calculation to a subset of the cube. In this case, only Sales will be calculated. Although FIX is not required, using it may decrease calculation time.

174

7. Highlight commands and hit <Enter> twice, deleting it from the calc script and moving ENDFIX down two lines.

Though carriage returns are not necessary, it improves readability of the calc script.

8. Double-click or type “Budget” before the semicolon ( ; ). Then, type an equal ( = ) sign.

9. In the functions list, expand Allocation and double-click “@MDALLOCATION”.

10. Replace amount with “"Jan-2007"->"Actual"->"100"->"West"*1.1” either by typing in the member names or using the outline viewer. Type the cross dimensional operators ( -> ) between the members. The cross dimensional operators represent an intersection point of the data.

The amount parameter is the value that will be allocated across the allocationRange. The data point at the intersection of Sales, Jan-2007, Actual,100 and West will be multiplied by 1.1 to give the value that is to be allocated.

175

11. Next, replace Ndm with the number two ( 2 ). Ndm is the number of dimensions across which the values are allocated. In our case this will be across two dimensions, PRODUCT and MARKET.

12. Highlight allocationRange1, expand on Member Set in the function list and double-click “@CHILDREN”.

Replace mbrName within the @CHILDREN function with “100”. Either type in the member name or from the outline viewer, expand on PRODUCT, right-click on 100 and select “Insert member name”.

176

Replace the ellipses ( … ) with a comma ( , ) and allocationRangeN with “@CHILDREN ("West")”.

The allocations will be spread across all the children of Product Family 100 and the children of the West Region.

13. Replace basisMbr with “"Jan-2007"->"Actual"”.

The basisMbr is a value, member, or cross-dimensional member that contains the values that are used as the basis for the allocation. The method you specify determines how the basis data is used.

14. roundMbr is an optional parameter. Since we will not be using it in our exercise, delete “[roundMbr]” (but do not delete the comma) from the script.

roundMbr specifies the member or cross-dimensional member to which rounding errors are added. This member (or at least one member of a cross-dimensional member) must be included in an allocationRange.

15. Replace method with “share”. The method parameter works in conjunction with the basisMbr parameter to determine how the values get allocated.

177

The share method uses basisMbr to calculate the percentage share that is allocated to each member in the allocationRange. So for each member in the allocationRange, the percentage share of its Jan-2007 Actual value in relation to the sum for every member in the allocationRange will the percentage share that it will receive from the amount parameter. For an explanation of additional methods, refer to the Oracle’s Essbase® Technical Reference guide.

16. The methodsParams, round, numDigits and roundErr parameters will not be used in this exercise, so they can all be deleted from the calc script.

methodsParams is used for certain methods, but is not used with share. Round flags whether you would like to round the allocated values (default is noRound, roundAmt indicates that you want to round the values). numDigits is an integer that represents the number of decimal places to round to. You must specify numDigits if you specify roundAmt. roundErr is an expression that specifies where rounding errors should be placed. You must specify roundAmt in order to specify roundErr. If you do not specify roundErr, Essbase discards rounding errors.

17. You can add carriage returns before the ENDFIX to make the calc script more readable.

18. Add two more carriage returns after the ENDFIX. Expand Functional in the function list and double-click on “CALC ALL”. Delete everything between CALC ALL and the semicolon ( ; ).

CALC ALL re-aggregates the data and re-runs all the outline calculations.

178

19. Select “Syntax->Check syntax” to validate your calc script.

20. If the validation is successful, save your calc script by selecting “File->Save”.

Save your calc script as “ALLOCATE” and click “OK”.

179

21. Open the Lab_Queries.xls file from the In Class Files folder and select tab Lab 2.2.2. Connect to TBC/TBC by going to “Essbase ->Connect”. Refresh the data by selecting “Essbase ->Retrieve”. You should have no Jan-2008 data.

22. In the EAS console, under the second TBC, there should now be a Calculation Scripts folder. Expand it and right-click on ALLOCATE. Select “Execute…”.

180

Click “OK” to run the calc script.

23. When the Execute Calculation Script dialog box disappears, refresh the data in Excel.

Verify that the amount in Jan-2008->Budget->Colas->West is 10% more than in Jan-2007->Actual->Colas->West. The allocation function did not actually write the Jan-2008->Budget->Colas->West amount into that intersection. It took the Jan-2007->Actual->Colas->West amount and increased it by 10%, and then it allocated that amount across all the Product SKU / State combinations based on their Jan-2007 Actual percentage share. The CALC ALL function eventually aggregated the values to the parents.

181

3 Create a Forecast

One of the greatest advantages of Essbase is its ability to look beyond the historical information and toward the future using what-if and regression analysis. In this exercise, we will be using the @TREND function to calculate future estimates based on historical values. The @TREND procedure considers a number of observations; constructs a mathematical model of the process based on these observations (that is, fits a curve); and predicts values for a future observation. You can use weights to assign credibility coefficients to particular observations, report errors of the curve fitting, choose the forecasting method to be used (for example, linear regression), and specify certain data filters.

1. In the Administration Services Console, under the second TBC, double-click “Outline” to open the outline.

2. Expand Scenario and click on Budget. Click on the “Add a sibling to the selected member” icon.

182

Type “Forecast” in the text box and hit <Enter> twice. Your outline should look similar to the one below. Click “Save”.

Verify that All data is chosen and click “OK”.

3. Open the Lab_Queries.xls file from the In Class Files folder and select tab Lab 2.2.3. Connect to TBC/TBC by going to “Essbase ->Connect”. Refresh the data by selecting “Essbase ->Retrieve”. You should have no Forecast data.

183

The purpose of this calc script is to compute a 2008 sales forecast using 2007 historical data using a regression calculation. In order to speed up the calculation, we will only be calculating Sales for all Products and Markets.

4. In the EAS console, right-click on Calculation Script and select “Create Calculation Script”.

5. Use the tools in the Script Editor or manually type the following calc script. Start by adding the SET UPDATECALC command and deleting “ON|”. Next, add a FIX statement and include three components, PRODUCT, MARKET and all the Descendants of 2007 so that we isolate on only those intersection points. Add a DATACOPY command to copy data from Actual Sales to Forecast Sales so that our forecast also has actual historical information. Next, we will nest another FIX statement inside the first one and further isolate on only Forecast data. You must associate the @TREND formula with a member, in this case Sales, so it becomes encapsulated in Sales( );. There are 9 parameters in the @TREND function, but three are required for a linear regression calculation, Ylist, YforecastList and method. The YList contains known observations; for example, actual sales figures from Jan-2007 to Dec-2007. The YforecastList is the member list into which the forecast values are placed; for example, forecast sales from Jan-2008 to Dec-2008. The method parameter is a choice among LR (linear regression), SES (single exponential smoothing), DES (double exponential smoothing), and TES (triple exponential smoothing). The optional parameters include weightings that can be applied to simulate seasonality. For a full description of the @TREND function, refer to the Oracle’s Essbase® Technical Reference guide.

184

6. Select “Syntax->Check syntax” to validate your calc script.

7. If the validation is successful, save your calc script by selecting “File->Save”.

Save your calc script as “TREND” and click “OK”.

185

8. In the EAS console, in the Calculation Scripts folder under the second TBC, right-click on TREND. Select “Execute…”

9. Click “OK” to run the calc script.

10. When the Execute Calculation Script dialog box disappears, refresh the data in Excel.

186

187

Lab 2.3 Tuning & Optimization

1 Overview

Essbase BSO tuning can take two forms: tuning for batch processing (to prepare the database for access by clients) and tuning the database to support client retrieval requirements. The objective of tuning for batch processing is to minimize the time to calculate the database. Tuning to support client requirements acknowledges that multi-user environments can have different memory configuration requirements (cache and buffer settings) and may even have implications that necessitate altering database configuration (dense/sparse settings). BSO tuning should be in no significant way different than relational database tuning. In these environments tuning essentially requires an in-depth understanding of the database storage structures, user query requirements, and how both interface with hardware infrastructure.

Essbase ASO tuning is more limited than in BSO, but can be just as critical for the proper performance of your database. ASO tuning takes on the form of outline, query and cache optimizations.

2 BSO Tuning and Optimization

1. In the Administration Services Console, right-click on the second TBC and select “Edit->Properties”.

2. Go to the Dimensions folder, notice the Members in Dimension column shows that this outline conforms to the “hourglass” shape.

188

3. Next, go to the Statistics folder. Notice that the Block size is well within the recommended limit of 100K.

4. To see how the dense/sparse settings affect Block size, change the setting for the SCENARIO dimension from sparse to dense. Open the TBC outline by double-clicking “Outline” below the second TBC.

189

5. In the Properties tab, under Data Storage – Dimension storage types, click on the dropdown next to SCENARIO and select “Dense”.

Click “Save”.

190

Verify that “All data” is selected and click “OK”.

Return to TBC->Properties. The Block size tripled because there are three stored members in the SCENARIO dimension.

191

6. You probably did not notice that the TBC database performed a restructure when you saved it. There are two types of restructures in Essbase BSO: sparse and dense. Sparse restructures are the least expensive as they only require a restructuring of the ESS*.IND files. These occur when you make some changes to only the sparse dimensions such as editing the hierarchies or adding/deleting members. Dense restructures occur when changes are made to the dense dimensions because the fundamental structure of the blocks, and thus the cube itself, changes. When you changed one dimension from sparse to dense, it grew the size of the blocks. Restructuring of the cube is recommended for read/write applications on a periodic basis. This is due to fragmentation of the database as changes in the data occur over time. Before starting the restructure, split your screen so that the Linux VM is showing on one side and EAS on the other. Open up the File Browser in the VM and navigate to /oracle/Hyperion/Essbase/app/TBC/TBC. In EAS, right-click on the second TBC and select “Restructure”. Click “OK” to start the restructure.

192

During the restructure, notice that the ESS*.IND and ESS*.PAG files are replicated to temporary files with the extensions INN and PAN (because of the small size of the database, they will only appear briefly). The restructure creates these temporary files in the event of system crashes for rollback purposes as restructures can take a long time to complete depending on what changes were made to the cube. This is important from a disk storage perspective as well, since free disk space is required to handle two sets of ESS*.IND and ESS*.PAG files or else the restructure will not complete.

193

7. Return to TBC->Properties and go to the Caches tab. Change the Index cache setting so that it takes the entire ESS*.IND file (about 8MB). Click “Apply”. Since the ESS*.PAG file is small, you can leave the Data cache as it is.

Click “OK” when you have successfully updated the caches.

194

3 ASO Tuning and Optimization

1. As aggregate storage outline files (.otl files) are changed, they may increase in size. By compacting such files, you can remove the records of deleted members and thus reduce file size. In the Administration Services Console, right-click on Outline after the second TBC_ASO and select “Compact…”.

Click “OK” to start compaction of the outline.

Click “OK” when compaction successfully completed.

195

2. Next, we will see how Aggregate Views can help speed queries for an ASO database. Open the Lab_Queries.xls file from the In Class Files folder and select tab Lab 1.3.2. Connect to TBC_ASO/TBC_ASO by going to “Essbase ->Connect” and logging in. Refresh the data by selecting “Essbase ->Retrieve”. Close the Excel file.

3. In the EAS console, right-click on the first TBC_ASO and select “View->Log”.

196

Select “Display log” and click “OK”.

Scroll to the bottom of the log and look for the last “Spreadsheet Extractor Elapsed Time: [x.xx] seconds” line. Note the time it took to complete your last Excel Add-in query.

4. In the EAS console, right-click on the second TBC_ASO and select “Design aggregation…” to run the Aggregation Design Wizard.

Select “Design, materialize and save aggregation” and click “Next”.

197

5. Select “Replace existing aggregate view selection” and click “Next”.

6. Select “Select all recommended aggregate views” and click “Next”.

198

7. Click “Start” to run the analysis.

When the process completes, click “OK”.

8. A list of the suggested Aggregate Views appear. The chart shows how much disk space the Aggregate Views will take up and how much the query cost will improve by. Notice that there will be a huge drop in the query cost with the first Aggregate View, but much smaller incremental improvements with each successive one. Since the impact on disk space is minimal, keep all the Aggregate Views checked and click “Next”.

199

9. Select “Materialize aggregation” and click “Next”. Since this is the first time running the wizard, you do not have to check “Replace existing aggregation”.

10. Once the Aggregate Views are completed, click “Finish”.

11. You will now need to stop and restart the application in order to clear the cache and re-run the earlier query. Right-click on the first TBC_ASO and select “Stop->Application”.

Click “Yes” to stop the application.

200

Right-click on the first TBC_ASO and select “Start->Application”.

Click “Yes” to stop the application.

12. Re-connect to TBC_ASO by selecting “Essbase->Connect…” from the Menu.

13. Re-open Lab_Queries.xls. Connect to TBC_ASO/TBC_ASO and Retrieve the data.

201

14. Open the log file again. First, right-click on TBC_ASO and select “View->Log”.

Select “Display log” and click “OK”.

Scroll to the bottom of the log and look for the last “Spreadsheet Extractor Elapsed Time: [x.xx] seconds” line. Note the time it took to complete this query. Compare this with the earlier time that you had. Was there any improvement?

202

203

Lab 2.4 Security

1 Overview

After installation, both Essbase and Administration Services are in native security mode. You have the option to continue using native security mode, managing access to applications, databases, and other artifacts as well as managing users via the Administration Services Console. The Essbase security system addresses a wide variety of database security needs with a multi layered approach to enable you to develop the best plan for your environment. Various levels of permission can be granted to users and groups or defined at the system, application, or database scope. To use Shared Services, you must migrate to Shared Services security mode. Shared Services provides a centralized system for managing user and group access to Hyperion products, and consists of corporate or native Shared Services user directories and a common UI, called Oracle's Hyperion® Shared Services User Management Console. You can use Shared Services to provide security for Essbase applications, databases, and artifacts. Migration is done at the Essbase Server level. Once you have converted to Shared Services security mode, you cannot convert back to native security mode. Essbase Administration Server can run in Shared Services security mode with Essbase Server running in native security mode. However, if any Essbase Server that you administer from Administration Services Console runs in Shared Services security mode, Essbase Administration Server must also.

2 Create Filter, Group and User in Native Security Mode

1. In the Administration Services Console, right-click on the second TBC and select “Create->Filters”.

204

2. Type “West” for the Filter name and click where it says “Click here to add” under the Access column.

3. In the dropdown, select “Write”.

Click where it says “Click here to add” under the Member Specification column to display the text box. Under Commands and functions, expand Member Set and double-click “@ICHILDREN”. @ICHILDREN includes the specified member into the member set, whereas @CHILDREN does not.

205

Replace mbrName in the @ICHILDREN function with “West” (double quotes are not necessary unless there is a space in the member name) by typing in the name or right-click on West in the outline viewer and selecting “Insert member name”.

On the next row where it says “Click here to add” under the Access column, select “MetaRead” from the dropdown.

Copy the Member Specification line from the first row or repeat the above steps to add “@ICHILDREN(“West”)” to the second Member Specification row. Click “Save”.

206

4. Repeat the above steps to create a second filter. Call it “Colas” and place “@ICHILDREN(“100”)” in the Member Specification column for the Write and MetaRead Access. Click “Save”.

5. Create a Group by expanding Security under ptsessbase, right-click on Groups and select “Create group…”.

207

In the Group Info tab, type “TBC_West” for the Group name.

In the App/Db Access tab, click on None next to TBC and select “Access Databases” from the dropdown. Expand TBC and Databases. Next to the second TBC, replace None with “Filter”. Expand the second TBC and replace None with “West” in the dropdown. Click “Apply” to save your group.

208

Click “OK” when the group is successfully created.

6. Create a second Group by repeating the above steps. Call it “TBC_Colas” and select the “Colas” filter.

Click “OK” when the group is successfully created.

209

7. Create a User by right-clicking on Users under Security and selecting “Create user…”.

In the User Info tab, type “TBC” for the Username. Under Authentication type, select “Use Essbase Server authentication and in the Password and Confirm password boxes, type “oracle”.

210

Go to the Groups tab. Click on the double left arrows ( << ) to make the user a member of both the TBC_West and TBC_Colas groups.

Click “Apply” to save your user.

Click “OK” when the user is successfully created.

211

8. Open Excel and select “Essbase->Connect…” from the menu bar.

Type “TBC” for the Username and “oracle” for the Password and click “OK”. Notice that TBC/TBC is the only database available to this user. Click “OK”.

212

9. Double-click anywhere on the blank spreadsheet. Notice that no access has been given to this intersection. Double-click on “MARKET” and then on “West”.

Still no access at any of the intersections. Double-click on “PRODUCT” and then on “Colas”. Pivot the MARKET dimension.

Since TBC is a member of two groups, its security access is based on the intersections of those two groups (West and Colas). Additional dimensions can be filtered for more granular security requirements.

213

3 Migrate Security to Shared Services ***WARNING: CAN NOT UNDO***

1. In the Administration Services Console, right-click on Security under ptsessbase and select “Externalize users”.

Click “Yes” when it asks if you would like to convert security to Shared Services.

Passwords can be auto-generated and put into a text file, derived by the username or hardcoded into Shared Services. Select the hardcoded option and type “oracle” for both the Password and Confirm password boxes. Click “OK”.

214

Conversion may take a few minutes. Click “OK” when the conversion is successful.

2. Expand Security and right-click on Groups. Notice that the Create Group option is now grayed out. Groups can only be created in Shared Services now. Select “Display groups table…”.

Right-click on TBC_Colas and select “Edit group properties”.

Notice that only the App/Db Access tab is available and that all the settings are read only. Click “Close”.

215

3. Right-click on Users under Security. Notice that the Create user option is now grayed out. Users can only be created in Shared Services now. Select “Display user table…”.

Right-click on TBC and select “Edit user properties”.

As with the groups, only the App/Db Access tab is available and all the settings are read only. Click “Close”.

216

4. IRight-click on the second TBC and select “Create->Filters”.

Filters are still created in EAS, but are assigned in Shared Services. Click “Close”.

217

5. We also need to externalize the EAS users. Expand Administration Servers and right-click ptsessbase. Select “Externalize users”.

Check the “Users” box and click “Next >”.

Click “Next >” on the next screen.

218

You can either auto-generate the passwords or hardcode them. Choose the hardcoded option and type “password” for Password and Confirm password. Click “Next >”.

Click “Yes” on the dialog box which asks if you would like to create the Externalize.log file.

Click “Next >” on the next screen.

219

Click “Start” to begin extrernalization.

When externalization has completed, click “Finish”.

6. Open a browser and connect to the following url: http://ptsessbase:58080/interop/ to open the Shared Services Management Console.

220

At the Login page, type “admin” for username and “password” for password.

7. Expand User Directories and Native Directory. Highlight User and click on “Show All”.

The essadmin and TBC users are now in Shared Services. Right-click on TBC and select “Properties”.

221

Click on the Member Of tab. Notice that TBC is a member of the TBC_Colas and TBC_West group. Click “Cancel”.

8. Right-click on Users and select “New”.

Type “TBC_SS” for the User name and “oracle” for Password and Confirm password. Click “Finish”.

222

Click “OK” after successfully creating the user.

9. Right-click on TBC_SS and select “Provision”.

223

Expand the two Analytic Servers:localhost.localdomain:1, expand on Administrator and Createw/Delete Application. Highlight Server Access and click the right arrow button so that Server Access shows up underneath Selected Roles.

Expand on TBC, Application Manager, Database Manager, Calc and Write. Highlight Read and click on the right arrow so that it shows up in the Selected Roles box.

Click “Save”.

224

Click “OK” on the Summary page.

10. Return to the EAS console and right-click on Security under Essbase Servers->ptsessbase. Select “Refresh security from Shared Services”.

You can set user synchronization and refresh to occur in the following ways:

• Automatically at synch points.

• When an Administrator requests a refresh of the security information.

• When a user selects a database (user synchronization only).

225

Select “All users” and click “OK”.

Click “Yes” to continue.

Click “OK” when security refresh successfully completed.

11. Right-click on User und Security and select “Display users table…”.

226

TBC_SS now appears as a valid Essbase user..

12. Open Excel and select “Essbase->Connect…” from the menu bar. Type “TBC_SS” for the Username and “oracle” for the Password. Click “OK”. When TBC/TBC shows up on the list, click “OK”.

Double-click anywhere on the blank spreadsheet to verify that you have access to the cube.

227

228

Glossary

Accounts dimension

A dimension type that makes accounting intelligence available. Only one dimension can be defined as Accounts.

Aggregate storage database

The database storage model designed to support large-scale, sparsely distributed data which is categorized into many, potentially large dimensions. Upper level members and formulas are dynamically calculated, and selected data values are aggregated and stored, typically with improvements in overall aggregation time.

Aggregate view

A collection of aggregate cells based on the levels of the members within each dimension. To reduce calculation time, values are pre-aggregated and stored as aggregate views. Retrievals then start from aggregate view totals and add up from there.

Alias

An alternative name. For example, for a more easily identifiable column descriptor you can display the alias instead of the member name. You can set more than one alias for a member using multiple alias tables.

Alternate hierarchy

A hierarchy of shared members. An alternate hierarchy is based upon an existing hierarchy in a database outline, but has alternate levels in the dimension. An alternate hierarchy allows the same data to be seen from different points of view.

Ancestor

A branch member that has members below it. For example, the members Qtr2 and 2006 are ancestors of the member April.

Attribute

Characteristic of a dimension member. For example, Employee dimension members may have attributes of Name, Age, or Address. Product dimension members can have several attributes, such as a size and flavor.

Attribute dimension

A type of dimension that enables analysis based on the attributes or qualities of dimension members. Use attribute dimensions to report and aggregate data based on characteristics of standard dimensions.

Base dimension

A standard dimension that is associated with one or more attribute dimensions. For example, assuming products have flavors, the Product dimension is the base dimension for the Flavors attribute dimension.

Block

The primary storage unit which is a multidimensional array representing the cells of all dense dimensions.

Block storage database

The Essbase database storage model categorizing and storing data based on the sparsity of data values defined in sparse dimensions. Data values are stored in blocks, which exist only for sparse dimension members for which there are values.

Cache

A buffer in memory that holds data temporarily.

229

Calc script

A calculation script contains a series of calculation commands, equations, and formulas. You can use a calculation script to initiate consolidations and calculate formulas defined by the database outline, to define calculations other than the calculations that are defined by the database outline or a combination of both. Calculation scripts are stored as text files with a .csc extension.

Calculator cache

A buffer in memory that Essbase uses to create and track data blocks during calculation operations.

Committed access

An Essbase Kernel Isolation Level setting that affects how Essbase handles transactions. Committed access provides a high level of data consistency because only one transaction at a time can update data blocks. Under committed access, Essbase allows transactions to hold read/write locks on all data blocks involved with the transaction until the transaction completes and commits. However, you can still allow read-only access to the last committed data values.

Consolidation property

Consolidation properties determine how children roll up into their parents. Valid operators include +, -, *, /, %, ~ and ^.

Operator Description

+ Adds the member to the result of previous calculations performed on other members. + is the default operator.

- Multiplies the member by -1 and then adds it to the sum of previous calculations performed on other members.

* Multiplies the member by the result of previous calculations performed on other members.

/ Divides the member into the result of previous calculations performed on other members.

% Divides the member into the sum of previous calculations performed on other members. The result is multiplied by 100 to yield a percentage value.

~ Does not use the member in the consolidation to its parent.

^ Does not use the member in any consolidation in any dimension.

Country dimension

This dimension type is used for currency conversion applications. In a country dimension, you can specify the type of currency used in each member.

Custom-defined function (CDF)

Essbase calculation functions developed in Java and added to the standard Essbase calculation scripting language using MaxL.

Custom-defined macro (CDM)

Essbase macros written with Essbase calculator functions and special macro functions. Custom-defined macros use an internal Essbase macro language that enables the combination of calculation functions and they operate on multiple input parameters.

Data block

A multidimensional array that represents all cells of all dense dimensions relative to a particular intersection of sparse dimensions.

Data cache

A buffer in memory that holds compressed data (PAG) files.

230

Data load

The process of loading data to an Essbase database.

Data load rules

A set of criteria that determines how to load data from a text-based file, a spreadsheet, or a relational data set into a database.

Data locks

Essbase issues write (exclusive) locks for blocks that are created, updated, or deleted, and issues read (shared) locks for blocks that should be accessed but not modified. By issuing the appropriate locks, Essbase ensures that data changed by one operation cannot be corrupted by a concurrent update.

Date-Time Dimensions

Aggregate storage date-time dimensions can be created using the Create Date-Time Dimension wizard for quick date-time dimension setup based on special calendars, plus linked attribute dimension setup enabling crosstab reporting of time-related data. Date-time dimensions have a rigid structure and are not easily modified once they are created.

Default calc script

A default calc script performs a full database calculation that is based on the structure and formulas in the database outline.

Dense dimension

In block storage databases, a dimension likely to contain data for every combination of dimension members. For example, time dimensions are often dense because they can contain all combinations of all members. Contrast with sparse dimension.

Descendant

Any member below a parent in the database outline. In a dimension that includes years, quarters, and months, the members Qtr2 and April are descendants of the member Year.

Dimension

A data category used to organize business data for retrieval and preservation of values. Dimensions usually contain hierarchies of related members grouped within them. For example, a Year dimension often includes members for each time period, such as quarters and months.

Dimension build rules

Specifications, similar to data load rules that Essbase uses to modify an outline. The modification is based on data in an external data source file.

Dirty block

A data block containing cells that have been changed since the last calculation. Upper level blocks are marked as dirty if their child blocks are dirty (that is, they have been updated).

Duplicate member name

The multiple occurrence of a member name in a database, with each occurrence representing a different member. For example, a database has two members named “New York.” One member represents New York state and the other member represents New York city.

Duplicate member outline

A database outline containing duplicate member names.

231

Dynamic Calc and Store members

A member in a block storage outline that Essbase calculates only upon the first retrieval of the value. Essbase then stores the calculated value in the database. Subsequent retrievals do not require calculating.

Dynamic Calc members

A member in a block storage outline that Essbase calculates only at retrieval time. Essbase discards calculated values after completing the retrieval request.

Dynamic hierarchy

In aggregate storage database outlines only, a hierarchy in which members are calculated at retrieval time.

Dynamic Time Series

A process that performs period-to-date reporting in block storage databases. In order to calculate period-to-date values dynamically, you need to use a Dynamic Time Series member for a period on the dimension tagged as Time. You do not create the Dynamic Time Series member directly in the database outline. Instead, you enable a predefined Dynamic Time Series member and associate it with an appropriate generation number. This procedure creates a Dynamic Time Series member for you.

DTS Member Description

H-T-D History-to-date

Y-T-D Year-to-date

S-T-D Season-to-date

P-T-D Period-to-date

Q-T-D Quarter-to-date

M-T-D Month-to-date

W-T-D Week-to-date

D-T-D Day-to-date

Essbase.cfg

An optional configuration file for Essbase. Administrators may edit this file to customize Essbase Server functionality. Some configuration settings may also be used with Essbase clients to override Essbase Server settings.

ESSCMD

A command-line interface for performing Essbase operations interactively or through batch script files.

Generation

A layer in a hierarchical tree structure that defines member relationships in a database. Generations are ordered incrementally from the top member of the dimension (generation 1) down to the child members.

Hybrid Analysis

An analysis mapping low-level data stored in a relational database to summary-level data stored in Essbase, combining the mass scalability of relational systems with multidimensional data.

Index

A method where Essbase uses sparse-data combinations to retrieve data in block storage databases.

Index cache

A buffer containing index pages.

232

Index file

An Essbase file storing block storage data retrieval information, residing on disk, and containing index pages.

Index page

A subdivision in an index file. Contains pointers to data blocks.

Input data

Data loaded from a source rather than calculated.

Intelligent calc

A calculation method tracking updated data blocks (dirty blocks) since the last calculation.

Implied share

The shared member property defines a shared data relationship explicitly. Some members are shared even if you do not explicitly set them as shared. These members are said to be implied shared members. Essbase assumes (or implies) a shared member relationship when a parent has only one child or when a parent has only one child that consolidates to the parent.

Isolation level

An Essbase Kernel setting that determines the lock and commit behavior of database operations. Choices are: committed access and uncommitted access.

Label only member

Label only members have no data associated with them. For reporting purposes, the Label only member takes the value of its first child member.

Level

A layer in a hierarchical tree structure that defines database member relationships. Levels are ordered from the bottom dimension member (level 0) up to the parent members.

Linked partition

A shared partition that enables you to use a data cell to link two databases. When a user clicks a linked cell in a worksheet, Essbase opens a new sheet displaying the dimensions in the linked database. The user can then drill down those dimensions.

Linked reporting object (LRO)

A cell-based link to an external file such as cell notes, URLs, or files with text, audio, video, or pictures.

Log analyzer

An Administration Services feature that enables filtering, searching, and analysis of Essbase logs.

MaxL

The multidimensional database access language for Essbase, consisting of a data definition language (MaxL DDL) and a data manipulation language (MaxL DML).

MaxL DDL

Data definition language used by Essbase for batch or interactive system-administration tasks.

MaxL DML

Data manipulation language used in Essbase for data query and extraction.

233

MDX

MDX is a joint specification of the XML for Analysis data manipulation language for OLAP databases. MDX is a powerful querying language for multidimensional databases such as Essbase.

Member

A discrete component within a dimension. A member identifies and differentiates the organization of similar units. For example, a time dimension might include such members as Jan, Feb, and Qtr1.

Member load

The process of adding dimensions and members (without data) to Essbase outlines.

Member solve order

In Aggregate Storage databases, the solve order property determines the priority with which Essbase calculates the formulas. The formulas on the members that have a specified solve order are calculated in order from the lowest solve order to the highest. You can specify a solve order between 0 and 127. The default is 0.

Metadata security

Security set at the member level to restrict users from accessing certain outline members.

Metaoutline

In Essbase Integration Services, a template containing the structure and rules for creating an Essbase outline from an OLAP model.

Missing data (#MISSING)

A marker indicating that data in the labeled location does not exist, contains no value, or was never entered or loaded. For example, missing data exists when an account contains data for a previous or future period but not for the current period.

Multidimensional database

A method of organizing, storing, and referencing data through three or more dimensions. An individual value is the intersection point for a set of dimensions.

Never Share members

Never share does not allow members to be shared implicitly. Members tagged as Never share can only be explicitly shared. To explicitly share a member, create the shared member with the same name and tag it as shared.

OLAP Metadata Catalog

In Essbase Integration Services, a relational database containing metadata describing the nature, source, location, and type of data that is pulled from the relational data source.

OLAP model

In Essbase Integration Services, a logical model (star schema) that is created from tables and columns in a relational database. The OLAP model is then used to generate the structure of a multidimensional database.

Online analytical processing (OLAP)

A multidimensional, multiuser, client-server computing environment for users who analyze consolidated enterprise data in real time. OLAP systems feature drill-down, data pivoting, complex calculations, trend analysis, and modeling.

Outline

The database structure of a multidimensional database, including all dimensions, members, tags, types, consolidations, and mathematical relationships. Data is stored in the database according to the structure defined in the outline.

234

Outline synchronization

For partitioned databases, the process of propagating outline changes from one database to another database.

Page file

Essbase data file.

Parallel calculation

A calculation option. Essbase divides a calculation into tasks and calculates some tasks simultaneously.

Parallel data load

In Essbase, the concurrent execution of data load stages by multiple process threads.

Parallel export

The ability to export Essbase data to multiple files. This may be faster than exporting to a single file, and it may resolve problems caused by a single data file becoming too large for the operating system to handle.

Partition area

A subcube within a database. A partition is composed of one or more areas of cells from a portion of the database. For replicated and transparent partitions, the number of cells within an area must be the same for the data source and target to ensure that the two partitions have the same shape. If the data source area contains 18 cells, the data target area must also contain 18 cells to accommodate the number of values.

Partitioning

The process of defining areas of data that are shared or linked between data models. Partitioning can affect the performance and scalability of Essbase applications.

Pre-calculation or pre-aggregation

Calculating the database prior to user retrieval.

Provisioning

The process of granting users and groups specific access permissions to resources.

Qualified name

A member name in a qualified format that differentiates duplicate member names in a duplicate member outline. For example, [Market].[East].[State].[New York] or [Market].[East].[City].[New York]

Ragged hierarchy

An asymmetrical hierarchy which occurs when a member has branches that contain different numbers of levels. For example, assume a Country dimension containing hierarchies of different geographical entities down to cities at level 0. The United States hierarchy would contain three levels: country, state, and city. The Greece hierarchy would contain two levels: country and city.

Recursive hierarchy

A recursive hierarchy is a hierarchy of data in which all parent-child relationships are represented in the data. A parent-child data source must contain at least two columns: a parent column and a child column.

Replicated Partition

A portion of a database, defined through Partition Manager, used to propagate an update to data mastered at one site to a copy of data stored at another site. Users can access the data as though it were part of their local database.

235

Restructure

An operation to regenerate or rebuild the database index and, in some cases, data files.

Root member

The highest member in a dimension branch.

Shared member

A member that shares storage space with another member of the same name, preventing duplicate calculation of members that occur multiple times in an Essbase outline. The shared member stores a pointer to data contained in the other member and the data is only stored once.

Sibling

A child member at the same generation as another child member and having the same immediate parent. For example, the members Florida and New York are children of East and each other's siblings.

Skip property

If you set the time balance as first, last, or average, set the skip property to tell Essbase what to do when it encounters missing values or values of 0.

Setting Action Essbase Takes

None Does not skip data when calculating the parent value.

Missing Skips #MISSING data when calculating the parent value.

Zeros Skips data that equals zero when calculating the parent value.

Missing and Zeros Skips both #MISSING data and data that equals zero when calculating the parent value.

Sparse dimension

In block storage databases, a dimension unlikely to contain data for all member combinations when compared to other dimensions. For example, not all customers have data for all products.

Standard dimension

A dimension that is not an attribute dimension.

Stored hierarchy

In aggregate storage databases outlines only. A hierarchy in which the members are aggregated according to the outline structure. Stored hierarchy members have certain restrictions, for example, they cannot contain formulas.

Stored member property

Stores the data value with the member.

Substitution variable

Placeholders for information that changes regularly; for example, time period information. You can use substitution variables in formulas that you apply to the database outline. When the outline is calculated, Essbase replaces the substitution variable with the value you have assigned to it. You can create and assign values to substitution variables using Administration Services, MaxL, or ESSCMD.

236

Time balance property

The time balance property affects how Essbase calculates the parent of that member in the time dimension. Time balance options include none, average, first and last.

Setting Action Essbase Takes

Average Set the time balance as last when you want the parent value to represent the value of the last member in the branch (often at the end of a time period).

First Set the time balance as first when you want the parent value to represent the value of the first member in the branch (often at the beginning of a time period).

Last The time balance property affects how Essbase calculates the parent of that member in the time dimension.

None None is the default value. When you set the time balance property as none, Essbase rolls up parents in the time dimension in the usual way—the value of the parent is based on the formulas and consolidation properties of its children.

Time dimension

A dimension type that makes time intelligence available and enables several accounts dimension functions, such as first and last time balances. Only one dimension can be defined as Time.

Transparent partition

A shared partition that enables users to access and change data in a remote database as though it is part of a local database.

Two-pass property

An Essbase property that is used to recalculate members that are dependent on the calculated values of other members. By default, Essbase calculates outlines from the bottom up—first calculating the values for the children and then the values for the parent. Sometimes, however, the values of the children may be based on the values of the parent or the values of other members in the outline. To obtain the correct values for these members, Essbase must first calculate the outline and then re-calculate the members that are dependent on the calculated values of other members. The members that are calculated on the second pass through the outline are called two-pass calculations.

UDA

User-defined attribute, associated with members of an outline to describe a characteristic of the members. Users can use UDAs to return lists of members that have the specified UDA associated with them.

Unary operator

A mathematical indicator (+, -, *, /, %) associated with an outline member. The unary operator defines how the member is calculated during a database roll-up.

Uncommitted access

An Essbase Kernel Isolation Level setting that affects how Essbase handles transactions. With uncommitted access (enabled by default), the Essbase kernel allows transactions to hold read/write locks on a block-by-block basis; Essbase releases a block after it is updated but does not commit blocks until the transaction completes or until a specified limit (a “synchronization point”) has been reached.

Unicode-mode application

An Essbase application wherein character text is encoded in UTF-8, enabling users with computers set up for different languages to share application data.

237

Upper level block

A type of data block wherein at least one of the sparse members is a parent-level member.

Variance reporting property

Variance reporting properties determine how Essbase calculates the difference between actual and budget data in a member with the @VAR or @VARPER function in its member formula. When you are budgeting expenses for a time period, the actual expenses should be lower than the budget. Expense tagged members calculates the @VAR function Budget – Actual while non Expense calculates @VAR as Actual-Budget.

Write-back

The ability for a retrieval client, such as a spreadsheet, to update a database value.