Date dimension unique creating aggregation tables

Hi guys,.

I have a date single dimension (D1 - D) with key as date_id and the granularity is at the level of the day. I did table(F1-D) that gives daily transactions. Now, I created three tables of aggregation with F2-M(aggregated to monthly), Q(Aggregated to quarterly)-F3, F4-Y(Aggregated to yearly). As I said. I have a table of unique date with date-id as a key dimension. I have other columns month, quarter, year in the Date dimension.


My question is: is this single dimension table is sufficient to create the joins and maintain layer MDB. I joined the date_id of all facts in the physical layer. MDB layer, I have a fact and logical table 4 sources. II have created the hierarchy of the Date dimension dimension and created the logical levels as a year, quarter, month, and day and also set their respective level keys. Now, after doing this I also put the logic levels for logic table 4 sources in the fact table.

Here, I get an error saying:



WARNINGS:


BUSINESS financial model MODEL:
[39059] D04_DIM_DATE logical dimension table has a source of D04_DIM_DATE at the level of detail of D04_DIM_DATE that connects to a source of fact level superior F02_FACT_GL_DLY_TRAN_BAL. F03_FACT_GL_PERIOD_TRAN_BAL




Can someone tell me why I get this error.

Reverse - your group table months must have information on the year.

It's so she can be summarized in the parent hierarchy levels.

In general, it is so you don't have to create a table of aggregation for each situation - your table of months can be used for aggregates of the year. Still quite effective (12 times more data than the needs, but better than 365 times).

Think about your particular situation where you have a year AND a month group you might get away without information from parent levels - but I have not tested this scenario.

With the second part, let's say you have a description of months and a key of the month field. When you select month and income description, obiee needs to know where to find the description of months of. You don't find it secondary date for reasons mentioned previously dimension table. So, you tell him to do it from the global table. It is a simple as you drag the respective physical column from the overall table on the existing logical column for the description of months.

Kind regards

Robert

Tags: Business Intelligence

