Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

October 1, 2011

Mini-Project in MaxL

Submitted by Sudhakar Soundara Pandi

Submitted to Sunitha Gadam Umadevi Mahankali Harish Babu Kakarla

October 1, 2011

Abstract
In previous project we built a data mart using essbase cube through Essbase administrator console. But this time here we built a data mart using essbasse cube through MaxL DDL. This project contains creating an application, creating a database from existing database, creating a filter and working with shared services such as creating a user, group, assigning user to particular group and granting to access a filter through MaxL.

Objective
To build a data mart using Essbase cube through MaxL. With the available reporting template and data files, identified dimensions required to build the Essbase data mart using OLAP dimensionality & loaded actual and budget data to do variance analysis on the sales KPIs involving rule files, calculation scripts and assigning security to application using MaxL Shell.

Overview of MaxL and MDX


MaxL is the multi-dimensional database access language for Analytic Services. MaxL is a practical, expressive interface for administering and querying the Analytic Services system. With the MaxL language, you use statements to make requests. Beginning with Release 7.0, MaxL has two functional domains: MaxL DDL is the data-definition language for Analytic Services. MDX is the data-manipulation language for Analytic Services. Data definition means structural control of a database system. This includes operations like creation, deletion, and updating of users, applications, databases, and database objects. Statements in MaxL DDL include verbs like CREATE, ALTER, DROP, GRANT, and DISPLAY. Data manipulation means access to the data within a database system. MDX performs advanced data extraction and querying by means of SELECT statements.

Data Definition Language (MaxL DDL)

Data Manipulation Language (MDX)

Overview of MaxL Shell


The MaxL Shell (essmsh) is one way to execute MaxL statements or scripts. The other interfaces available for passing MaxL statements to the Analytic Server are: The MaxL Script Editor in the Administration Services Console. See the console help for information about using the script editor.

October 1, 2011
Perl programs with embedded MaxL DDL statements, made possible by adding the MaxL Perl Module to your Perl package.

Login to MaxL Shell


Fig 1: Login into essmsh

Create Application
Create or re-create an application, either from scratch or as a copy of another application on the same system. APPNAME must consist of 8 or fewer characters. Avoid spaces and special characters when naming applications and databases. Application names are case-sensitive. Syntax:

Example: COMMAND: create application Sample comment 'This is a test application.'; Creates a new application called Sample with an associated comment. COMMAND: create application Newsamp as Sample; Creates an application called Newsamp which is a copy of the application Sample. COMMAND: create or replace application Sample; Creates an application called Sample. If an application named Sample already exists, it is overwritten .

October 1, 2011
Screen Shot :

Fig 2: Creating an application mpra

Fig 3: Application created

Create Database
Create or re-create a regular or currency database. Optionally create the database as a copy of another database on the same system. DBS-NAME must consist of 8 or fewer characters. Avoid spaces and special characters when naming applications and databases. Syntax:

Example: COMMAND: create or replace database Sample.Basic comment 'This is a test.'; Creates a database called Basic within the Sample application. If a database named Basic within the Sample application already exists, it is overwritten. COMMAND :create database Sample.New as Sample.Basic; Creates a database called New within the Sample application that is a copy of the database Basic within the Sample application.

COMMAND: create currency database Sample.Interntl; Creates a currency database called Interntl within the Sample application.

October 1, 2011
Screen Shot: Fig 4: Creating a database db in mpra application

Fig 5: Database created

Fig 6: Outline is empty

Fig 7: Creating a database db in mpra application from existing database mini9.mndb

October 1, 2011

Fig 8: Outline that contains dimensions

Create Calculation:
Create, replace, or copy a stored calculation. Permissions required: Database Manager to create database-level calculations. Application Manager to create application-level calculations. Syntax:

Examples: COMMAND: create or replace calculation sample.basic.Accts 'SET UPDATECALC ON; CALC DIM(Accounts);' ; Creates a calculation named Accts that is associated with sample.basic. COMMAND: create calculation sample.basic.Accts2 as app.db.Accts Creates a calculation named Accts2 on sample.basic that is a copy of another database's calculation named Accts.

October 1, 2011
Screen Shot: Fig 9: Creating a calc script calc in mpra.db

Fig 10: Calculation script Calc is created in mpra.db

Create Filter:
Create or re-create a database security filter, either from scratch or as a copy of another filter on the same system. Filters control security for database objects. Use grant to assign filters to users and groups. Minimum permission required: Database Manager. Syntax:

