Essbase Interview Questions and answers
|
|||||
What are the two storage
options available in Essbase and what are the differences?
|
|||||
Ans: ASO (Aggregate Storage Option) - Used for | |||||
1. If we have large number of
dimensions (generally more than 10)
|
|||||
2. Most of the dimensions are sparse
|
|||||
3. We cannot write back in
ASO. I heard recently that ASO will also have the write back capability.
|
|||||
BSO (Block Storage Option)- | |||||
1. Dimensions are less and
dense (recommended values for no of dim are between 4 and 8) .
|
|||||
2. We can write back hence
much suited for planning applications.
|
|||||
Financial applications are generally dense structures and normal analytical cubes are sparse. Here we also need to understand what these dense and sparse members are. When the intersections or cells of two dimensions mostly contain a value it is dense. Say for example we have two dimensions period(Month or quarter) and region and we are calculation the sales amount. Generally maximum regions(countries, cities) will have some sales value for a particular month or quarter. Hence we can say that our period dimensions would be dense. But now instead of period, consider another dimension product. Now there are some products which are sold in only some particular regions hence for them there will be no values in other regions or will have very low percentage of data values hence the structure will become sparse. | |||||
Now the question arises what is the use of calling them dense or sparse. What difference does it make. Do some research and try to find the answer. | |||||
Can we build dimensions directly from data sources without using rule files. | |||||
Ans: No. | |||||
When do we generally use build rules files? | |||||
Ans: To automate the process of creating dimensions with thousands of members. | |||||
What are the three primary build methods for building dimensions? | |||||
Ans: 1. Generation references | |||||
2. level references | |||||
3. Parent-Child references. | |||||
In what case we can define generation 1 to a field in generation build method. | |||||
Ans: We cannot define that as Generation 1 is not valid. | |||||
Suppose we have assigned Generation 2 and Generation 4 as of now and think of adding generation 3 later some time. Can we build the dimension. | |||||
Ans: No. If gen 2 and gen 4 exists, we must assign gen 3. | |||||
Can we create more than 2 dimensions using only one build rule file. | |||||
Ans: Yes, we can do that but it is recommended to use separate rule file for each dimension. | |||||
What is UDA( user defined attributes). How are they different than Aliases. | |||||
Ans: UDA represents the class of the members. Aliases are just another names of the members. both are different and has different usage. | |||||
Can we query a member for its UDA in a calculation script. | |||||
Ans: Yes. You can query a member for its UDA in a calculation script. | |||||
How does UDA's impact database size? | |||||
Ans: Absolutely no impact as UDA’s does not require additional storage space. | |||||
What is the difference between UDA's and Attribute dimensions? | |||||
Ans : Attribute dimensions provides more flexibility than UDA's. Attribute calculations dimensions which include five members with the default names sum, count, min, max and avg are automatically created for the attribute dimensions and are calculated dynamically. | |||||
How does Attribute dimensions and UDA's impact batch calculation performance? | |||||
Ans: UDA's- No Impact as they do not perform any inherent calculations. | |||||
Attribute dim- No Impact as they perform only dynamic calculations. | |||||
How can we display UDA's in reports? How do they impact report report performance. | |||||
Ans: UDA's values are never displayed in the reports and hence do not impact report performance. | |||||
How does Attribute dim impact report performance? | |||||
Ans: They highly impact the report performance as the attributes are calculated dynamically when referenced in the report. For very large number of att dim displayed in the report, the performance could drastically reduce. | |||||
While loading the data, you have applied both the selection criteria as well as rejection criteria to a same record. What will be the outcome. | |||||
Ans: The record will be rejected. | |||||
How is data stored in the Essbase database? | |||||
Ans: Essbase is an file based database where the data is stored in PAG files of 2 GB each and grows sequentially. | |||||
Can we have multiple databases in one single application? | |||||
Ans: Yes. But only one database per application is recommended. | |||||
Can we have one ASO database and one BSO database in one single application. If yes, how and If No, why. | |||||
No. Because we define ASO or BSO option while creating the application and not database. Hence if the application is ASO, the databases it contains will be that type only. | |||||
What are the file extensions for an outline, rule file and a calc script. | |||||
Ans: .OTL, .RUL and .CSC | |||||
What is the role of provider services. | |||||
Ans: To communicate between Essbase and Microsoft office tools. | |||||
What is an alternative to create meta outline, rule file and load data. | |||||
Answer: Integration services and in version 11, we have Essbase studio. | |||||
Can we start and stop an application individually. How can this be used to increase performance. | |||||
Ans: Yes. We can manage our server resources by starting only the applications which receive heavy user traffic. When an application is started, all associated databases are brought to the memory. | |||||
We have created an application as unicode mode. Can we change it later to non-unicode mode. | |||||
Ans: No. | |||||
How can I migrate an application from my test environment to the production environment. Can I still do this if my test environment is a windows one and my production env is UNIX one. Also can I still do it if my test env and prod env versions are different. | |||||
Ans: Hyperion Administrative services console provides a migration utility to do this but only the application, database objects are migrated and no data is transferred. the answers to other two questions are Yes. | |||||
A customer wants to run two instances of an Essbase server on a same machine to have both test env and Development env on the same server. Can he do that? | |||||
Ans: Yes. We can have multiple instances of an Essbase server on a single machine and there will be different sets of windows services for all these instances. | |||||
suppose I have a dimension A with members B and C and I do not want B and C to roll up to A. how can I do this. | |||||
Ans: Using (~) exclude from consolidation operator. | |||||
What does never consolidate operator (^) do? | |||||
Ans: It prevents members from being consolidate across any dimension. | |||||
Can we have multiple meta outlines based on one OLAP model in Integration services? | |||||
Ans: Yes | |||||
Can we have an meta outline based on two different OLAP models. | |||||
Ans: No. | |||||
What is hybrid analysis? | |||||
Ans: Lower level members and associated data remains in relational database where as upper level members and associated data resides in Essbase database. | |||||
Why top-down calculation less
efficient than a bottom-up calculation? Being less efficient, why do we use
them.
|
|||||
Ans: In the process it
calculates more blocks than is necessary. Sometimes it is necessary to
perform top-down calculation to get the correct calculation results.
|
|||||
On what basis you will decide
to invoke a serial or parellel calculation method.
|
|||||
Ans: If we have a single
processor, we will use serial calculation but if we have multiple processors
we can break the task into threads and make them run on different processors.
|
|||||
What is block locking system?
|
|||||
Ans: Analytic services (or
Essbase Services) locks the block and all other blocks which contain the
Childs of that block while calculating this block is block locking system.
|
|||||
What are the types of
partitioning options available in Essbase?
|
|||||
Ans: 1. Replicated partition.
2. Transparent partition 3. Linked partition.
|
|||||
Dynamic calc decreases the
retrieval time and increases batch database calculation time. How true is the
statement?
|
|||||
Ans: The statement should be
just opposite. As dynamic calc members are calculated when requested, the
retrieval time should increase.
|
|||||
A customer has a cube with 13
dimensions and the performance was fine. Now they have added two more
dimensions in the existing cube and the performance becomes very slow.
Customer said logically nothing wrong with the two new dimensions they have
added. What could be the reason for slow down.
|
|||||
Ans: Even I don’t have any
clue. I experienced this few days back with a customer. If you can throw some
light on this, please post your answer
|
|||||
Can we have multiple meta
outlines based on one OLAP model in Integration services?
|
|||||
Ans: Yes | |||||
What are LRO's( Linked Reporting Objects)? | |||||
Ans: They are specific objects like files, cell notes or URL's associated with specific data cells of Essbase database. You can link multiple objects to a single data cell. These linked objects are stored in the server. These LRO's can be exported or imported with the database for backup and migration activities. | |||||
What are the three primary build methods for building dimensions? | |||||
Ans: | |||||
1. Generation references | |||||
2. Level references | |||||
3. Parent-Child references | |||||
How does UDA's impact database size? | |||||
Ans: There will be no impact on the database as the UDA’s doesn’t store data in the database. | |||||
Can we have an meta outline based on two different OLAP models. | |||||
Ans: No. | |||||
Can we create UDA’s and apply it to Dense as well as Sparse dimensions? | |||||
Ans: Yes | |||||
Types of Partitions available in Essbase? | |||||
Ans: Three types of partitions are there. | |||||
1. Transparent partition: A form of shared partition that provides the ability to access and manipulate remote data transparently as though it is part of your local database. The remote data is retrieved from the data source each time you request it. Any updates made to the data are written back to the data source and become immediately accessible to both local data target users and transparent data source users | |||||
2. Replicated Partition: | |||||
3. Linked Partition: | |||||
What is hybrid analysis? | |||||
Ans: Lower level members and associated data remains in relational database where as upper level members and associated data resides in Essbase database. | |||||
Why top-down calculation less efficient than a bottom-up calculation? Being less efficient, why do we use them. | |||||
Ans: In the process it calculates more blocks than is necessary. Sometimes it is necessary to perform top-down calculation to get the correct calculation results. | |||||
On what basis you will decide to invoke a serial or parallel calculation method. | |||||
Ans: If we have a single processor, we will use serial calculation but if we have multiple processors we can break the task into threads and make them run on different processors. | |||||
How can you display UDA’s in reports? | |||||
Ans: UDA's values are never displayed in the reports and hence do not impact report performance. | |||||
While loading the data, you have applied both the selection criteria as well as rejection criteria to a same record. What will be the outcome? | |||||
Ans: The record will be rejected. | |||||
What are the specified roles other than Administrator to view sessions, disconnect sessions or kill users requests for a particular application? | |||||
Ans: You should have the role of Application manager for the specified application. | |||||
What is block locking system? | |||||
Ans: Analytic services (or Essbase Services) locks the block and all other blocks which contain the Childs of that block while calculating this block is block locking system. | |||||
What are the three options specified in Username and Password management under security tab in Essbase server properties. | |||||
Ans: 1. Login attempts allowed before username is disabled. | |||||
2. Number of inactive days before username is disabled. | |||||
3. Number of days before user must change password. | |||||
Can we have multiple databases in one single application? | |||||
Ans: Yes. But only one database per application is recommended. | |||||
Depend on which database that you are going to create. For Example: If you are creating ASO then we can’t create more that 1 db per application. If you are creating BSO then you can create more than 1 db per application | |||||
How is data stored in the Essbase database? | |||||
Ans: Essbase is an file based database where the data is stored in PAG files of 2 GB each and grows sequentially. | |||||
We have created an application as unicode mode. Can we change it later to non-unicode mode. | |||||
Ans: No | |||||
What are the types of partitioning options available in Essbase? | |||||
Ans: 1. Replicated partition. 2. Transparent partition 3. Linked partition. | |||||
Dynamic calc decreases the retrieval time and increases batch database calculation time. How true is the statement? | |||||
Ans: The statement should be just opposite. As dynamic calc members are calculated when requested, the retrieval time should increase. | |||||
What is the role of provider services. | |||||
Ans: To communicate between Essbase and Microsoft office tools. | |||||
A customer wants to run two instances of an Essbase server on a same machine to have both test environment and Development environment on the same server. Can he do that? | |||||
Ans: Yes. We can have multiple instances of an Essbase server on a single machine and there will be different sets of windows services for all these instances. | |||||
Why top-down calculation less efficient than a bottom-up calculation? Being less efficient, why do we use them. | |||||
Ans: In the process it calculates more blocks than is necessary. Sometimes it is necessary to perform top-down calculation to get the correct calculation results. | |||||
Can we have multiple databases
in one single application?
|
|||||
Ans: Yes. But only one database per application is recommended. | |||||
Can we have one ASO database and one BSO database in one single application. If yes, how and If No, why. | |||||
Ans: No. Because we define ASO or BSO option while creating the application and not database. Hence if the application is ASO, the databases it contains will be that type only. | |||||
What are the file extensions for an outline, rule file and a calc script. | |||||
Ans: .OTL, .RUL and .CSC | |||||
What is the role of provider services. | |||||
Ans: To communicate between Essbase and Microsoft office tools. | |||||
What is an alternative to create meta outline, rule file and load data. | |||||
Ans: Integration services and in version 11, we have Essbase studio. | |||||
What is data file cache? | |||||
Ans: A buffer in memory that holds compressed data (.PAG) files. | |||||
What is custom defined function? | |||||
Ans: Essbase calculation functions that you develop in the Java programming language and then add to the standard Essbase calculation scripting language by means of MaxL. | |||||
Can we start and stop an application individually. How can this be used to increase performance. | |||||
Ans: Yes. We can manage our server resources by starting only the applications which receive heavy user traffic. When an application is started, all associated databases are brought to the memory. | |||||
We have created an application as Unicode mode. Can we change it later to non-unicode mode. | |||||
Ans: No. | |||||
How can I migrate an application from my test environment to the production environment. Can I still do this if my test environment is a windows one and my production env is UNIX one. Also can I still do it if my test env and prod env versions are different. | |||||
Ans: Hyperion Administrative services console provides a migration utility to do this but only the application, database objects are migrated and no data is transferred. the answers to other two questions are Yes. | |||||
A customer wants to run two instances of an Essbase server on a same machine to have both test env and Development env on the same server. Can he do that? | |||||
Ans: Yes. We can have multiple instances of an Essbase server on a single machine and there will be different sets of windows services for all these instances. | |||||
Suppose I have a dimension A with members B and C and I do not want B and C to roll up to A. how can I do this. | |||||
Ans: Using (~) exclude from consolidation operator. | |||||
What is custom based macro? | |||||
Ans: Essbase macros that we write with Essbase calculator functions and special macro functions. Custom-defined macros use an internal essbase macro language that enables you to combine calculation function and operate on multiple input parameters. | |||||
What do you mean by dirty block? | |||||
Ans: 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, have been updated) | |||||
When do we generally use build rules files? | |||||
Ans: To automate the process of creating dimensions with more members, where it will take a lot of time in creating manually. | |||||
What does never consolidate operator(^) do? | |||||
Ans: It prevents members from being consolidate across any dimension. | |||||
What are the different types
of LOG Files?
|
|||||
Ans: So many log files are there in essbase, but the important log files are | |||||
1. Application log | |||||
2. Essbase.log | |||||
3. Configtool.log | |||||
4. eas_install.log | |||||
5. essbaseserver-install.log | |||||
Suppose we have assigned Generation 2 and Generation 4 as of now and think of adding generation 3 later some time. Can we build the dimension. | |||||
Ans: No. If gen 2 and gen 4 exists, we must assign gen 3. | |||||
What are attributes? | |||||
Ans: A classification of a member in a dimension. You can select and group members based on their associated attributes. You can also specify an attribute when you perform calculations and use calculation functions. Eg: The database in Sample Basic which has product dimension has some attributes like size, package type, and flavor. We can add these attributes to the dimensions where we can retrieve the data like for example to retrieve “coke with 8 Oz with bottles”, this is useful for generating reports. | |||||
Why do objects gets locked and when does this happens? | |||||
Ans: Objects gets locked to prevent users to make simultaneous and conflicting changes to Essbase database objects. By default whenever an object is accessed through Administrative services console or Excel spreadsheet add-in, it gets locked. | |||||
What is the difference between UDA's and Attribute dimensions? | |||||
Ans : Attribute dimensions provides more flexibility than UDA's. Attribute calculations dimensions which include five members with the default names sum, count, min, max and avg are automatically created for the attribute dimensions and are calculate dynamically. | |||||
How does Attribute dimensions and UDA's impact batch calculation performance? | |||||
Ans: UDA's- No Impact as they do not perform any inherent calculations. | |||||
Attribute dim- No Impact as they perform only dynamic calculations. | |||||
What are different types of attributes? | |||||
Ans: Essbase supports two different types of attributes. | |||||
1. User-Defined attributes | |||||
2. Simple attributes | |||||
User-Defined attributes: The attributes that are defined by the user. | |||||
Simple attributes: Essbase supports some attributes, they are: Boolean, date, number, and string. | |||||
What are filters? | |||||
Ans: A method of controlling access to database cells in essbase. A filter is the most detailed level of security, allowing you to define varying access levels different users can have to individual database values. | |||||
What is TB First and TB Last? | |||||
Ans: TB First: in the Sample Basic database, the accounts member Opening Inventory is tagged as TB First. Opening Inventory consolidates the value of the first month in each quarter and uses that value for that month’s parent. For example, the value for Qtr1 is the same as the value for Jan. | |||||
TB Last: in the Sample Basic database, the accounts member Ending Inventory is tagged as TB Last. Ending Inventory consolidates the value for the last month in each quarter and uses that value for that month’s parent. For example, the value for Qtr1 is the same as the value for Mar. | |||||
How can we display UDA's in reports? How do they impact report report performance. | |||||
Ans: UDA's values are never displayed in the reports and hence do not impact report performance. | |||||
How does Attribute dim impact report performance? | |||||
Ans: They highly impact the report performance as the attributes are calculated dynamically when referenced in the report. For very large number of att dim displayed in the report, the performance could drastically reduce. | |||||
While loading the data, you have applied both the selection criteria as well as rejection criteria to a same record. What will be the outcome. | |||||
Ans: The record will be rejected. | |||||
How is data stored in the Essbase database? | |||||
Ans: Essbase is an file based database where the data is stored in PAG files of 2 GB each and grows sequentially. | |||||
How do you optimize outline?
|
|||||
Usually the outline is optimized using the hourglass design for dimension ordering i.e, | |||||
· Dimension with Accounts tag | |||||
· Dimension with Time tag | |||||
· Largest Dense dimension | |||||
· Smallest dense dimension | |||||
· Smallest Sparse dimension | |||||
· Largest Sparse dimension | |||||
What are the ways to improve
performance during data loads?
|
|||||
There are several ways to optimize load | |||||
1. Grouping of Sparse member
combinations
|
|||||
2. Making the data source as small as possible | |||||
3. Making source fields as small as possible | |||||
4. Positioning the data in the same order as the outline | |||||
5. Loading from Essbase Server | |||||
6. Managing parallel data load processing | |||||
What are the design
considerations for calculation optimization?
|
|||||
You can configure a database
to optimize calculation performance. The best configuration for the site
depends on the nature and size of the database.
|
|||||
· Block Size(8Kb to 100Kb) and Block Density | |||||
· Order of Sparse Dimensions | |||||
· Incremental Data Loading | |||||
· Database Outlines with Two or More Flat Dimensions | |||||
· Formulas and Calculation Scripts | |||||
When does Fragmentation occur? | |||||
Fragmentation is likely to occur with the following: | |||||
· Read/write databases that users are constantly updating with data | |||||
· Databases that execute calculations around the clock | |||||
· Databases that frequently update and recalculate dense members | |||||
· Data loads that are poorly designed | |||||
· Databases that contain a significant number of Dynamic Calc and Store members | |||||
· Databases that use an isolation level of uncommitted access with commit block set to zero | |||||
How can you measure
fragmentation?
|
|||||
You can measure fragmentation using the average clustering ratio or average fragmentation Quotient. | |||||
Using the average
fragmentation quotient
|
|||||
Any quotient above the high end of the range indicates that reducing fragmentation may help performance | |||||
Small (up to 200 MB) 60% or higher | |||||
Medium (up to 2 GB) 40% or higher | |||||
Large (greater than 2 GB) 30% or higher | |||||
Using the average clustering
ratio:
|
|||||
The average clustering ratio database statistic indicates the fragmentation level of the data (.pag) files. The maximum value, 1, indicates no fragmentation. | |||||
How do you can prevent and
remove fragmentation?
|
|||||
You can prevent and remove fragmentation: | |||||
· To prevent fragmentation, optimize data loads by sorting load records based upon sparse dimension members. For a comprehensive discussion of optimizing data load by grouping sparse members. | |||||
· To remove fragmentation, perform an export of the database, delete all data in the database with CLEARDATA, and reload the export file. | |||||
· To remove fragmentation, force a dense restructure of the database. | |||||
Why is database restructuring?
|
|||||
As your business changes, you change the Essbase database outline to capture new product lines, provide information on new scenarios, reflect new time periods, etc. Some changes to a database outline affect the data storage arrangement, forcing Essbase to restructure the database. | |||||
What are the types of database
restructuring?
|
|||||
The two ways by which a database restructure is triggered: | |||||
Implicit Restructures
|
|||||
Dense restructure | |||||
Sparse restructure | |||||
Outline-only restructure | |||||
Explicit Restructures | |||||
What are the conditions
affecting Database restructuring?
|
|||||
Intelligent Calculation, name changes, and formula changes affect database restructuring: | |||||
· If you use Intelligent Calculation in the database, all restructured blocks are marked as dirty whenever data blocks are restructured. Marking the blocks as dirty forces the next default Intelligent Calculation to be a full calculation. | |||||
· If you change a name or a formula, Essbase does not mark the affected blocks as dirty. Therefore, you must use a method other than full calculation to recalculate the member or the database. | |||||
What are the files used during
Restructuring?
|
|||||
When Essbase restructures both the data blocks and the index, it uses the files described | |||||
essxxxxx.pag
|
|||||
Essbase data fileessxxxxx.ind
|
|||||
Essbase index filedbname.esm
|
|||||
Essbase kernel file that
contains control information used for db recoverydbname.tct
|
|||||
Transaction control
tabledbname.ind
|
|||||
Free fragment file for data
and index free fragmentsdbname.otl
|
|||||
Outline file in which is
defined all metadata for a database and how data is stored
|
|||||
What are the actions that
improve performance for restructuring?
|
|||||
There are a number of things you can do to improve performance related to database restructuring: | |||||
· If you change a dimension frequently, make it sparse. · Use incremental restructuring to control when Essbase performs a required database restructuring. · Select options when you save a modified outline that reduce the amount of restructuring required. | |||||
Que:1 What are LRO's( Linked
Reporting Objects)?
|
|||||
Answer: They are specific objects like files, cell notes or URL's associated with specific data cells of Essbase database. You can link multiple objects to a single data cell. These linked objects are stored in the server. These LRO's can be exported or imported with the database for backup and migtarion activities. | |||||
What are the specified roles other than Administrator to view sessions, disconnect sessions or kill users requests for a particular application? | |||||
Answer: You should have the role of Application manager for the specified application. | |||||
What are the three options specified in Username and Password management under security tab in Essbase server properties. | |||||
Answer: 1. Login attempts allowed before username is disabled. | |||||
2. Number of inactive days before username is disabled. | |||||
3. Number of days before user must change password. | |||||
Why do objects gets locked and when does this happens? | |||||
Answer: Objects gets locked to prevent users to make simultaneous and conflicting changes to Essbase database objects. By default whenever an object is accessed through Administrative services console or Excel spreadsheet add-in, it gets locked. | |||||
I have created an application with one database in Essbase at test environment and now needs to copy the entire application with all security permissions to the production server which is not connected to the test server. How can I do that? | |||||
Answer: You can achieve this using migration wizard to migrate an application to a text file which you can take physically to the production server. | |||||
From the above question, When I migrated the application to the production server I do not see any data in the Essbase database. What has gone wrong and how to correct this? | |||||
Answer: Nothing has gone wrong. Migration utility does not migrate the actual data. If you want to copy the exact data from the test machine, get it exported using export utility and import it on production machine. | |||||
Referring to the above question, Can I still do this if my production server and test server are two different operation systems. Explain. | |||||
Answer: While exporting the database, you can write the database data to an ASCII text file which enables you to load data on different platforms. | |||||
How can we backup an aggregate storage database? | |||||
Answer: To back up an aggregate storage database, copy the application directory ARBORPATH/app/appname. | |||||
How does Essbase recover from a database crash? | |||||
Answer: After a database crash or server interruption, Essbase automatically recovers a database after rolling back the transactions that were active at that time. | |||||
How can you make a Max L script run at a specified time? | |||||
Answer: MaxL scripts can be called from a BAT file which is used for scheduling. | |||||
Have multiple applications?
Not sure how to transfer or import data to multiple applications that contain
different members/dimensions?
|
|||||
If you need to map multiple members from a source application to an equivalent member in a target application, you must first define the source members. | |||||
Define Source Members | |||||
Option 1 – Shared alternate hierarchy | |||||
a. Create new parent member with the same member name as the target application and set property to ignore to prevent duplication of data | |||||
b. Add existing members as children of new parent member | |||||
- Requires additional maintenance of the dimension structure | |||||
- Does not compromise data retrieval | |||||
- May increase calculation time | |||||
We all want our end-users to be self efficient and I think they may be able to figure out the mapping once they drill-down the hiearchy. I have used alternate hierarchies in large applications and I have yet to compromise calculation time. | |||||
Option 2 – User Defined Attributes | |||||
a. Assign UDA’s to source members | |||||
b. Create a new member and set property to ignore to prevent duplication of data | |||||
c. Develop a calc script fixed on the UDA and populate the Sum of the UDAs to “new member” | |||||
- Requires additional member property maintenance | |||||
- Does not compromise data retrieval | |||||
- Does not compromise calculation time | |||||
If data is constantly re-stated, re-classed or adjusted you must remember to re-calculate. Throw in a batch script and call it a day – I’m just saying. | |||||
Now, the sophisticated/advanced Essbase user will cleverly filter their retrievals on UDA’s and magically list the accounts that make up the mapping. | |||||
Option 3 – Attribute Dimension | |||||
a. Create attribute dimension property | |||||
The attribute dimension gives you the same results as the alternate shared hierarchy, behaves similar to UDA’s. What is the difference? Attributes may significantly compromise report retrievals. | |||||
Which one is the best option? | |||||
Every environment is different. Performance is significantly dependent on the application configuration and I strongly recommend you test. | |||||
II. Data transfer and Data Export Options | |||||
Now, we are ready to explore options on how to populate data from the source application to the target application. The options are as follows: | |||||
Option 1 – @XREF built in function transfers data from source to target application via calc script | |||||
- Excellent option for consistent structured hierarchies | |||||
- Leverages built-in calculation functions | |||||
- Data flows seamlessly if the structures are one in the same | |||||
- Can be easily batched | |||||
If you fix at level 0 in a common dimension i.e. @LEVMBR(“ENTITY”,0) and it is not an exact mirror of the source application, duplication of data will result at the level where the dimension hierarchy differ. Therefore, the member names and levels must be identical. | |||||
The granular the fix statement, the quicker the performance. | |||||
Option 2 – Report Script Exports data to a flat file (see Simplified Essbase Administration Part II) | |||||
- Export data from specific Alias tables, UDA, levels | |||||
- Specify export column/row format | |||||
- Exclude members from a dimension | |||||
- Re-name members | |||||
- Can be easily batched | |||||
Report script performs efficiently when focused on smaller data sets. Larger data sets may take longer to process. | |||||
The rename built-in function works brilliantly if you need to map specific members to an additional dimension member in the target application i.e. source member 1234 must map specifically to target member 4567 and COLA {“RENAME” “1234”} “4567 COLA” . This option is best used if the mapping is consistent; however, unique to specific members in a different dimension. This data file can be easily parsed using the Split function within a data load rule. | |||||
Option 3 - DataExport – Exports data to a flat file | |||||
- Exports data to text file extremely fast | |||||
- Leverages built-in calculation functions | |||||
- Can be easily batched | |||||
DataExport outperforms report scripts. It is engineered to export data in the order that it is organized in the database. Whereas, report script performance is dependent on coding and may retrieve the same blocks multiple times. | |||||
DataExport does not support attributes, aliases, member re-name and data format options. | |||||
Every environment is different. Performance is significantly dependent on the application configuration and I strongly recommend you test. | |||||
This is the beauty of Essbase, the options are available at your disposal. | |||||
Process for Creating Attributes
|
|||||
Understanding Attributes
|
|||||
Understanding Attribute Dimensions
|
|||||
Designing Attribute Dimensions
|
|||||
Building Attribute Dimensions
|
|||||
Setting Member Names in Attribute Dimensions
|
|||||
Calculating Attribute Data
|
|||||
Varying Attributes
|
|||||
Some information in this chapter applies only to
block storage databases and is not relevant to aggregate storage databases.
|
|||||
Also see:
|
|||||
· Comparison of Aggregate and Block Storage | |||||
· Aggregate Storage Applications, Databases, and Outlines | |||||
For other information about using attributes, see:
|
|||||
· Building Attribute Dimensions and Associating Attributes | |||||
· Designing Partitioned Applications | |||||
· Creating and Maintaining Partitions | |||||
· Developing Report Scripts | |||||
Process for Creating Attributes | |||||
Attributes describe characteristics of data such as
product size and color. Through attributes, you can group and analyze members
of dimensions based on their characteristics. This chapter describes how to
create and manage attributes in an Essbase Server outline.
|
|||||
When working with attributes in Outline Editor,
perform the following tasks:
|
|||||
1. Create a dimension.See Adding Dimensions and Members to an Outline. In the outline, position the attribute dimensions after all standard dimensions. | |||||
2. Tag the dimension as an attribute dimension and set attribute dimension type as text, numeric, Boolean, or date.See Creating Attribute Dimensions. | |||||
3. Add members to the attribute dimension.See Adding Dimensions and Members to an Outline. | |||||
4. Associate a base dimension with the attribute dimension.See Understanding the Rules for Attribute Dimension Association. | |||||
5. Associate members of the base dimension with members of the attribute dimension.See Understanding the Rules for Attribute Member Association. | |||||
6. If necessary, set up the attribute calculations.See Calculating Attribute Data. | |||||
Understanding Attributes | |||||
You can use the Essbase attribute feature to
retrieve and analyze data not only from the perspective of dimensions, but
also in terms of characteristics, or attributes, of those dimensions. For
example, you can analyze product profitability based on size or packaging,
and you can make more effective conclusions by incorporating into the
analysis market attributes such as the population of each market region.
|
|||||
Such an analysis could tell you that decaffeinated
drinks sold in cans in small markets (populations less than 6,000,000) are
less profitable than you anticipated. For more details, you can filter the
analysis by specific attribute criteria, including minimum or maximum sales
and profits of different products in similar market segments.
|
|||||
A few ways analysis by attribute provides depth and
perspective, supporting better-informed decisions:
|
|||||
· You can select, aggregate, and report on data based on common features (attributes). | |||||
· By defining attributes as having a text, numeric, Boolean, or date type, you can filter (select) data using type-related functions such as AND, OR, and NOT operators and <, >, and = comparisons. | |||||
· You can use the numeric attribute type to group statistical values by attribute ranges; for example, population groupings such as <500 500="" and="">1,000,000.500> | |||||
· Through the Attribute Calculations dimension automatically created by Essbase, you can view sums, counts, minimum or maximum values, and average values of attribute data. For example, when you enter Avg and Bottle into a spreadsheet, Essbase retrieves calculated values for average sales in bottles for all the column and row intersections on the sheet. | |||||
· You can perform calculations using numeric attribute values in calculation scripts and member formulas; for example, to determine profitability by ounce for products sized by the ounce. | |||||
· You can create crosstabs of attribute data for the same dimension, and you can pivot and drill down for detail data in spreadsheets.An attribute crosstab is a report or spreadsheet showing data consolidations across attributes of the same dimension. The crosstab example below displays product packaging as columns and the product size in ounces as rows. At their intersections, you see the profit for each combination of package type and size. | |||||
From this information, you can see which
size-packaging combinations were most profitable in the Florida market.
|
|||||
Product | Year | Florida | Profit | Actual | |
Bottle | Can | Pkg | Type | ||
========= | ========= | ========= | |||
32 | 946 | N/A | 946 | ||
20 | 791 | N/A | 791 | ||
16 | 714 | N/A | 714 | ||
12 | 241 | 2,383 | 2,624 | ||
Ounces | 2,692 | 2,383 | 5,075 | ||
Understanding Attribute Dimensions | |||||
In the Sample.Basic database, products have
attributes that are characteristics of the products. For example, products
have an attribute that describes their packaging. In the outline, you see
these characteristics as two dimensions, the Products dimension, and the Pkg
Type attribute dimension that is associated with it. An attribute dimension
has the word Attribute next to its name in the outline.
|
|||||
Figure 39, Outline Showing Base and Attribute
Dimensions shows part of the Sample.Basic outline featuring the Product
dimension and three attribute dimensions, Caffeinated, Ounces, and Pkg Type.
|
|||||
Figure 39. Outline Showing Base and Attribute
Dimensions
|
|||||
Outline Showing Base and Attribute Dimensions
|
|||||
In the outline, to the right of the Product
dimension, the terms Caffeinated, Ounces, and Pkg Type show that these
attribute dimensions are associated with the Product dimension.
|
|||||
A standard dimension is any dimension that is not an
attribute dimension. When an attribute dimension is associated with a
standard dimension, the standard dimension is the basedimension for that
attribute dimension. In the outline in Figure 39, Outline Showing Base and
Attribute Dimensions, the Product dimension is the base dimension for the
Caffeinated, Ounces, and Pkg Type attribute dimensions.
|
|||||
Note:
|
|||||
Attribute dimensions and members are Dynamic Calc,
so Essbase calculates attribute information at retrieval time. Attribute data
is not stored in the database.
|
|||||
Understanding Members of Attribute Dimensions | |||||
Members of an attribute dimension are potential
attributes of the members of the associated base dimension. After you
associate a base dimension with an attribute dimension, you associate members
of the base dimension with members of the associated attribute dimension. The
Market dimension member Connecticut is associated with the 6000000 member of
the Population attribute dimension. That makes 6000000 an attribute of
Connecticut.
|
|||||
In the outline, the information next to a base
dimension member shows the attributes of that member. Figure 39, Outline
Showing Base and Attribute Dimensions, for example, shows that product 100-10
has three attributes—it has caffeine, is sold in 12-ounce containers, and is
sold in cans.
|
|||||
Understanding the Rules for Base and Attribute Dimensions and Members | |||||
Rules regarding members of attribute dimensions and
their base dimensions.
|
|||||
· You can tag only sparse dimensions as attribute dimensions. | |||||
· Before you can save an outline to the server, each attribute dimension must be associated with a standard, sparse dimension as its base dimension. | |||||
· Attribute dimensions must be the last dimensions in the outline. | |||||
· Attribute dimensions have a type setting—text, numeric, Boolean, or date. Text is the default setting. Although assigned at the dimension level, the type applies only to the level 0 members of the dimension. See Understanding Attribute Types. | |||||
· If you remove the attribute tag from a dimension, Essbase removes prefixes or suffixes from its member names. Prefixes and suffixes are not visible in the outline. See Setting Prefix and Suffix Formats for Member Names of Attribute Dimensions. | |||||
· A base dimension member can have many attributes, but only one attribute from each attribute dimension.For example, product 100-10 can have size and packaging attributes, but only one size and only one type of packaging. | |||||
· You cannot associate an attribute with an implied shared member, the child of which is tagged as shared. | |||||
· Essbase does not support attributes for Hybrid Analysis-enabled members. | |||||
You can use attribute values in calculations in the
following comparisons:
|
|||||
· > (greater than) | |||||
· >= (greater than or equal to) | |||||
· < (less than) | |||||
· <= (less than or equal to) | |||||
· = = (equal to) | |||||
· <> or != (not equal to) | |||||
· IN | |||||
Understanding the Rules for Attribute Dimension Association | |||||
When you associate an attribute dimension with a
standard dimension, the standard dimension is the base dimension for that
attribute dimension.
|
|||||
· An attribute dimension must be associated with a sparse standard dimension. | |||||
· A standard dimension can be a base dimension for more than one attribute dimension. | |||||
· An attribute dimension can be associated with only one base dimension.For example, you might have a Size attribute dimension with members Small, Medium, and Large. If you associate the Size attribute dimension with the Product dimension, you cannot also associate the Size attribute dimension with the Market dimension. Tracking size-related information for the Market dimension requires another attribute dimension with a different name; for example, MarketSize, with the MarketSize attribute dimension associated with the Market dimension. | |||||
Understanding the Rules for Attribute Member Association | |||||
When you associate a member of an attribute
dimension with a member of a base dimension, follow these rules:
|
|||||
· You cannot associate multiple members from the same attribute dimension with the same base dimension member. For example, the Bottle and Can package types cannot both be associated with the product 100-30. | |||||
· You can associate members from different attribute dimensions with the same member of a base dimension. For example, a decaffeinated cola product (100-30) sold in 16-ounce bottles has three attributes—Caffeinated:False; Ounces:16; and Pkg Type:Bottle. | |||||
· After attributes are associated with base dimension members, if you cut or copy and paste base dimension members to another outline location, the attribute associations are lost. | |||||
· Essbase does not require that each member of a base dimension be associated with a member of an attribute dimension. | |||||
· All base dimension members associated with members of a particular attribute dimension must be at the same level.For example, in Figure 40, Association of Attributes with the Same Level Members of the Market Dimension, all Market dimension members that have Population attributes are at level 0. You cannot associate East, which is a level 1 member, with a Population attribute, because the other members of the Market dimension that have Population attributes are level 0 members. | |||||
Figure 40. Association of Attributes with the Same
Level Members of the Market Dimension
|
|||||
Association of Attributes with the Same Level
Members of the Market Dimension
|
|||||
· The level 0 members of attribute dimensions are the only members that you can associate with base dimension members.For example, in the Population attribute dimension, you can associate only level 0 members such as 3000000, 6000000, and 9000000, with members of the Market dimension. You cannot associate a level 1 member such as Small. | |||||
The name of the level 0 member of an attribute
dimension is the attribute value. The only members of attribute dimensions
that have attribute values are level 0 members.
|
|||||
You can use the higher-level members of attribute
dimensions to select and group data. For example, you can use Small, the
level 1 member of the Population attribute dimension, to retrieve sales in
both the 3000000 and 6000000 population categories.
|
|||||
Understanding Attribute Types | |||||
Attribute dimensions have a text, numeric, Boolean,
or date type that enables different functions for grouping, selecting, or
calculating data. Although assigned at the dimension level, the attribute
type applies only to level 0 members of the attribute dimension.
|
|||||
· The default attribute type is text. Text attributes enable the basic attribute member selection and attribute comparisons in calculations. When you perform such comparisons, Essbase compares characters. For example, the package type Bottle is less than the package type Can, because B precedes C in the alphabet. In Sample.Basic, Pkg Type is an example of a text attribute dimension. | |||||
· The names of level 0 members of numeric attribute dimensions are numeric values. You can include the names (values) of numeric attribute dimension members in calculations. For example, you can use the number of ounces specified in the Ounces attribute to calculate profit per ounce for each product.You can also associate numeric attributes with ranges of base dimension values; for example, to analyze product sales by market population groupings—states with 3,000,000 population or less in one group, states with a population between 3,000,001 and 6 million in another group, and so on. See Setting Up Member Names Representing Ranges of Values. | |||||
· All Boolean attribute dimensions in a database contain only two members. The member names must match the settings for the database; for example, True and False. If more than one Boolean attribute dimension exists, specify a prefix or suffix member name format to ensure unique member names; for example, Caffeinated_True and Caffeinated_False. For a discussion of how to change Boolean names, see Setting Boolean Attribute Member Names. | |||||
· You can use date attributes to specify the date format—month-day-year or day-month-year—and to sequence information accordingly. For a discussion of how to change date formats, see Changing the Member Names in Date Attribute Dimensions. You can use date attributes in calculations. For example, you can compare dates in a calculation that selects product sales from markets established since 10-12-1999.Essbase supports date attributes from January 1, 1970, through January 1, 2038. | |||||
Comparing Attribute and Standard Dimensions | |||||
In general, attribute dimensions and their members
are similar to standard dimensions and their members. You can provide aliases
and member comments for attributes. Attribute dimensions can include
hierarchies, and you can name generations and levels. You can perform the
same spreadsheet operations on attribute dimensions and members as on
standard dimensions and members; for example, to analyze data from different
perspectives, you can retrieve, pivot, and drill down in the spreadsheet.
|
|||||
Table 18 describes major differences between
attribute and standard dimensions and their members.
|
|||||
Table 18. Differences Between Attribute and Standard
Dimensions
|
|||||
Functionality | Attribute Dimensions | Standard Dimensions | |||
Storage | Sparse. Their base dimensions also must be sparse. | Can be dense or sparse | |||
Storage property | Dynamic Calc only, therefore not stored in the database. The outline does not display this property. | Can be Store Data, Dynamic Calc and Store, Dynamic Calc, Never Share, or Label Only | |||
Position in outline | Must be the last dimensions in the outline | Must be ahead of all attribute dimensions in the outline | |||
Partitions | Cannot be defined along attribute dimensions, but you can use attributes to define a partition on a base dimension. | Can be defined along standard dimensions. | |||
Formulas (on members) | Cannot be associated | Can be associated | |||
Shared members | Not allowed | Allowed | |||
Two-pass calculation member property | Not available | Available | |||
Two-pass calculation with runtime formula | If a member formula contains a runtime-dependent function associated with an attribute member name, and the member with the formula is tagged as two-pass, calculation skips the member and issues a warning message. Runtime-dependent functions include: @CURRMBR, @PARENT, @PARENTVAL, @SPARENTVAL, @MDPARENTVAL, @ANCEST, @ANCESTVAL, @SANCESTVAL, and @MDANCESTVAL. | Calculation is performed on standard members with runtime formulas and tagged two-pass. | |||
Two-pass, multiple dimensions: Calculation order | Order of calculation of members tagged two-pass depends on order in outline. The last dimension is calculated last. | Calculation result is not dependent on outline order for members tagged two-pass in more than one dimension. | |||
Two-pass calculation with no member formula | Calculation skipped, warning message issued. Therefore, member intersection of two-pass tagged members and upper-level members may return different results from calculation on standard dimensions. | Available | |||
Dense Dynamic Calc members in nonexisting stored blocks | Calculations skip dense dimensions if they are on nonexisting stored blocks. To identify nonexisting stored blocks, export the database or run query to find out whether block has data. | Available | |||
UDAs on members | Not allowed | Allowed | |||
Consolidations | For all members, calculated through the Attribute Calculations dimension members: Sum, Count, Min, Max, and Avg. Consolidation operators in the outline are ignored during attribute calculations. | Consolidation operation indicated by assigning the desired consolidation symbol to each member | |||
Member selection facilitated by Level 0 member typing | Available types include text, numeric, Boolean, and date. | All members treated as text | |||
Associations | Must be associated with a base dimension | N/A | |||
Spreadsheet drill-downs | List the base dimension data associated with the selected attribute. For example, drilling down on the attribute Glass displays sales for each product packaged in glass, where Product is the base dimension for the Pkg Type attribute dimension. | List lower or sibling levels of detail in the standard dimensions. For example, drilling down on QTR1 displays a list of products and their sales for that quarter. | |||
Comparing Attributes and UDAs | |||||
Attributes and UDAs enable analysis based on
characteristics of the data. Attributes provide greater capability than UDAs.
The tables in this topic describe the differences between attributes and UDAs
in these areas of functionality:
|
|||||
· Data storage (Table 19, Data Storage—Comparing Attributes and UDAs) | |||||
· Data retrieval (Table 20, Data Retrieval—Comparing Attributes and UDAs) | |||||
· Data conversion (Table 21, Data Conversion—Comparing Attributes and UDAs) | |||||
· Calculation scripts (Table 22, Calculation Scripts—Comparing Attributes and UDAs) | |||||
Table 19. Data Storage—Comparing Attributes and UDAs
|
|||||
Data storage | Attributes | UDAs | |||
You can associate with sparse dimensions. | Supported | Supported | |||
You can associate with dense dimensions. | Not supported | Supported | |||
Table 20. Data Retrieval—Comparing Attributes and
UDAs
|
|||||
Data Retrieval | Attributes | UDAs | |||
You can group and retrieve consolidated totals by attribute or UDA value. For example, associate the value High Focus Item to various members of the Product dimension and use that term to retrieve totals and details for only those members. | Supported |
Supported
|
|||
Simple
|
More difficult to implement, requiring additional
calculation scripts or commands
|
||||
You can categorize attributes
in a hierarchy and retrieve consolidated totals by higher levels in the
attribute hierarchy; for example, if each product has a size attribute such
as 8, 12, 16, or 32, and the sizes are categorized as small, medium, and large.
You can view the total sales of small products.
|
Supported
|
Supported
|
|||
More difficult to implement
|
|||||
You can create crosstab views
displaying aggregate totals of attributes associated with the same base
dimension.
|
Supported
|
Supported
|
|||
You can show a crosstab of all values of each
attribute dimension.
|
You can retrieve only totals based on specific UDA
values.
|
||||
You can use Boolean operators
AND, OR, and NOT with attribute and UDA values to refine a query. For
example, you can select decaffeinated drinks from the 100 product group.
|
Supported
|
Supported
|
|||
Because attributes have a
text, Boolean, date, or numeric type, you can use appropriate operators and
functions to work with and display attribute data. For example, you can view
sales totals of all products introduced after a specific date.
|
Supported
|
Not supported
|
|||
You can group numeric
attributes into ranges of values and let the dimension building process
automatically associate the base member with the appropriate range. For
example, you can group sales in various regions based on ranges of their
populations—less than 3 million, between 3 million and 6 million, and so on.
|
Supported
|
Not supported
|
|||
Through the Attribute
Calculations dimension, you can view aggregations of attribute values as
sums, counts, minimums, maximums, and averages.
|
Supported
|
Not supported
|
|||
You can use an attribute in a
calculation that defines a member. For example, you can use the weight of a
product in ounces to define the profit per ounce member of the Measures
dimension.
|
Supported
|
Not supported
|
|||
You can retrieve specific base
members using attribute-related information.
|
Supported
|
Supported
|
|||
Powerful conditional and value-based selections
|
Limited to text string matches only
|
||||
Table 21. Data Conversion—Comparing Attributes and
UDAs
|
|||||
Data Conversion | Attributes | UDAs | |||
Based on the value of a UDA, you can change the sign of the data as it is loaded into the database. For example, you can reverse the sign of all members with the UDA Debit. | Not supported | Supported | |||
Table 22. Calculation Scripts—Comparing Attributes
and UDAs
|
|||||
Calculation Scripts | Attributes | UDAs | |||
You can perform calculations on a member if its attribute or UDA value matches a specific value. For example, you can increase the price by 10% of all products with the attribute or UDA of Bottle. | Supported | Supported | |||
You can perform calculations on base members whose attribute value satisfies conditions that you specify. For example, you can calculate the Profit per Ounce of each base member. | Supported | Not supported | |||
Designing Attribute Dimensions | |||||
Essbase provides more than one way to design
attribute information into a database. Most often, defining characteristics
of the data through attribute dimensions and their members is the best
approach. The following sections discuss when to use attribute dimensions,
when to use other features, and how to optimize performance when using
attributes.
|
|||||
Using Attribute Dimensions | |||||
For the most flexibility and functionality, use
attribute dimensions to define attribute data. Using attribute dimensions
provides the following features:
|
|||||
· Sophisticated, flexible data retrievalYou can view attribute data only when you want to; you can create meaningful summaries through crosstabs; and, using type-based comparisons, you can selectively view only the data that you want to see. | |||||
· Additional calculation functionalityNot only can you perform calculations on the names of members of attribute dimensions to define members of standard dimensions, you can also access five types of consolidations of attribute data—sums, counts, averages, minimums, and maximums. | |||||
· Economy and simplicityBecause attribute dimensions are sparse, Dynamic Calc, they are not stored as data. Compared to using shared members, outlines using attribute dimensions contain fewer members and are easier to read. | |||||
See Understanding Attributes.
|
|||||
Using Alternative Design Approaches | |||||
In some situations, consider one of the following
approaches:
|
|||||
· UDAs. Although UDAs provide less flexibility than attributes, you can use them to group and retrieve data based on its characteristics. See Comparing Attributes and UDAs. | |||||
· Shared members. For example, to include a seasonal analysis in the Year dimension, repeat the months as shared members under the appropriate season; Winter: Jan (shared member), Feb (shared member), and so on. A major disadvantage of using shared members is that the outline becomes large if the categories repeat many members. | |||||
· Standard dimensions and members. Additional standard dimensions provide flexibility but add storage requirements and complexity to a database. For guidelines on evaluating the impact of additional dimensions, see Analyzing and Planning. | |||||
Table 23 describes situations in which you might
consider an alternative approach to managing attribute data in a database.
|
|||||
Table 23. Considering Alternatives to Attribute
Dimensions
|
|||||
Situation | Alternative | ||||
Analyze attributes of dense dimensions | UDAs or shared members | ||||
Perform batch calculation of data | Shared members or members of separate, standard dimensions | ||||
Define the name of a member of an attribute dimension as a value that results from a formula | Shared members or members of separate, standard dimensions | ||||
Define attributes that vary over time | Members of separate, standard dimensions. For example, to track product maintenance costs over time, the age of the product at the time of maintenance is important. However, using the attribute feature, you could associate only one age with the product. You need multiple members in a separate dimension for each time period that you want to track. | ||||
Minimize retrieval time with large numbers of base-dimension members | Batch calculation with shared members or members of separate, standard dimensions. | ||||
Optimizing Outline Performance | |||||
Outline layout and content can affect attribute
calculation and query performance. For general outline design guidelines, see
Designing an Outline to Optimize Performance.
|
|||||
To optimize attribute query performance, consider
the following design tips:
|
|||||
· Ensure that attribute dimensions are the only sparse Dynamic Calc dimensions in the outline. | |||||
· Locate sparse dimensions after dense dimensions in the outline. Place the most-queried dimensions at the beginning of the sparse dimensions and attribute dimensions at the end of the outline. In most situations, base dimensions are queried most. | |||||
See Optimizing Calculation and Retrieval
Performance.
|
|||||
Building Attribute Dimensions | |||||
To build an attribute dimension, tag the dimension
as an attribute and assign the dimension a type. Then associate the attribute
dimension with a base dimension. Finally, associate each level 0 member of
the attribute dimension with a member of the associated base dimension.
|
|||||
To build an attribute dimension, see “Defining
Attributes” in the Oracle Essbase Administration Services Online Help.
|
|||||
To view the dimension, attribute value, and
attribute type of a specific attribute member, use a tool:
|
Hyperion Essbase Interview questions and answers
Subscribe to:
Post Comments
(
Atom
)