How we call OLAP to make unnecessary aggredations for loading data?

Hello

I am trying to create an OLAP cube relatively simple two-dimensional (you can call it "Square OLAP"). My current environment is 11.2EE with MN for the workspace management.

A dimension is date,-> year-> month-> day annually, the other is production unit, implemented as a hierarchy with some machine on the lower level. The fact is defined by a pair of low level of these dimensions values; for example, a measure is taken once per day for each machine. I want to store these detailed facts in a cube as well as aggregates, so that they can be easily drilled up to without questioning the original fact table.

The rules of aggregation are on 'aggregation level = default' (which is the day and the machine respectively) for two of my dimensions, the cube is mapped to the fact with dimension tables table, the data is loaded, and the everything works as expected.

The problem is with the charge itself, I noticed that it is too slow for my amount of sample data. After some research on the issue, I discovered a query in cube_build_log table, query the data is actually loaded.

< SQL >

<! [CDATA]

SELECT / * + bypass_recursive_check cursor_sharing_exact no_expand no_rewrite * /.

T4_ID_DAY ALIAS_37,

T1_ID_POT ALIAS_38,

MAX (T7_TEMPERATURE) ALIAS_39,

MAX (T7_TEMPERATURE) ALIAS_40,

MAX (T7_METAL_HEIGHT) ALIAS_41

Of