Similar Questions

  • create aggregation tables using job Manager windows client linux server BI

    Hi people,

    I have OBIEE 10.1.3.4.1 running on a Linux server.
    I'm trying to run the script in overall table created via the wizard by using the Task Manager.

    Task Manager requires a DSN to run on. But saw that the job scheduler runs on the Linux machine so there is no DSN point to?

    My question is:

    I need to install and configure a scheduler on a windows environment to launch task manager to run the NQCmd script to the aggregation tables?
    or
    Can I get the linux box to have his own NAME or see the windows one somehow?

    If you have information or advice that would be really untangle me.

    Thank you.

    You don't need to change anything, just use AnalyticsWeb in your nqcmd call, and it should work.

  • Syntex to create the table with the long data type

    I'm looking to create a table based on another table that having the column long data type. Throw the error ORA-00997: illegal use of the LONG data type


    I tired it

    create table abc_long (ag bgd long number);

    create table abc_long_dummy as ( ) Select *of abc_long); - ORA-00997 error: illegal use of the LONG data type

    How to get there?

    I'm looking to create a table based on another table that having the column long data type.

    You really don't want to do that.

    LONG data type has been deprecated for some time now, use CLOB.

    The TO_LOB() function will do the conversion on the fly:

    create table abc_long_dummy
    as
    select ag
         , to_lob(bgd) as bgd
    from abc_long ;
    
  • End of question creating a table and change the format of date on the creation

    Hi all

    I'm Googling the hell out of this but either it cannot be done or im just not finiding it.

    I know how to interview and select to_char allows you to change the date format.

    My question is when you create a table as follows:

    CREATE TABLE myTable2
    2 (NAME VARCHAR2 (15),)
    3 CHAR (2) STATE,
    4 SALARY NUMBER (5.2).
    5 YEARSEMP NUMBER (2),
    6 DATE STARTDATE);

    How can I set the DATE format will be a four-digit year? It is even possible to make when you create or you do it only when inserting?

    Thank you!

    Hello

    791443 wrote:
    Okay, so I guess that you can't change the default value for more than one session? So that whenever I have connect the date MM/DD/YYYY came? I know how ALTER, I was wondering if I can schedule the date WHEN I'll get the value by default whenever I connect JJ/MM/AAAA

    Exactly.

    The DBA can change the default format, which will then apply to all the columns DATE for all users.
    If you are the ADMINISTRATOR of you own private database, which is an option.

    If you are using SQL * Plus, you can put the ALTER SESSION SET NLS_DATE_FORMAT command in a file, login.sql, so it will run automatically every time that you start a session.
    Other frontends probably have similar functionality.

    You can also create a view, which had a column VARCHAR2 with formatted data. If you do this, the view also have the actual DATE column — VARCHAR2 column won't be good for sorting or making comparisons of inequality.
    From Oracle 11, you can have a virtual column in the table itself.

  • How to create a table with two unique columns

    How to create a table with two unique columns. I use the following syntax below and I get the error message such unique or primary key already exists.

    create the table COPQ_WORKCELL_GOAL
    (
    Type_id varchar2 (4) NOT NULL UNIQUE,
    Tyle_Location varchar2 (30) NOT NULL UNIQUE,
    Type_Description varchar2 (20).
    KEY elementary SCHOOL (Type_id)
    );

    Use 1 or the other column type_id;

    create table COPQ_WORKCELL_GOAL
    (
      Type_id varchar2(4),
      Tyle_Location varchar2(30) NOT NULL UNIQUE,
      Type_Description varchar2(20),
      PRIMARY KEY (Type_id)
    );
    
    Table created
    drop table COPQ_WORKCELL_GOAL;
    
    Table dropped
    create table COPQ_WORKCELL_GOAL
    (
      Type_id varchar2(4) primary key,
      Tyle_Location varchar2(30) NOT NULL UNIQUE,
      Type_Description varchar2(20)
    );
    
    Table created
    
  • Create a table with all kinds of oracle data types?

    Hello
    who can give me a small example to create a table with all kinds of oracle data types? and the example to insert it?

    Thank you
    Roy

    Hello

    Read the fine manual. It contains examples at the end of the chapter.

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/statements_7002.htm

    I don't know if you know that you can also create your own data types using 'create a type '. So look for examples that are of your interest and not for all types of data.

    Concerning

    Published by: skvaish1 on February 16, 2010 15:33

  • Creating a table: invalid data type

    Hello

    I want to create two tables, which is why the following script:

    create table wine cellars
    (winecellarname varchar2 (50) primary key,)
    location varchar2 (50).
    owner varchar2 (50).
    Phone varchar2 (50).
    Museum char(1),
    BLOB of logo
    );


    create table wines
    (winetype, varchar2 (50))
    winecathegory varchar2 (50).
    year number 4.
    winecellarname varchar2 (50).
    VARCHAR2 (50) of origin;
    primary key (winetype, winecathegory, year, winecellarname).
    update the foreign key (winecellarname) winecellarname references on Delete on cascade
    );

    But in line 13 of the script, which is the line winetype varchar2 (50), gives the text following error-> invalid data type

    Everyone knows that is the cause? I used Toad as a client to manage the script and Oracle 10 g as a server.

    Thank you. concerning

    Then, when you create tables in Oracle, referencing foreign key, you don t need to use on the update clause to maintain the reference to integrity? This is valid for MySQL Server?

    not sure that your average, but you have to update... use only on the deletion clause.
    read reference to url... I told you

  • I'm trying to create another table and insert data to practice... How can I insert multiple values?

    I created another table for practice on two tables queries now.

    That's what I have:

    Insert in the test

    (address, age, status, DriverID)

    values ("131 Shore Drive", "Edison, NJ, 08011 ', ' 55', m ', '2').

    ("' 62 central avenue", "Middletown, NJ 08011', ' 43 ', am ', ' 1'");

    ('98 main street', ' Bristol, PA 19116 ', ' 67', the of ', '3' ").

    ('15 wrong Way', ' Long Island, NY 10111 ', ' 60', 'W', '4' '),

    ("' Kevin 9 Place", "New York, NY 10111 ', ' 25', the of ', '5'");

    It says command SQL is not properly terminated.

    Like this:

    Insert into test (address, age, status, DriverID)

    values ("131 Shore Drive", "Edison, NJ, 08011 ', ' 55', m ', '2');

    Insert into test (address, age, status, DriverID)

    values ("62 Middle Avenue", "Middletown, NJ 08011', ' 43 ', am ', ' 1'");

    ...

  • How to create a table with these dimensions?

    Still new in Indesign, but I need to create a table like the one below.

    Screen Shot 2015-03-10 at 2.31.25 AM.png


    Select the text tool, I created a block of text and then insert a table. However, I'm lost as to how to change the top line for the length of the two columns from the bottom.
    I looked at the options of panel paintings, but it only allows me to change the number of lines and columns.

    All advice is appreciated. Thank you.

    You must create a table with two rows and two columns.

    To select the first line and click "merge cells".

  • the advantage of using the date dimension.

    Hi gurus,
    I have a table of facts with 5 different dates as the shipping date, the order date.
    My question is
    Case 1. in fact, table I store date_keys (substitution integers) and create several date dimensions (alas) for each type of date as a date_dimension alias for the shipping date, an alias for the date of the order etc (in the model of declaration).

    Case 2: I just avoid using the date and just store date dimension (no integers) in fact table.
    In this way I will save 5 joints in 5 dimensions of different date.
    Note: I have need of these 5 participates in the declaration of model that will be used to create reports, not in the model ETL in dimension model ETL that one date will be there, but we must create on alias the dimension date for each type of report date.

    So, I was wondering what is the advantage of using the date dimension?

    It is more a question of design/statement of a question of ETL/ODI;).

    The advantage of the dimension is that you can select or aggregate data by year, weekends, quarter, month, day of the week...
    If you only keep the date, you had all these complexes of the formula in logic or calculated items columns (assuming you are using OBIEE). Performances will be affected and the code will be duplicated in many places.

    Hope that it answers the question.

    Jerome

  • create the table in SELECT (question)

    Hello

    In regards to create the table as subquery, I read that:

    The data type of column definitions and the NOT NULL constraint are passed to the new table. Note that only the explicit NOT NULL constraint is inherited. The PRIMARY KEY column will not function NOT NULL column null. Any other rule of constraint is not passed to the new table. However, you can add constraints in the column definition.

    Can someone explain to me how to do this? Or, how we need to specify the constraints (and also the default values for columns, because it is possible) for the columns in the column definition?

    In addition, I do not understand this: the PRIMARY KEY column will not function NOT NULL column zero.
    Can someone give me some small examples regarding these?
    For example, it generates an error:
    create table test1 (a, b, c default sysdate) 
    as 
    select 1, 'b' from dual
    Thank you!

    Edited by: Roger22 the 01.09.2011 11:37

    Hello

    When you set a primary key consists of a unique constraint and a constraint not null, but they are both implicit with the primary key. When you create the table because it will copy only the explicitly declared NOT NULL constraints so it isn't look upward than the implicit NOT NULL primary key.

    SQL> create table dt_pk
      2  (   id      number primary key,
      3      col1    number not null,
      4      col2    number
      5  )
      6  /
    
    Table created.
    
    SQL> desc dt_pk
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> create table dt_pk2 as select * from dt_pk;
    
    Table created.
    
    SQL> desc dt_pk2;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                                 NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> select constraint_name,constraint_type from user_constraints where table_name='DT_PK'
      2  /
    
    CONSTRAINT_NAME                C
    ------------------------------ -
    SYS_C006935772                 C
    SYS_C006935773                 P
    
    SQL> select constraint_name,constraint_type from user_constraints where table_name='DT_PK2'
      2  /
    
    CONSTRAINT_NAME                C
    ------------------------------ -
    SYS_C006935774                 C
    

    However, a primary key can reuse existing constraints and indexes instead of declaring new. For example, we can explicitly declare a constraint not null on the column id and then create a primary key. This means that we will now inherit the constraint not null in the ETG, as it has been explicitly declared and is a constraint separate in there own right that has been 'borrowed' by the pk constraint.

    SQL> create table dt_pk3 (id number not null, col1 number not null, col2 number);
    
    Table created.
    
    SQL> alter table dt_pk3 add constraint dt_pk3_pk primary key (id);
    
    Table altered.
    
    SQL> select constraint_name,constraint_type from user_constraints where table_name='DT_PK3'
      2  /
    
    CONSTRAINT_NAME                C
    ------------------------------ -
    SYS_C006935775                 C
    SYS_C006935776                 C
    DT_PK3_PK                      P
    
    SQL> create table dt_pk4 as select * from dt_pk3;
    
    Table created.
    
    SQL> desc dt_pk3;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> desc dt_pk4;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER 
    

    Regarding the definition of the default values, you must always specify the column in the select, but doing so means follow you the semantics of a default in a standard INSERT statement, i.e. you specified the column, you must provide a value, in which case even if the value is null, the default value will not be used. However, the new inserted rows where the column with the default value is not specified will revert to the default.

    SQL> create table test1 (a, b, c default sysdate)
      2  as
      3  select 1, 'b' from dual
      4  /
    create table test1 (a, b, c default sysdate)
                        *
    ERROR at line 1:
    ORA-01730: invalid number of column names specified
    
    SQL> create table test1 (a, b, c default sysdate)
      2  as
      3  select 1, 'b', null c from dual
      4  /
    select 1, 'b', null c from dual
                   *
    ERROR at line 3:
    ORA-01723: zero-length columns are not allowed
    
    SQL> create table test1 (a, b, c default sysdate)
      2  as
      3  select 1, 'b', cast(null as date) c from dual
      4  /
    
    Table created.
    
    SQL> select * from test1;
    
             A B C
    ---------- - ---------
             1 b
    
    SQL> insert into test1(a,b) values(2,'b');
    
    1 row created.
    
    SQL> select * from test1;
    
             A B C
    ---------- - ---------
             1 b
             2 b 01-SEP-11
    

    To create a constraint, you must list all columns without the data types and constraints list online.

    SQL> create table dt_cons (id number, col1 number, col2 number, constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    create table dt_cons (id number, col1 number, col2 number, constraint chk2 check(col2 IS NULL or col2>10))
                          *
    ERROR at line 1:
    ORA-01773: may not specify column datatypes in this CREATE TABLE
    
    SQL> create table dt_cons (constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    create table dt_cons (constraint chk2 check(col2 IS NULL or col2>10))
                         *
    ERROR at line 1:
    ORA-00904: : invalid identifier
    
    SQL> create table dt_cons (col2 constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    create table dt_cons (col2 constraint chk2 check(col2 IS NULL or col2>10))
                          *
    ERROR at line 1:
    ORA-01730: invalid number of column names specified
    
    SQL> create table dt_cons (id,col1,col2 constraint chk2 check(col2 IS NULL or col2>10))
      2  as select * from dt_pk3
      3  /
    
    Table created.
    
    SQL> desc dt_cons
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     COL1                                      NOT NULL NUMBER
     COL2                                               NUMBER
    
    SQL> insert into dt_cons values(2,2,2);
    insert into dt_cons values(2,2,2)
    *
    ERROR at line 1:
    ORA-02290: check constraint (JJACOB_APP.CHK2) violated
    
    SQL> insert into dt_cons values(2,2,10);
    insert into dt_cons values(2,2,10)
    *
    ERROR at line 1:
    ORA-02290: check constraint (JJACOB_APP.CHK2) violated
    
    SQL> insert into dt_cons values(2,2,11);
    
    1 row created.
    
    SQL> insert into dt_cons values(2,2,null);
    
    1 row created.
    
    SQL>
    

    HTH

    David

  • Create a table with a thinner than the source table granulaty

    Hello
    I had a problem. I have a source table that has vacation date / period for employees inside. I want to create a table where I "split" the period of vacation days for each employee.
    Example:
    Holiday table:
    Name - Holiday beginning - end of holiday
    Mr.X - 1.1.2011 - 5.1.2011
    Mr.Y - 2.5.2011 - 3.5.2011

    -> new table:
    Name - Day of vacation
    Mr.X - 1.1.2011
    Mr.X - 2.1.2011
    Mr.X - 3.1.2011
    Mr.X - 4.1.2011
    Mr.X - 5.1. 2011

    and so on
    Is there an operator or something else with which I could create the new table? I use OWB 11 GR 2

    THX

    Hello
    Join your source table to another table that contains all the dates (for example, you can use time dimension in OWB):

    Select vt.name, d.date_value in the vacation_table, vt, dates_tab d vacation_day
    where d.date_value between vt.vacation_start and vt.vacation_end

    Kind regards
    Oleg

  • editing a start date of information from another table

    Hello all;

    I have the sample data below
    create table t1
    (
           id varchar2(200),
           begin_date date,
           ending_date date
    );
    create table t2
    (
       id varchar2(200),
       period_number number(30),
       period varchar2(200) 
    );
    insert into t1
      (id, begin_date, ending_date)
    values
      ('A', sysdate, to_date('01/02/2020', 'MM/DD/YYYY'));
    insert into t1
      (id, begin_date, ending_date)
    values
      ('B', sysdate, to_date('03/31/2011', 'MM/DD/YYYY') );
    insert into t1
      (id, begin_date, ending_date)
    values
      ('C', sysdate, to_date('01/20/2011', 'MM/DD/YYYY')); 
    
    insert into t2
      (id, period_number, period)
    values
      ('A', 2, 'Years');
    insert into t2
      (id, period_number, period)
    values
      ('B', 3, 'Months');
    insert into t2
      (id, period_number, period)
    values
      ('C', 4, 'Days');
    So what I'm trying to do is basically update the start date in t1, using the information from table t2
    for example, A
    start date should be start date = 01/02/2020-2 years = 01/02/2018
    for C
    start date should be start date = 20/01/2011 - 4 = 01/16/2011

    Thanks for the sample data, it makes life easier.

    Something like this:

    SQL> UPDATE t1
      2  SET begin_date = (SELECT CASE WHEN t2.period = 'Years' THEN ADD_MONTHS(t1.ending_date, t2.period_number * -12)
      3                                WHEN t2.period = 'Months' THEN ADD_MONTHS(t1.ending_date, t2.period_number * -1)
      4                                ELSE t1.ending_date - t2.period_number END
      5                    FROM t2
      6                    WHERE t1.id = t2.id)
      7  WHERE EXISTS (SELECT 1 FROM t2
      8                WHERE t1.id = t2.id);
    
    3 rows updated.
    
    SQL> SELECT * FROM t1;
    
    ID         BEGIN_DATE  ENDING_DATE
    ---------- ----------- -----------
    A          02-JAN-2018 02-JAN-2020
    B          31-DEC-2010 31-MAR-2011
    C          16-JAN-2011 20-JAN-2011
    

    If t2 is unique, you could also do it as an editable join view using a structure of similar cases.

    John

  • Scatterplot apEx 3.2 only display of data point unique series 2 +.

    I have a very basic question based on a very basic graphic.
    Currently I have a graphical configuration of clouds of points with 2 sets.

    Series 1 displays as expected, however series 2 displays only the last line retrieved by sql, it comes out.

    Example sql for each series is as follows

    series 1
    Select the null link, name, locationX and locationY
    of 'TEST '. "" USER_HISTORY ".
    where user = "test1".

    Series 2
    Select the null link, name, locationX and locationY
    of 'TEST '. "" USER_HISTORY ".
    where user = 'test2 '.


    All statements will work perfectly in sql and return a number of records of each.
    The strange thing is that if I change from series 2 to be the same query as series 1, but adds something to x and y cordinates it works fine.
    I print in series 2, but also of series 1.

    Select the link null, name, locationX + 10, + 10 locationY
    of 'TEST '. "" USER_HISTORY ".
    where user = 'test '.

    I hope that the problem is a simple lack of understanding in my name, as I am very new to the ApEx.

    Any help would be appreciated.

    Hello

    I think that there is a bug somewhere.

    I created a table called LOCATIONS using your data and assigned a THE_NAME column to A or B (alternately through your records). If I then create a chart point cloud using two series--one for A and a b - BUT use THE_NAME as the value of the LABEL, I get only a single value of the second series. However, if I add a unique ID on the table and adds it to the value THE_NAME (THE_NAME |) To_char (ID)), I get the full data on the list: [http://apex.oracle.com/pls/otn/f?p=40629:7]

    So it would seem that the LABEL values must be unique - this is the case in your actual data?

    Andy

  • What could cause aggregation tables to use is not in my query?

    Hello

    I created a few tables of aggregation for on tables 10-12 facts in 2 dimensions in my environment of OBIEE.

    I have a report that shows the members of dimension and all the facts used in aggregates. I have also some other columns (tables of the same physical) for which I have not used by creating aggregates.

    When I consult my log of requests, I see that the OBIEE server does not use tables of aggregation for the facts that I have created for. What could be causing this - is it because of the additional columns for which no aggregation tables exist?

    Thank you
    Kevin

    Yes, these additional columns would be a problem.
    On the same note, logical fact tables must not contain attributes, only measures. (you can see in any sample RPD provided by oracle)

Maybe you are looking for