The goal of this lab was to introduce the to Essbase Java API and teach the basics. It walked through the following:
- Setting up J-Developer to work with the Essbase Java API (check out my earlier blog on this topic)
- Connecting to Essbase
- Creating a grid view (grid API, similar to what the classic add-in uses)
- Filling in and querying the grid view
- Basic output of the results
The Essbase Java API objects covered in this lab:
- IEssbase - The Essbase API instance object.
- IEssOlapServer - The connection to the Essbase server.
- IEssCube - The Essbase cube object.
- IEssCubeView & IEssGridView - The Essbase grid API.
If you did not get a chance to sign up for this hands on lab or just want to try it you can get the lab here.
Please note that this lab was based on a pre-built image so some of the directories, URL's, username,etc. will vary.
Here is the complete code for the lab:
package myproject;import com.essbase.api.base.*;import com.essbase.api.dataquery.*;import com.essbase.api.session.*;import com.essbase.api.datasource.*;public class Essbase {
private static String username = "admin";
private static String password = "password";
private static String essbaseServer = "localhost";
private static String provider = "http://localhost:13080/aps/JAPI";
private static String application = "Sample";
private static String database = "Basic";
public Essbase() {}
public static void main(String[] args) {
IEssbase essbase = null;
try {essbase = IEssbase.Home.create(IEssbase.JAPI_VERSION);
IEssOlapServer olapServer = essbase.signOn(username,password,
false,null,provider,essbaseServer);
IEssCube cube = olapServer.getApplication(application).getCube(database);
IEssCubeView cubeView = cube.openCubeView("default");cubeView.setAliasNames(true);
cubeView.updatePropertyValues();
IEssGridView gridView = cubeView.getGridView();
gridView.setSize(3,5);
gridView.setValue(0,2,"Product"); gridView.setValue(0,3,"Market"); gridView.setValue(1, 2, "Jan"); gridView.setValue(1, 3, "Feb"); gridView.setValue(1, 4, "Mar"); gridView.setValue(2, 0, "Actual"); gridView.setValue(2, 1, "Sales");IEssOperation essOp = cubeView.createIEssOpRetrieve();
cubeView.performOperation(essOp);
int rowCount = gridView.getCountRows(); int colCount = gridView.getCountColumns(); for (int i = 0; i < rowCount; i++) {
for (int j = 0; j < colCount; j++) {
System.out.print(gridView.getStringValue(i, j) + "\t"); }
System.out.print("\n"); }
}
catch(EssException e) { System.out.println("Error: " + e.getMessage()); }
finally { try { if (essbase != null && essbase.isSignedOn() == true) essbase.signOff(); }
catch (EssException e1) { System.err.println("Error: " + e1.getMessage()); }
}
}
}
You can download the lab here.
2 comments:
Matt, are you able to post the OutlineExtractor code? I need to do something very similar to support a downstream application from Essbase that relies on the hierarchy.
Thanks,
Robert
I have that on the to do list for this week and hopefully I can get to it... It will get up here is just a matter of time.
Post a Comment