(

SELECT / * + no_rewrite * /.

T1. "" T7_DATE_TRUNC DATE_TRUNC. "

T1. "" T7_METAL_HEIGHT METAL_HEIGHT. "

T1. "" T7_TEMPERATURE OF TEMPERATURE. "

T1. "" POT_GLOBAL_ID "T7_POT_GLOBAL_ID

Of

POTS. POT_BATH' T1)

T7,

(

SELECT / * + no_rewrite * /.

T1. "" T4_ID_DIM ID_DIM. "

T1. "" ID_DAY "T4_ID_DAY

Of

LAUGHED. ("' DIM_DATES ' T1)

T4,

(

SELECT / * + no_rewrite * /.

T1. "" T1_ID_DIM ID_DIM. "

T1. "" ID_POT "T1_ID_POT

Of

LAUGHED. ("' DIM_POTS ' T1)

T1

WHERE

((T4_ID_DIM = T7_DATE_TRUNC)

AND (T1_ID_DIM = T7_POT_GLOBAL_ID)

AND ((T7_DATE_TRUNC) IN "a long long list of dates for the currently processed cube partition is clipped")))

GROUP BY

(T1_ID_POT, T4_ID_DAY)

ORDER BY

T1_ID_POT ASC NULLS LAST,

T4_ID_DAY ASC NULLS LAST]] > >

< / SQL >


View T4_ID_DAY, T1_ID_POT in the high level of the column list - here are identifiers of low level of my dimensions, which means that the query is not doing an aggregation here, because there is that one made by each pair of (ID_DAY, ID_POT).

What I want to do is somehow to load data without doing that (totally useless in my case) the aggregation intermediaries. Basically I want it to be something like

SELECT / * + bypass_recursive_check cursor_sharing_exact no_expand no_rewrite * /.

T4_ID_DAY ALIAS_37,

T1_ID_POT ALIAS_38,

T7_TEMPERATURE ALIAS_39,

T7_TEMPERATURE ALIAS_40,

T7_METAL_HEIGHT ALIAS_41

Etc...


without aggregations. In fact, I can live even with this load query, such as the amount of data isn't that great, but I want that things in the right way to work (more or less ).

Any chance to do?

Thank you.

I thought about it. There is a mistake in my correspondence, I've specified a column dim_table.dimension_id in a column field source of my section of the mapping, rather than the fact_table.dimension_id column, and (supposed) building tried to group by keys of the dimension tables. After this the definition of primary key did the trick (just the unique index, however, was not enough).

Tags: Business Intelligence

Similar Questions

  • How to call oracle forms report using parameterlist for parameters

    Dear all,
    I want to know how to call oracle forms report and parameter passing between the report and the form with the list of parameters?
    can someone help me?

    What research? The forum is full of examples.

  • How to call the function lavel root &amp; variable external loaded swf file

    I have little problem in as3.  I load 'mainmenu.swf' file "main.swf". through class loader. so now "main.swf" is children of parents 'mainmenu.swf' file how can call "main.swf" variable and function of "mainmenu.swf".

    The parent of the loaded swf file is the charger.  The main SWF is the parent of the charger.  Then to communicate with the main storyline of the loaded file can use:

    MovieClip (parent.parent) .someFunction ();

  • How the website Entertainment Weekly makes this call font family?

    The police I'm talking about is on two lines nav menu at the top of the page, starting with 'TV' on the first line and ending with 'Blogs' on the second. The same policy also seems to be used in the section 'Plus partners' following movies inside programs.

    I would like to know what EW police use here, because it doesn't seem to be what I have installed on my system. I would like to know how they call it (which line in the code is the one to make that call?) so I can it look at more closely.

    Please note that I'm specifically looking for how EW did, and not other methods to call the police that can be seen as just as effective (first).

    Thank you.

    jyeager11 wrote:

    Sorry for continually repeating the same question, but where in the code have you find this line? I'm not anywhere, and I'm specifically looking for how EW put implement.

    No need to be sorry.  We have learned to know you here very well.

    The actual code is in this file:

    http://img2-short.timeinc.NET/EW/static/c/common_min.CSS?ver=6>

    Good luck.

  • iPhone 6s is not receiving text messages and calls until I make a call?

    AAlmost every day now, my phone receive messages or calls until I make a call (usually just my voicemail). As soon as my phone connect to the call of all messages and missed messages crossed. How can I fix it?

    Check: Settings - do not disturb = Off.

  • How can I do to make the taskbar allows you to hide every time I have remove the slider from?

    2 questions: How can I do to make the taskbar allows you to hide every time I have remove the slider from?  This rarely works.  Question 2: name of the task SystemSoundsService is called by the Microsoft PlaySoundService class action.  What is his function, and above all, what is the best place for these tasks apparently running in the background all the time?  Is it good to put an end to this task?

    Hello

    Check the scheduled task SystemSoundsService here.

    Description of the scheduled tasks in Windows Vista
    http://support.Microsoft.com/kb/939039/en-us

    I hope this helps.

    Rob Brown - MS MVP - Windows Desktop Experience: Bike - Mark Twain said it right.

  • How to call e-mail with html body

    I can call the C++ and create a body of text ASCII email tool, but now want to create a body of text with an html table.  I see the email composing tool allows you to "format: the text so I guess he knows a little html.»  Make my request for the creation of a table inside the body.  If so, how?

    cardRequest.setMimeType (QString("message/rfc822"));
    cardRequest.setMimeType (QString("text/html")); tried this bot don't worky, html tags appears

    Maybe I need all the html page with

    ....

    Thanks to adviance for any help

    As seen in another question & answwer the e-mail does not support html.

  • How to call the REST Webservices via native J2ME app.

    Hi, can someone help me how to call REST Webservices via native J2ME app. I don't want to use the HTTP request. Is there a possible way to call via AJAX, if so how? I use only the RIM and the J2ME API. Thank you, joy

    JSON is just the format fo the data returned.  So all you do is make a standard HTTP call, get the data and analyze using JSON.  OS 6.0 includes JSON, but OS 5.0 doesn't work, then you will need to get a JSON library if you want to use in the 5.0 OS.

    You might find them useful:

    http://supportforums.BlackBerry.com/T5/Java-development/JSON-library/m-p/573687

    http://supportforums.BlackBerry.com/T5/Java-development/sample-code-implementing-JSON-in-your-applic...

  • How to call Mutiple CSQ in single script

    Hi all

    We installed ipccexpress 4.0.4

    Can someone help me how to call several CSQ in the main or unique script.

    For example

    We have defined two csq on ipcc express server for lotus notes and the second password. We define of resources from CSQ Skll group with longer avaliability.

    Please answer as soon as possible. If you have multiple examples of scripts for the CSQ call in a script, please send it everywhere.

    Thanks in advance

    Concerning

    Sandeep Karan

    Hello

    Your message I understand you want to have a script with two CSQ? s where the customers calling for password changes are queued in a CSQ and customers who call for problems of notes get queued in the other.

    If so, the solution is simple, that is, assuming that you already have a way to allow the client to select what they want to report (note change of password or problem) by a quick menu.

    Simply create a variable string CSQ and two string parameters (e.g. CSQnotes & CSQpass). Then, in the results quick menu to set the string CSQ variable to the value CSQnotes or CSQpass (depending on what choice made by the client) and then the shot of a goto to your script queue main, where you can use the variable CSQ you just fill in.

    This way you have a very simple script and just two parameters for which you enter the exact name of the CSQ application configuration window (make sure they match exactly).

    HTH,

    Leo

  • How to call the samples shipped with JDE

    Hello

    I'm new to the BlackBerry development. I downloaded and installed JDE 4.7 which contained similators 9530 and 9500. JDE and Load Simulator fine on my windows XP machine. I use JDK 1.5. I had a few teething problems if anyone can help it will be great.

    It's strange that this simulator does not load if the java environment variables (JAVA_HOME, CLASSPATH and path to the location of the binary java) are defined in the windows environment. It loads well if the environment does not contain these variables. I worked around this by setting the variables in the environment and using a jdkenv.bat file if necessary.

    When I run ide.bat (for JDE) he lookes for javaw.exe in the path which make sure by running jdkEnv.bat before ide.bat. So my JDE also charge very well. I did a generation of samples shipped with JDE he built successfully. So far so good.

    Problem:

    When I try to run the samples, it loads the Simulator fine. I also see the name of the sample applications, if I followed the following phone Simulator {options} USER interface-Advanced Options-Applications online online I can see the names of all listed here demo. But I don't see any UI on the Phone Simulator that I can use to invoke these demonstrations of?

    I tried an explicit charge of the demo by file-> load Java program, it displays an hourglass and returns me to the phone home screen. It also updates the date and time of the application above mentioned location to the new location. But I'm still not a UI element user where I can call it in the demo.

    How to call HelloWorld or PhoneApiLog demo of the Simulator.

    I'm new to the development of BB and I'm sorry if I'm missing something simple. But indications will be useful.

    Concerning

    asachdeva.

    Discovered samples at-online downloads.

    Thanks for taking a peek.

  • HI, I want to cancel a program, I m in Mexico and it saids, who, ill of it s of phone, someone, how to call?

    HI, I want to cancel a program, I m in Mexico and it saids, who, ill of it s of phone, someone, how to call?

    You may please check out the link below for instructions on cancellation.

    Cancel your membership creative cloud

    For more information you can contact the Support from Adobe by clicking on the link below.

    Contact the customer service

    Please make sure that you are connected to the right Adobe ID.

    Hope this will help you.

    Kind regards

    Hervé Khare

  • How to call the workflow

    Hello

    How to call another workflow a workflow or how to pass the value to another workflow?

    example:-a and B are two workflow, I want to call workflow of B in a workflow.

    Thank you in advance.

    Make slide a workflow of the element from the palette on the schema and link entries.

    See http://vmwarelearning.com/orchestrator/

  • How to call a method defined in AppmoduleImpl using a groovy expression?

    Hi experts,

    With the help of jdev 11.1.1.5.0 - adfbc battery.

    I followed this post as the blogger says.
    How to call a method defined in AppmoduleImpl using a groovy expression?
    https://blogs.Oracle.com/ADF/entry/how_to_call_a_method

    While a button insert hit

    Suite error survey.
    java.sql.SQLException: ORA-20483: ADM-
    ORA-06512: at "RMSTD.FUNC_FIND_PLNT_DESC", line 22
    ORA-06512: at line 1
    
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
         at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
         at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
         at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
         at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
    It is my code for the function.
    CREATE OR REPLACE FUNCTION func_find_plnt_desc (
       p_bu        VARCHAR2,
       p_plnt_id   VARCHAR2,
       p_lang      NUMBER
    )
       RETURN VARCHAR2
    IS
       CURSOR cur_find_plant
       IS
          SELECT bup_name1, bup_name2
            FROM bus_unit_plants
           WHERE bup_bu = p_bu AND bup_plant_id = p_plnt_id;
    
       rec_find_plant   cur_find_plant%ROWTYPE;
    BEGIN
       OPEN cur_find_plant;
       FETCH cur_find_plant INTO rec_find_plant;
    --RAISE_APPLICATION_ERROR(-20999,P_BU||P_PLNT_ID);
       IF cur_find_plant%NOTFOUND
       THEN
    
          raise_application_error (-20483, 'ADM' || P_PLNT_ID ||'-'||P_BU);
          --NULL;
       END IF;
    
       CLOSE cur_find_plant;
    
       IF p_lang = 1 THEN
          RETURN (rec_find_plant.bup_name1);
       ELSIF p_lang = 2 THEN
          RETURN (rec_find_plant.bup_name2);
       END IF;
    END;
    /
    Reason behind:
    while hitting the insert means null from the value of the survey so error function.

    If am not hitting doesn't mean no problem. the function works correctly return description.

    can someone help me how to override?

    Published by: ADF7 on April 10, 2012 23:51

    ADF7,
    the subject of the post has nothing to do with the question (for as far as I see it).
    As you can see the error message clearly comes from the procedure pl/sql you call the application module, works of groovy appeal method.

    We cannot decide what makes your service if you pass null as a parameter. You can check the settings before you proceed to the procedure or write the procedure in how it treats null parameters.

    Timo

  • How to call a function in another function?

    When I press a button, I want a series of functions to be performed one after the other (they contain interpolations, but its not relevant) , all of them waiting for the previous must be filled. I want to put the series of functions within a function, so I can simply call this function to run all others. Animations work well, but I don't know how to call functions of in another function. It would also be necessary each function to wait until the previous one is complete, to run. This is a clear example of what I need to do:

    boton.onPress = animate;

    Function animate () {}

    Animation1 (onComplete: animation2);

    animation2 (onComplete: animation3);

    animation3;

    }

    Function () {Tween 1} animation1;

    Function () {Tween 2} animation2.

    Function animation3 () {Tween 3};

    any suggestions?

    which isn't really make sense unless you're tweening or do something of asynchronous (such as loading a file).

    Function b (): Void {}

    C() ;

    D() ;  C() executed when this line runs

    }

  • How to call java xsl?

    Hi all

    My main "OrderCustomerEntry" java class is in the package "Order.Profiles.Customer".

    I have my input xml stored in a String object. Now I stored a xsl in the same package "Order.Profiles.Customer".
    I'm doing some updations to my xml. After that, I have to call a xsl that will finally make a few changes on my xml.

    Kindly tell me how to call this java xsl file.


    Thank you
    Sabarisri. N

    Published by: N Sabarisri October 11, 2011 11:15

    This can be complicated with a lot of factors at play to come. Assume that everything is set up in the right order, if the xsl language is stored in the jar containing the Order.Profiles.Customer package at its root. This means that the pot has a structure as follows:

    Order/Profiles/CustomerOrderCustomerEntry.class
    META-INF/...
    xyz.xsl
    etc
    

    You can try this when it load up.

    String xslFile="xyz.xsl";
    //tf being the factory
    Transformer transformer = tf.newTransformer(new StreamSource(ClassLoader.getSystemResourceAsStream(xslFile)));
    

    Change with regard to the cases where the xslFile is in the current directory is part of the class loader.

    Suppose that it is stored in a directory of resources called "res".

    Order/Profiles/CustomerOrderCustomerEntry.class
    META-INF/...
    res/xyz.xsl
    etc
    

    The corresponding lines would look like this.

    String xslFile="res/xyz.xsl";
    //tf being the factory
    Transformer transformer = tf.newTransformer(new StreamSource(ClassLoader.getSystemResourceAsStream(xslFile)));
    

    I hope this can be enough to you get...

    PS: Although no one should force everyone on the way to name packages, the majority in industry use all lowercase characters when possible.

Maybe you are looking for