October 1, 2011
Example: COMMAND: create filter sample.basic.filt1 read on 'Jan, sales', no_access on '@CHILDREN(Qtr2)'; Creates a filter to restrict privileges to Sample Basic as follows: gives read-only access to the intersection of Jan and sales (sales data for January only); blocks access to children of Qtr2 (April, May, and June). COMMAND: create or replace filter sample.basic.filt1 read on 'Sales, @ATTRIBUTE(Bottle)'; Creates a filter (or changes an existing filter) to restrict privileges to Sample Basic as follows: gives readonly access to sales data for products packaged in a bottle (product base dimension members associated with the Bottle attribute member). Screen Shot: Fig 11: Creating a filter fill in mpra.db

Fig 12: Filter fill is created in mpra.db

Fig 13: Filter definition for fill Filter

October 1, 2011

Create Group
Create or re-create a group, either from scratch or as a copy of another group. Permission required: create_user. Syntax:

Examples COMMAND: create group Level_1 as Newhires comment 'Copy of Newhires'; Creates a group called Level_1 that is a copy of the existing group Newhires. Screen Shot: Fig 14: Creating a group fresher

Fig 15: Fresher group is created

October 1, 2011

Create User
Create or re-create a user, either from scratch or as a copy of another user. Users can be created to log in using Analytic Services security, or to use external authentication using an outside authentication protocol. Optionally create the Analytic Services-authenticated user as a member of a group. Permission required: create_user. Syntax:

Example: COMMAND: create user Fiona identified by sunflower; Creates a user called Fiona with the password sunflower. COMMAND: create user Guest identified by 'password' member of group Visitors; Creates a user called Guest with the password password, and adds Guest to the group called Visitors. Quotation marks are required because password is a MaxL keyword. COMMAND: create or replace user Guest identified by 'password' as RecycleMe; Creates a user called Guest as a copy of an existing user called RecycleMe. If Guest already exists, it is overwritten. COMMAND: create or replace user 'Autumn Smith' type external; Creates a user called Autumn Smith who is externally authenticated in a corporate authentication repository supported by the Hyperion security platform: either LDAP, Microsoft Active Directory, or Windows NT LAN Manager.

10

October 1, 2011
COMMAND: create or replace user Fred type external with protocol LDAP identified by cn=Engineers, ou=Groups, dc=yahoo, dc=com@server2; Creates a user called Fred who is externally authenticated with the Lightweight Directory Access Protocol. This authentication module is not the Hyperion security platform; it is a custom Analytic Services .dll, retained for backward compatibility. Screen Shot: Fig 16: Creating a User ssudhakar and assign member of fresher

Fig 17: User ssudhakar is created

Fig 18: Group properties

11

October 1, 2011
Fig 19: User properties

Granting Permission
Grant permission, a filter or a stored calculation to a user or a group. Syntax:

Granting permissions: At each level (system, application or database) existing roles are replaced. However, the built-in privileges create_user and create_application are not replaced. After granting a permission to a user or group, it can be revoked by subsequently granting no_access. However, to prevent users from being able to load the application, you should also grant no_access at the application level.

12

October 1, 2011
Example: COMMAND: grant no_access to NewGroup; Revoke any permissions the NewGroup group may have. COMMAND: grant administrator to Fiona; Granting Fiona as administrator. COMMAND: grant manager on application Sample to Fiona; Grant Application Manager permission to a user Fiona for the Sample application. COMMAND: grant read on database Sample.basic to Fiona; Grant Read permission to a user Fiona for the Sample.basic database. Granting filters: There may be only one filter per user per database. Therefore, granting a filter replaces any filters the user may already have on that database. After granting permissions using a filter, the filter permission can be revoked by subsequently granting no_access to the database. However, to prevent users from being able to load the application, you should also grant no_access at the application level. Example: COMMAND: grant filter Sample.basic.filter8 to Fiona; Assign a filter8 filter to a user Fiona that grants or denies permissions to the Sample.basic database at a data-value level of detail. Screen Shot: Fig 20: Giving access to user ssudhakar as filter

Fig 21: Giving access to user ssudhakar as database manager

13

October 1, 2011
Assigning user ssudhakar as database manager make that user to act in following role which we can see in Fig 22 Fig 22: Provision report for user ssudhakar

Fig 23: Accessing Essbase Add-ins through user: ssudhakar Password: password

Fig 24: Retrieve a data from Cube

14

October 1, 2011

Fig 23: Sending a data to essbase cube

Fig 24: Retrieve a value from essbase cube

15

October 1, 2011

Conclusion:
Essbase data mart is successfully created through MaxL with the available reporting template and data files, identified dimensions, existing application and data base.

Future enhancement:
Importing a meta- data and data to dimension using MaxL. Advanced data extraction and querying by means of SELECT statements this can done through MDX. To do ad-hoc analysis on Essbase data mart.

References:

http://download.oracle.com/docs/cd/E12032_01/doc/epm.921/html_techref/whnjs.htm

16

You might also like