SQL for Essbase

I'm an Essbase developer trying to create some sql code as a pass through transformation for a metaoutline build.
An example is probably the best way to describe what I'm trying to do:
Let's say I have a non-recursive table that I use to build out an OLAP dimension. There are five columns used for the dimension build. The lowest level we'll call 'town.' I want all the towns' data to roll up to their parents, but only some of the towns to actually show up in the cube.
So, let's say I have five towns: Hicksville, Brentwood, Smithtown, Buhla, and Concord. They each have a value of 100 in the cube for a certain slice of data. I want all 500 to roll up to the parent, but only have Brentwood and Smithtown show up.
I hope this makes any sense.

I actually tried to find this for the OP in the forum search area and didn't get it. The other group that I know exists but have never found in a search is the SQL Developer forum. (It's under "Database" rather than "Developer Tools"). It seems "odd" that searching is difficult from a forum list around products of a database company.
For instance, why isn't essbase listed when you click the "more" in the database section?
That area needs work Oracle!

Similar Messages

  • PLSQL for Essbase Calculation

    Hello All
        I was create PL-SQL Essbase XMLA API package for getting EssBase data into pipe-line tables function.
    Now you can use PL-SQL for essbase calculation.
    Essbase CRC Describe for consultants (ENG)
    Essbase CRC Describe for developers (ENG)
    Download PL-SQL Essbase XMLA API
    ER

    And what's the question?

  • Teradata SQL interface For Essbase

    Hi,
    Can anyone give me an idea on how exactly Teradata sql interface works while loading data in essbase cubes? Does it create any temporary storage while fetching the data from source system? How can we make the process faster other than using teradata parallel transporter and THREADSWRITE for essbase? And I think it's better to do the transformations in sql itself, rather than doing it in rule file.
    Thanks in advance!

    From what I understand EPM Fusion Edition 11.1.1 has optimized loading from Teradata I'm not sure, but it may take advantage of fast export. I believe it has to create a temporary table on Teradata(spool) to gather that data together to send to Essbase. I agree it is better to do the transformation in the SQL before getting it to Essbase, you have more flexibility to get things the way you want in SQL(more complex logic and transformations)

  • Sybase iq data source for essbase

    Hi,
    We're trying to build cube from sybase IQ. Since I cannot find a specific SYBASE IQ driver, i used the sybase driver (ARase22.so) to create a SYBASE IQ data source in the odbc.ini file.
    Below is the error message I got when tried to do a query using the above data source from a rules file: ODBC Layer Error: [57] ==> [[DataDirect][ODBC 20101 driver][20101]SQL Anywhere Error -143: Column '@@maxpagesize' not found].
    Our system info: Essbase 931 on linux, Sybase IQ 15.1
    Can anyone please advise.
    thanks
    YW

    I remember having used Sybase(as a SQL source) for Essbase in UNIX, few years ago.
    Not sure if it's any different from Sybase IQ you are referring to? Are you stuck up some where?
    - Natesh

  • Recursive Tables for Essbase

    Hi Folks,
    Can anyone suggest a good blog/tutorial that covers the design of TSQL recursive tables for Essbase? I need to create a set of recursive tables using TSQL that would be used to create an Essbase cube via EIS.
    thanks,
    Axe

    What RDBMS are you using? Sybase or MS SQL? 2000 or 2005?
    For SQL 2005 I picked this up on a blog somewhere
    CREATE TABLE [dbo].[Persons](
         [PersonID] [int] NULL,
         [Name] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
         [ParentID] [int] NULL
    ) ON [PRIMARY]
    GO
    INSERT INTO dbo.Persons VALUES (1, 'Sam', 5)
    INSERT INTO dbo.Persons VALUES (2, 'Peter', 5)
    INSERT INTO dbo.Persons VALUES (5, 'William', 10)
    INSERT INTO dbo.Persons VALUES (7, 'Greg', 1)
    INSERT INTO dbo.Persons VALUES (8, 'John', 7)
    INSERT INTO dbo.Persons VALUES (9, 'Mary', 8)
    GO
    DECLARE @parentID int;
    SET @parentID = 1; --Sam
    WITH Descendants (PersonID,ParentID) AS
         (SELECT PersonID, ParentID FROM Persons WHERE ParentID = @parentID
         UNION ALL
         SELECT Persons.PersonID, Persons.ParentID FROM Persons
                INNER JOIN Descendants ON Persons.ParentID = Descendants.PersonID)
    SELECT DISTINCT Persons.PersonID, Persons.Name
    FROM Persons
         INNER JOIN Descendants ON Persons.PersonID = Descendants.PersonID
    ORDER BY Persons.PersonID

  • Financial report for essbase and planning application

    Hi,
    Can any one please explain me what is the difference between creating financial report for essbase application and planning application.
    Considering we will have Essbase cube for the planning application
    Thanks in advance

    Correct, the data that is stored in Essbase will be the same regardless of which connection type you use.
    Data that is only stored in Planning can only be retrieved using a Planning connection. This includes Supporting Detail and SmartLists as these are stored in the Planning relational database.
    As a general rule I always use an Essbase connection unless i specifically want to get supporting detail or smartlists but that is just me.
    Hope this helps
    Stuart

  • ORA-01489 Received Generating SQL for Report Region

    I am new to Apex and I am running into an issue with an report region I am puzzled by. Just a foreword, I'm sure this hack solution will get a good share of facepalms and chuckles from those with far more experience. I welcome suggestions and criticism that are helpful and edifying!
    I am on Apex 4.0.2.00.07 running on 10g, I believe R2.
    A little background, my customer has asked an Excel spreadsheet be converted into a database application. As part of the transition they would like an export from the database that is in the same format as the current spreadsheet. Because the column count in this export is dynmic based on the number of records in a specific table, I decided to create a temporary table for the export. The column names in this temp table are based on a "name" column from the same data table so I end up with columns named 'REC_NAME A', 'REC_NAME B', etc. (e.g. Alpha Record, Papa Record, Echo Record, X-Ray Record). The column count is currently ~350 for the spreadsheet version.
    Because the column count is so large and the column names are dynamic I've run into a host of challenges and errors creating this export. I am a contractor in a corporate environmentm, so making changes to the apex environment or installation is beyond my influence and really beyond what could be justified by this single requirement for this project. I have tried procedures and apex plug-ins for generating the file however the UTL_FILE package is not available to me. I am currently generating the SQL for the query in a function and returning it to the report region in a single column (the user will be doing a text-to-column conversion later). The data is successfully being generated, however, the sql for the headers is where I am stumped.
    At first I thought it was because I returned both queries as one and they were joined with a 'union all'. However, after looking closer, the SQL being returned for the headers is about +10K+ characters long. The SQL being returned for the data is about +14k+. As mentioned above, the data is being generated and exported, however when I generate the SQL for the headers I am receiving a report error with "ORA-01489: result of string concatenation is too long" in the file. I am puzzled why a shorter string is generating this message. I took the function from both pages and ran them in a SQL command prompt and both return their string values without errors.
    I'm hopeful that it's something obvious and noobish that I'm overlooking.
    here is the code:
    data SQL function:
    declare
      l_tbl varchar2(20);
      l_ret varchar2(32767);
      l_c number := 0;
      l_dlim varchar2(3) := '''|''';
    begin
      l_tbl := 'EXPORT_STEP';
      l_ret := 'select ';
      for rec in (select column_name from user_tab_columns where table_name = l_tbl order by column_id)
      loop
        if l_c = 1 then
            l_ret := l_ret || '||' || l_dlim || '|| to_char("'||rec.column_name||'")';
        else
            l_c := 1;
            l_ret := l_ret || ' to_char("' || rec.column_name || '")';
        end if;
      end loop;
        l_ret := l_ret || ' from ' || l_tbl;
      dbms_output.put_line(l_ret);
    end;header sql function:
    declare
      l_tbl varchar2(20);
      l_ret varchar2(32767);
      l_c number := 0;
      l_dlim varchar2(3) := '''|''';
    begin
      l_tbl := 'EXPORT_STEP';
      for rec in (select column_name from user_tab_columns where table_name = l_tbl order by column_id)
      loop
        if l_c = 1 then
            l_ret := l_ret || '||' || l_dlim || '||'''||rec.column_name||'''';
        else
            l_c := 1;
            l_ret := l_ret || '''' || rec.column_name || '''';
        end if;
      end loop;
        l_ret := l_ret || ' from dual';
      dbms_output.put_line(l_ret);
    end;-------
    EDIT: just a comment on the complexity of this export, each record in the back-end table adds 12 columns to my export table. Those 12 columns are coming from 5 different tables and are the product of a set of functions calculating or looking up their values. This is export is really a pivot table based on the records in another table.
    Edited by: nimda xinu on Mar 8, 2013 1:28 PM

    Thank you, Denes, for looking into my issue. I appreciate your time!
    It is unfortunately a business requirement. My customer has required that the data we are migrating to this app from a spreadsheet be exported in the same format, albeit temporarily. I still must meet the requirement. I'm working around the 350 columns by dumping everything into a single column, which is working for the data, however, the headers export is throwing the 01489 error. I did run into the error you posted in your reply. I attempted to work around it with the clob type but eneded up running into my string concatentation error again.
    I'm open to any suggestions at this point given that I have the data. I'm so close because the data is exporting, but because the columns are dynamic, the export does me little good without the headers to go along with it.

  • Looking For Free Good Tutorial To Learn SQL For 8i

    Hello all,
    I am looking for a free good tutorial to learn SQL for Oracle 8i.
    If anyone got any links or resources, kindly suggest.
    Thanks in advance.

    I am looking for a free good tutorial to learn SQL for Oracle 8i.8i has been unsupported for years. If you're just starting out, you might as well learn the latest.

  • What is a efficient SQL for this query ?

    Hi,
    I am using 9.2 database. Suppose I am having following 2 tables
    Table p having only one column i.e. 'a'. Values in this column are
    a1
    b1
    c1
    d1
    Table Q having three columns a, b, c
    a1, 1, 100
    a1, 2, 50
    b1, 1, 30
    b1, 2, 40
    d1, 2, 90
    Table Q can be joined only using column a.
    Table Q can have multiple or no records for column a in table p. Based on above sample data, I want following output
    a1, 100, 50
    b1, 30, 40
    c1
    d1, 90
    Kindly tell be how can I achive this in most efiicient way !!!
    thanks & regards
    PJP

    I only have you two tracks about how do it.
    If you want all the columns from p with or wihout q you have to do:
    11:35:58 SQL> l
    1 select p.*, q.*
    2 from p,q
    3* where p.a = q.a (+)
    11:37:27 SQL> /
    For change the order of the colums for rows you can see the url, the are more examples like that only need to search "columns for rows" in this forums.
    Anyway:
    with rt as
    select 'a1' a, 1 b, 100 c from dual union
    select 'a1', 2, 50 from dual union
    select 'b1', 1, 30 from dual union
    select 'b1', 2, 40 from dual union
    select 'd1', 2, 90 from dual)
    --select * from rt
    select a, decode('1','0','0',rtrim(xmlagg(xmlelement(b, b || ',')).extract('//text()'),',')) b
    , decode('1','0','0',rtrim(xmlagg(xmlelement(c, c || ',')).extract('//text()'),','))
    from rt
    group by a
    Message was edited by:
    cth
    Other way:
    select a, ltrim(b,',') as b, ltrim(c,',') as c
    from (
    select row_number() over (partition by a order by length(b) desc) as rn, a, b,c
    from (select a, sys_connect_by_path(b, ',') as b,
              sys_connect_by_path(c, ',') as c
    from (
    select row_number() over (partition by a order by b) as rn, a, b,c
    from rt) y
    connect by rn = prior rn + 1 and prior a = a
    start with rn = 1
    where rn = 1
    Message was edited by:
    cth

  • BREAK not working in SQL+ for windows. Works in SQL+ in DOS

    I'm writing a simple query in SQL+
    SELECT table_name, column_name
    FROM user_tab_columns
    WHERE table_name like 'MYTAB%'I first set BREAK ON table_name
    then I run my query.
    I expect the table name to be shown once, per table, not once per column.
    If I run this query in SQL+ in a DOS window, that's exactly what happens.
    If I run the same thing in SQL+ for Windows (version 10 on an 11g db) the break command appears to be ignored.
    Any ideas ??
    Thanks folks.

    Not sure but maybe try the NODUPLICATES option.
    break on table_name noduplicates

  • Need help with SQL for Pie Chart

    I am trying to create a pie charge which would have 3 slices.
    Following sql gives me the expected values when I run the sql command:
    select
    round(avg(CATEGORY_1 + CATEGORY_2 + CATEGORY_3 + CATEGORY_4 + CATEGORY_5),0) "OD Engagements",
    round(avg(CATEGORY_6 + CATEGORY_7 + CATEGORY_13),0) "Talent Engagements",
    round(avg(CATEGORY_8 + CATEGORY_9 + CATEGORY_10 + CATEGORY_11 + CATEGORY_12),0) "Other Engagements"
    from OTD_PROJECT
    where STATUS in ('Open','Hold')
    I get 3 columns labeled: OD Engagements, Talent Engagements and Other Engagements with the correct averages based on the the data.
    I have tried several ways to try to get this to work in the SQL for a pie chart, but keep getting the invalid sql message and it won't save. I also tried saving without validation, but no data is shown on the chart at all.
    I want to have a pie, with 3 slices, one labeled OD Engagements with a value of 27, one labeled Talent Engagements with a value of 43 and one labeled Other Engagements with a value of 30. Then I want to be able to click on each pie slice to drill down to a secondary pie chart that shows the breakdown based on the categories included in that type.
    Since I am not grouping based on an existing field I an unsure what the link and label values should be in the chart sql.

    You'll need something like the below. I have no idea what the URL for the drilldown needs to be. It should create an appropriate link in your app for the particular slice. Mainly the code below breaks the SQL results into three rows rather than three columns. It may well have a syntax error since I can't test.
    select linkval  AS LINK,
           title    AS LABEL,
           calc_val AS VALUE
    FROM   (SELECT 'OD Engagements' AS title,
                   round(avg(CATEGORY_1 + CATEGORY_2 + CATEGORY_3 + CATEGORY_4 + CATEGORY_5),0) AS calc_val,
                   'f?p=???:???:' || v('APP_SESSION') || '::NO:?' AS LINKVAL
            from   OTD_PROJECT
            where  STATUS in ('Open','Hold')
            UNION ALL
            SELECT 'Talent Engagements' AS title,
                   round(avg(CATEGORY_6 + CATEGORY_7 + CATEGORY_13),0) AS calc_val,
                   'f?p=???:???:' || v('APP_SESSION') || '::NO:?' AS LINKVAL
            from   OTD_PROJECT
            where  STATUS in ('Open','Hold')
            UNION ALL
            SELECT 'Other Engagements' AS title,
                   round(avg(CATEGORY_8 + CATEGORY_9 + CATEGORY_10 + CATEGORY_11 + CATEGORY_12),0) AS calc_val,
                   'f?p=???:???:' || v('APP_SESSION') || '::NO:?' AS LINKVAL
            from   OTD_PROJECT
            where  STATUS in ('Open','Hold')
           );

  • How to set up XMLA webservice for Essbase 7.1.5?

    <p>Hi</p><p> </p><p>I would like to set up XMLA webservice for Essbase so that I canquery Essbase OLAP databases on the web using XMLA Discover andExecute methods from client application.</p><p> </p><p>Will anybody point to the right document / provide me with anyinfo?</p><p> </p><p>Thanks</p><p>Shailesh Valera</p>

    It is not a supported feature for home screen wallpaper.

  • How to use accumulate in file functinality for Essbase adapter

    Hi Folks,
    I need to load Head count file to a Planning application via FDM.
    In which for a specific location i need to use "Accumulate in File" while loading data, which is not available for Essbase adapter.
    Please some one help me to implement the functionality in FDM.
    Thanks in advance.

    Use an Essbase Load Rule as the FDM method to load (Integration Setting --> Enable String Load) the data and in the Load Rule itself set the data optoion to 'Add to existing' 

  • Smart View for Essbase Not Available in Planning Rapid Deployment

    I have successfully deployed EPM 11.1.2.3 by following the steps in the Planning Rapid Deployment guide (http://docs.oracle.com/cd/E40248_01/epm.1112/epm_planning_rapid_deploy/epm_planning_rapid_deploy.html). However, when I bring up Smart View using a Shared Connections URL of http://<servername>:9000/workspace/SmartViewProviders, I only get connections for Planning and for the Reporting and Analysis Framework. How can a I get a connection for Essbase?

    As it turns out, the 11.1.2.3 Planning Rapid Deployment wizard doesn't install Essbase Provider Services, just Planning Provider Services and Reporting and Analysis Provider Services. Until I installed Essbase Provider Services, I wasn't even able to create a private connection to Essbase. I had to run InstallTool.cmd and select "Provider Services Web Application" from the Essbase section of the selection screen. I also had to run the configuration utility and select "Deploy to Application Server" under "Provider Services" in the Essbase section of the selection screen.
    After that, I was able to create a private connection to Essbase with this URL: http://<server name>:9000/aps/APS
    Although the private connection was now working, the Essbase connection was still not showing up as a shared connection in Excel, when I set the Excel Smart View option for Shared Connections URL to http://<server name>:9000/workspace/SmartViewProviders. I was able to get this working by running the configuration utility again and selecting "Configure Web Server" in the "Hyperion Foundation" section of the selection screen.
    I was also able to create an XML file as Celvin suggested, using http://<server name>:9000/aps/APS for the Essbase connection. Thanks for the suggestion!
    -Tom

  • Default userid/password for Essbase 7.1.5

    Hi All,<BR> <BR>I've just now upgraded to Essbase 7.1.5. At the time of installation I gave the 'NAME' as 'James Galt' and system password as 'password'.<BR>Earlier on every upgrade it used to recognize the old security file and I could login to a fresh upgrade using my old id/password. But this time it does seem to recognize the essbase.sec file.<BR><BR>could somebody please let me know the default user-id password for version 7.1.5, so that I can atleast login and try creating some users.<BR><BR>Any help in this matter s highly appreciated.<BR><BR>Thanks in advance,<BR>[email protected]

    There's no such ting as a default user ID and password for Essbase. The system user ID and password is the one you create when you install Essbase. IF you want to reset and start from scratch, delete the essbase.sec file and launch essbase.exe from \essbase\bin. You will be prompted to enter a new user ID and password. Hint : it's not good practive to use someone's name as the system ID. BE aware of a couple of things if you do this, any users, filters, applications, etc you had we'll be gone and have to be re-created. If this was an upgrade from the previous version, upon install completion, you would run the essbase.exe and it would prompt you for the existing password. If it's not working, chances are you are using the wrong password. Remember, the system password might not be the same as the admin password. For instance at my location, when I did the upgrade I entered the admin password and it didn't work. I asked everyone and they said that was the only password. After digging little deeper I found that a couple of years ago it was determined the passwords were too generic so they changed them. While they changed the admin password, the system password stayed the same. After digging, I found out what the old password was and sure enough I was able to fire it up. If you don't have existing apps and users to worry about then just start fresh, but if you want to salvage what you had, then you will need to find the right password. One more thing, if you have Essbase running as a service, disable the service and run it in console mode until you get this straightened out. <BR><BR>HTH

Maybe you are looking for