Effective date and expiry date is data warehousing

I am new to OWB. I would like to know how we update expiry dates in slowly changing dimension tables by using OWB. Suppose if my source data is as follows:
Emplid Job Action Eff. Date
1000 "New Hire" 24-JUN-1999
1000 "Promotion" 27-SEP-2000
1000 "Merit" 01-JAN-2001
I would like to populate my target table like this.
Emplid Job Action Eff. Date Expiry Date
1000 "New Hire" 24-JUN-1999 26-SEP-2000
1000 "Promotion" 27-SEP-2000 31-DEC-2000
1000 "Merit" 01-JAN-2001 31-DEC-9999
I tried to read the source system rows in the order of emplid and eff. date desc. I wanted to pass eff. date of current row to the next row in the source system. In this way, I can easily determine expiry date of current transaction. I have a hard time to do this in OWB. I would like to know
1) Whether it is possible or not by simple mapping.
OR
2) Do I have to write any post mapping procedure?
OR
3) Is there any better way?
Your input is greatly appreciated.

Hi ,
follow these steps.
1) take the table, and again take same table,and join it on primary keys like say table a,table a1.
a.id = a1.id(+)and
a.start_date = a1.start_date(+).
2) take outputs of join in sort operator and sort a.id asc and a.start_date asc.
3) take o/p of sort operator in aggegrator.
4) take in the input of agg , a.id,a.start_date , and b.start_date,and group by a.id and a.start_date.
5) in output parameters add id and assigned id to it,start_date = a.start_date and create min_date = min(b.start_date)
6) then drag o/p to exp ,and create o/p parameets like id ,start_date,and end dates.
assign id to id,start_date = a.start_date and end date = if min_date is not null then mindate else
to_date('31-dec-4719')
and then get them in target table.
i have implemented this on my side,for any help pls feel free to get in touch.
Sharad.

Similar Messages

  • Inserting rows in cursor and breaking up when effect date matches

    Hi
    I have created a table cadreinc (empno varchar2(8), pay number(5), da number(5) , scale varchar2(11), effectdate date , flag varchar2(1)) with values as shown below.
    04485816      12800     4200     09300-34800      1-Jan-2006     Y
    04485816      13000     4200     09300-34800      1-Jul-2006     Y
    04485816      13450     4600     09300-34800      27-Sep-2006     Y
    04485816      13675     4600     09300-34800      1-Jul-2007     Y
    04485816      14200     4600     09300-34800      1-Jul-2008     Y
    04485816      14650     4600     09300-34800      1-Jul-2009     Y
    I just want to manipulate data into another table by using this data and i want the result as
    04485816 12800 4200 09300-34800 01-jan-2006
    04485816 12800 4200 09300-34800 01-feb-2006
    04485816      13000     4200 09300-34800 1-Jul-2006     
    04485816 13000 4200 09300-34800 1-aug-2006
    like data reproduced on every month and get changes in value based on the effect date.
    how to write pl sql program for this??
    I have tried some what like
    DECLARE
    EMP VARCHAR2(8);
    PAY NUMBER(5);
    GP NUMBER(5);
    SCALE VARCHAR2(11);
    INC date;
    PAD VARCHAR2(11);
    FL VARCHAR2(1);
    CURSOR A IS SELECT EMPNO,VIPAY,GRADEPAY,VISCALE,INCDATE,FLAG FROM CADREINC;
    BEGIN
    <<i_loop>> FOR I IN A LOOP
    INC:=I.INCDATE;
    FL:='Y';
    <<j_loop>> FOR K IN 1..12 LOOP
    INSERT INTO CADREFIX ( EMPNO,VIPAY,GRADEPAY,VISCALE,INCDATE) VALUES
    (I.EMPNO,I.VIPAY,I.GRADEPAY,I.VISCALE,I.INCDATE);
    I.incdate:=LAST_DAY(I.INCDATE)+1;
    EXIT j_loop WHEN pay>i.vipay and inc=i.incdate and fl='Y';
    --EXIT WHEN INC='01-JUL-2010'; 
    END LOOP;
    -- i.INCdate:=LAST_DAY(I.INCDATE)+1;
    EXIT i_loop WHEN pay>i.vipay and inc=i.incdate and fl='Y' ;
    END LOOP;
    COMMIT;
    END;
    but unable to get the desired results. The pay comes for every 12 months instead of upto effect date.
    Please help.

    Hi,
    Welcome to the forum!
    Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables involved.
    Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
    If you're asking about a DML statement, such as INSERT, the CREATE TABLE and INSERT statements should re-create the tables as they are before the DML, and the results will be the contents of the changed table(s) when everything is finished.
    Always say which version of Oracle you're using.
    See the forum FAQ {message:id=9360002}
    Here's one way to do what you want in pure SQL. Since I don't have your table, I'll use scott.emp to show the way:
    WITH     data_by_month     AS
         SELECT       TRUNC (hiredate, 'MONTH')     AS hiremonth
         ,       COUNT (*)                  AS cnt
         FROM       scott.emp
         GROUP BY  TRUNC (hiredate, 'MONTH')
    ,     got_repeat_num     AS
         SELECT     hiremonth, cnt
         ,     MONTHS_BETWEEN ( LEAD (hiremonth) OVER (ORDER BY hiremonth)
                          , hiremonth
                          )     AS repeat_num
         FROM    data_by_month
    SELECT       ADD_MONTHS ( r.hiremonth
                     , c.column_value - 1
                   )                 AS report_month
    ,       cnt
    FROM          got_repeat_num  r
    CROSS JOIN     TABLE ( CAST ( MULTISET ( SELECT  LEVEL
                                                  FROM        dual
                               CONNECT BY     LEVEL     <= r.repeat_num
                         AS sys.odcinumberlist
                    )  c
    ORDER BY  report_month
    ;You can use a query like this in an INSERT or MERGE statement.
    If you need to use PL/SQL, then you can use an INSERT or MERGE statement, with a sub-query like the one show above, in PL/SQL.

  • Date Effective SDO and named bind variable

    Hi.
    I have a problem with named bind variable in date effective ADF Business Component (:Bind_SysEffectiveDate).
    Service interface of my EmployeeHistorySDO has next methods:
    getEmployeeHistoryView1
    updateEmployeeHistoryView1
    findEmployeeHistoryView1
    createEmployeeHistoryView1
    deleteEmployeeHistoryView1
    If I invoke getEmployeeHistoryView1 method I'm getting next SQL statement:
    [332] EmployeeHistoryView1 ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, null)
    [333] EmployeeHistoryView1 ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, null)
    [334] Column count: 7
    [335] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, null)
    [336] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setWhereClauseParams caused params changed
    [337] EmployeeHistoryView1 ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, null)
    [338] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setWhereClauseParams caused params changed
    [339] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setWhereClauseParams caused params changed
    [340] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setWhereClauseParams caused params changed
    [341] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, null)
    [342] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setNamedWhereClauseParam(SysEffectiveDateBindVar, null)
    [343] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, fbkKy__0, null)
    [344] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setNamedWhereClauseParam(fbkKy__0, 3)
    [345] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.setNamedWhereClauseParam(SysEffectiveDateBindVar, 2010-10-01)
    [346] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, 2010-10-01)
    [347] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, fbkKy__0, 3)
    [348] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.execute caused params to be "un"changed
    [349] Column count: 7
    [350] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, 2010-10-01)
    [351] EmployeeHistoryView_0_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, fbkKy__0, 3)
    [352] executeQueryForCollection ViewObject:EmployeeHistoryView_0_findByKey_, RowSet:EmployeeHistoryView_0_findByKey_
    [353] ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_0_findByKey_ close prepared statements...
    [354] ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_0_findByKey_ Created new QUERY statement
    [355] EmployeeHistoryView_0_findByKey_>#q computed SQLStmtBufLen: 403, actual=380, storing=410
    [356] SELECT EmployeeHistory.HISTORY_ID,         EmployeeHistory.POSITION,         EmployeeHistory.WAGE,         EmployeeHistory.EMPL_ID,         EmployeeHistory.START_DATE,         EmployeeHistory.END_DATE FROM EMPLOYEE_HISTORY EmployeeHistory WHERE (EmployeeHistory.HISTORY_ID = :fbkKy__0) AND (:SysEffectiveDateBindVar BETWEEN EmployeeHistory.START_DATE AND EmployeeHistory.END_DATE)
    [357] pStmt = conn.prepareStatement("SELECT EmployeeHistory.HISTORY_ID, EmployeeHistory.POSITION, EmployeeHistory.WAGE, EmployeeHistory.EMPL_ID, EmployeeHistory.START_DATE, EmployeeHistory.END_DATE FROM EMPLOYEE_HISTORY EmployeeHistory WHERE (EmployeeHistory.HISTORY_ID = :fbkKy__0) AND (:SysEffectiveDateBindVar BETWEEN EmployeeHistory.START_DATE AND EmployeeHistory.END_DATE)"); // JBO-JDBC-INTERACT
    [358] Bind params for ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_0_findByKey_
    [359] Binding param "SysEffectiveDateBindVar": 2010-10-01
    [360] // ERROR: Unknown data type oracle.jbo.domain.Date // JBO-JDBC-INTERACT
    [361] pStmt.setObjectAtName(SysEffectiveDateBindVar, "2010-10-01"); // JBO-JDBC-INTERACT
    [362] Binding param "fbkKy__0": 3
    [363] // ERROR: Unknown data type oracle.jbo.domain.Number // JBO-JDBC-INTERACT
    [364] pStmt.setObjectAtName(fbkKy__0, "3"); // JBO-JDBC-INTERACT
    Environment successfully binds today date to :SysEffectiveDateBindVar.
    But if I try to invoke updateEmployeeHistoryView1 method environment binds already the variable that doesn't presents in SQL query, so I have an exception:
    [606] EmployeeHistoryView_1_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, SysEffectiveDateBindVar, 2010-10-01)
    [607] EmployeeHistoryView_1_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, Bind_SysEffectiveDate, 2010-10-01 00:00:00.0)
    [608] EmployeeHistoryView_1_findByKey_ ViewRowSetImpl.doSetWhereClause(-1, fbkKy__0, 3)
    [609] executeQueryForCollection ViewObject:EmployeeHistoryView_1_findByKey_, RowSet:EmployeeHistoryView_1_findByKey_
    [610] ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_1_findByKey_ close prepared statements...
    [611] ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_1_findByKey_ Created new QUERY statement
    [612] EmployeeHistoryView_1_findByKey_>#q computed SQLStmtBufLen: 403, actual=380, storing=410
    [613] SELECT EmployeeHistory.HISTORY_ID,         EmployeeHistory.POSITION,         EmployeeHistory.WAGE,         EmployeeHistory.EMPL_ID,         EmployeeHistory.START_DATE,         EmployeeHistory.END_DATE FROM EMPLOYEE_HISTORY EmployeeHistory WHERE (EmployeeHistory.HISTORY_ID = :fbkKy__0) AND (:SysEffectiveDateBindVar BETWEEN EmployeeHistory.START_DATE AND EmployeeHistory.END_DATE)
    [614] pStmt = conn.prepareStatement("SELECT EmployeeHistory.HISTORY_ID, EmployeeHistory.POSITION, EmployeeHistory.WAGE, EmployeeHistory.EMPL_ID, EmployeeHistory.START_DATE, EmployeeHistory.END_DATE FROM EMPLOYEE_HISTORY EmployeeHistory WHERE (EmployeeHistory.HISTORY_ID = :fbkKy__0) AND (:SysEffectiveDateBindVar BETWEEN EmployeeHistory.START_DATE AND EmployeeHistory.END_DATE)"); // JBO-JDBC-INTERACT
    [615] Bind params for ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_1_findByKey_
    [616] Binding param "SysEffectiveDateBindVar": 2010-10-01
    [617] // ERROR: Unknown data type oracle.jbo.domain.Date // JBO-JDBC-INTERACT
    [618] pStmt.setObjectAtName(SysEffectiveDateBindVar, "2010-10-01");  // JBO-JDBC-INTERACT
    [619] Binding param "Bind_SysEffectiveDate": 2010-10-01 00:00:00.0
    [620] // ERROR: Unknown data type java.sql.Timestamp // JBO-JDBC-INTERACT
    [621] pStmt.setObjectAtName(Bind_SysEffectiveDate, "2010-10-01 00:00:00.0");  // JBO-JDBC-INTERACT
    [622] ViewObject: [com.test.sdo.dateeffective.employee.history.EmployeeHistoryView]EmplHistoryAppModule.EmployeeHistoryView_1_findByKey_ close single-use prepared statements
    [623] pStmt.close(); // JBO-JDBC-INTERACT
    [624] QueryCollection.executeQuery failed...
    [625] java.sql.SQLException: Attempt to set a parameter name that does not occur in the SQL: Bind_SysEffectiveDate
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
         at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:11178)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObjectAtName(OraclePreparedStatementWrapper.java:815)
         at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setObjectAtName(Unknown Source)
         at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:4655)
         at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3645)
         at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:19288)
    In Fusion Developer's Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) at chapter 5.2 says that environmnet uses :Bind_SysEffectiveDate bind variable for passing effective date for Date Effective Business Components. But I see that in my case :SysEffectiveDateBindVar bind variabe is used for get method and both variables are used in update method.
    Why environment trying to bind :Bind_SysEffectiveDate if only :SysEffectiveDateBindVar is present in the query ? How can I solve this problem ?
    I'm using
    Oracle JDeveloper Studio Edition Version 11.1.1.3.0
    WebLogic Server Version: 10.3.3.0
    Oracle SOA Suite 11.1.1.
    Edited by: user2975420 on 01.10.2010 6:26

    As I understood ApplicationModule.EFF_DT_PROPERTY_STR is used to pass the value of SysEffectiveDate. This means that this value will bind to variable that present in query filter (:Bind_SysEffectiveDate).
    If this property is not set, the current date value binds to :Bind_SysEffectiveDate variable.
    But the reason of my problem is another.
    When I create date effective entity and date effective view object for this entity the query of VO is next (I see this query in query editor in JDeveloper):
    SELECT EmployeeHistory.HISTORY_ID,
    EmployeeHistory.POSITION,
    EmployeeHistory.WAGE,
    EmployeeHistory.EMPL_ID,
    EmployeeHistory.START_DATE,
    EmployeeHistory.END_DATE
    FROM EMPLOYEE_HISTORY EmployeeHistory
    WHERE (:Bind_SysEffectiveDate BETWEEN EmployeeHistory.START_DATE AND EmployeeHistory.END_DATE)
    But when I invoke getEmployeeHistoryView1 method of view object service interface, the query which I see in log is next:
    SELECT EmployeeHistory.HISTORY_ID,
    EmployeeHistory.POSITION,
    EmployeeHistory.WAGE,
    EmployeeHistory.EMPL_ID,
    EmployeeHistory.START_DATE,
    EmployeeHistory.END_DATE
    FROM EMPLOYEE_HISTORY EmployeeHistory
    WHERE (EmployeeHistory.HISTORY_ID = :fbkKy__0)
    AND (:SysEffectiveDateBindVar BETWEEN EmployeeHistory.START_DATE AND EmployeeHistory.END_DATE)
    Bind variable for SysEffectiveDate has *:SysEffectiveDateBindVar* name now instead of *:Bind_SysEffectiveDate*. But method invokes successfully.
    When I invoke updateEmployeeHistoryView1 environmet already tryes to bind *:Bind_SysEffectiveDate* variable that doesn't present in query. So I have exception:
    java.sql.SQLException: Attempt to set a parameter name that does not occur in the SQL: Bind_SysEffectiveDate
    I'm not understanding why environment binds :Bind_SysEffectiveDate parameter which doesn't present in query.

  • Data Warehousing and Data Analytics

     how can someone as a manager,  use data warehousing and data analytics in a phone company?

    Hi Ana,
    Data warehouses are characterized by queries that scan larger numbers of rows, large ranges of data and may return relatively large results for the purposes of analysis and reporting. Data warehouses are also characterized by relatively large data loads
    versus small transaction-level inserts/updates/deletes.
    Data analytics is distinguished from data mining
    by the scope, purpose and focus of the analysis. Data miners sort through huge
    data sets using sophisticated software to identify undiscovered patterns and establish hidden relationships.
    References:
    Data Warehousing (DW)
    Data Analytics (DA)
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • How to manage bom effective in and out dates

    The parent-child relationships in my BOMs have effective in and out dates. The in date is when the child part starts to participate in the BOM cascade. Then out date is when it stops participating.
    My questions is, how to express this in IOP speak. Specifically, when I want to say is,
    dependent demand = dependent demand + <total demand from parent> * if (today is in [BOM.in_date .. BOM.out_date], BOM.usage, 0)
    I'm sure it can be done, just haven't been able to figure out how. I poked around the function reference in jdocs, but haven't come up with a way to do this. Seems like the key here is to construct locations out of the dates I pull out of the rowsource. Once I have that, I should be able to use the in() and range() functions.
    Thanks for your advice.

    Matt
    Yes, this is fundamental and supported well. Unfortunately, it used to be custom code before the release coming out soon. In this release, we have introduced generic functions to achieve that. The in_date and out_date are function of the relationship I assume.
    Here is what you could do with the new release -- remember this should be coded in the rolldown/rollup formula --
    dependent demand = dependent demand + <total demand from parent> * if (isCurrentDateInRange(
    lookupDate("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "start_date"),
    lookupDate("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "end_date")),
    lookup("BOM_STRUCTURE_RS", property("BomDim", "name"), sourceSparseMember("BomDim"), "SCALE_FACTOR"), 0)
    lookupDate and isCurrentDateInRange are introduced now.
    Lookup in general is a cool function that lets you do arbitrary query to rowsource. It is like table lookup and it is efficient within a block calculation.

  • In the packing list, batch number and expiry date is not appearing for a ma

    Dear Friends,
    I have an issue in the packinglist.
    In the packing list, batch number and expiry date is not appearing for a material.
    But in the delivery the batch number and expiry date is appearing.
    Why this has triggered and how to solve this?
    With regards

    Hi Vamsi,
              Please go through the output type Smart form or script programe of the packing list and check with the abaper If is there any Bug.
    Regard's
    Murali.

  • Product pricing and effective dates

    Hello guys,
    Hope all of you are doing fine.
    In my current implementation we are going to integrate the pricing in the product repository, however I was asked to find out if anyone in the team has experience with putting pricing in a product or material repository in MDM and specifically dealing with the requirement of having effective dates for different prices.
    If you have such experience or thoughts to share please reply.
    Also it would be useful to know if you are aware if SAP has any future plans to release such functionality in future versions of the tool (or business content).
    Kind Regards,
    Jorge

    Then my cardinality is drastically reduced to 92K (actual 110M) - leading to Nested Loops further up the query plan....
    I don't have histograms on the columns involvedIf you add histograms on the involved columns, is the optimizer picking up a better execution plan?
    Also note that the problem might be that you need a combined value distribution on two columns. This is possible from 11g onwards, but not before. Check out http://www.oracle.com/technology/pub/articles/oracle-database-11g-top-features/11g-manage.html (Search for Multi-Column Statistics)

  • ALM - Visual Studio Database Projects and Data Warehousing

    I have moved onto a team doing data warehousing. In the past I have performed application lifecycle managment using Visual Studio and TFS for web and test projects. I am helping my current team define a plan to start using TFS 2010 and Visual Studio 2012
    to manage our schema and T-SQL code (develop, build, and deploy). I was wondering if there are a set of best pracitices specific to databases with large data volumes on multicoatabase Windows servers. Some of our deployment edge cases involve long running
    data migrations (which we can manage in an ETL tool) and schema upgrades to larger tables. That last one is what I need some guidance on. any guidance on applying ALM best practices to warehouses with larger volumes of data would be greatly appreciated. Thanks.
    Eric Aldinger

    Any ideas for Eric? Is this the right forum?
    Thanks!
    Ed Price (a.k.a User Ed), SQL Server Customer Program Manager (Blog,
    Small Basic,
    Wiki Ninjas,
    Wiki)
    Answer an interesting question?
    Create a wiki article about it!

  • Urgent: ataaching Alter effective date and date track history in toolbar

    hi,
    i am working on forms.i am new to it. i dont know how to attach Alter effective date and date track history in toolbar . Can anyone help me in this.
    Thanks in advance

    Hello,
    I have a similar requirement.
    I want to know that ---- with only template.fmb , can we get some extra icons in the toolbar.
    In Human Resources, Vision Enterprises--> People-->Enter&Maintain Form , there are 4 icons (Alter effective date, Date track history , Info Online, Export Data) extra in the toolbar .
    How can i add these icons in my form with template.fmb?
    Please do help

  • Difference between OLAP, Data Mining and Data Warehousing

    Dear Sirs,
    I am new to the above topics, but I know oracle DBA very well. I would like to move into the above field. Hence, can anyone tell me the basic oracle softwaare used for OLAP, Data Mining and Data warehousing and also in brief the difference between these three.
    I would be great helpfull to me.
    Thanks & Regards,
    Manoj Mathew

    Hi Manoj Mathew,
    Check these links to what Oracle has to say about its own software specific for these topics:
    DataMining (tool is Oracle Data Miner): http://www.oracle.com/technology/products/bi/odm/index.html
    Datawarehousing (tool is OWB): http://www.oracle.com/technology/products/warehouse/index.html
    OLAP (tool = Analytic Workspace Manager): http://www.oracle.com/technology/products/bi/olap/olap.html
    Good luck, Patrick

  • What is the Difference Between Sys Date and Effective Date ??

    Hi Gurus,
    Can any one pls let me know What is the Difference Between Sys Date and Effective Date ??
    with regards
    User600722

    EFFECTIVE DATE usually refers to a date-tracked record (although not exclusively).
    Date-tracked records in Oracle HR have an EFFECTIVE START DATE and an EFFECTIVE END DATE. The record is 'EFFECTIVE' between these dates. In reports, you often use SYSDATE to compare to these two dates to find the CURRENT effective record, e.g. SYSDATE BETWEEN EFFECTIVE START DATE AND EFFECTIVE END DATE.
    When you make changes to a HR record, you can choose between DATE TRACKING options, such as CORRECT or UPDATE (there are others too). CORRECT will overwrite the record and replace the data with your changes. This is normally used when you need to correct something that is wrong. UPDATE will create a new version of the record from the EFFECTIVE START DATE you choose. It will also set the EFFECTIVE END DATE of the previous record to the day before your new record's EFFECTIVE START DATE. That enables a history of records to be maintained so you can see what your data looked like at ay one point in time.
    Regards
    Tim
    Edited by: TimW on Sep 23, 2008 2:37 PM

  • What is the difference between Data Warehousing and Big Data?

    What is the difference between Big Data and
    Data Warehousing? are they the same? similar? if no, then when to use each of them?
    Any link to a paper that describes the difference?!

    Big Data is a term applied to data sets whose size is beyond the ability of commonly used tools to capture, manage and process the data within a tolerable elapsed time. But Data-warehouse is a collection of data marts representing historical data from different
    operations in the company.
    It means Big Data is collection of large data in a particular manner but Data-warehouse collect data from different department of a organization. However Data-warehouse require efficient managing technique. Conceptually these are same only at one factor that
    they collect large amount of information
    For Big Data - You can start researching on HDInsight and for Datawarehouse check MSBI 
    Sandip Pani http://SQLCommitted.com

  • Data warehousing /Business intelligence

    Does anyone have a list of data warehousing /Business intelligence interview questions?
    or can share the Data warehousing/BI interview experience with me?

    I've included links to them.
    Don?t over index your OLTP tables, as every index you add increases the time it takes to perform INSERTS, UPDATES, and DELETES. There is a fine line between having the ideal number
    of indexes (for SELECTs) and the ideal number for data modifications
    Too many indexes on frequently updated (inclusive of inserts, updates and deletes) tables incur extra index maintenance
    overhead. Generally, OLTP database designs should keep the number of indexes to a
    functional minimum, again due to the high volumes of similar transactions combined with the cost of index maintenance.
    Unused indexes incur the cost of index maintenance for inserts, updates, and deletes without benefiting any users. Unused
    indexes should be eliminated. Any index that has been used (by select, update or delete operations) will appear in sys.dm_db_index_usage_stats. Thus, any defined index not included in this DMV has not been used since the last re-start of SQL Server.
    I generally start to get concerned when I see more than about five or six relational indexes on a volatile table. Having too many relational indexes
    has a negative effect on insert, update, and delete performance. Ultimately, it is a judgment call, based on your workload, your hardware and I/O subsystem, and on your experience.
    Standard practices call for indexing strategies in OLTP systems to target an increase in concurrency versus query support; however, more indexes have to be created than is
    desired to reach acceptable query performance. The lower the proportion of write operations is in the system, the higher the level of indexing that can be tolerated, unless the timing of specific write operations is critical ref.http://www.bidn.com/blogs/TomLannen/bidn-blog/2625/indexing-strategies-for-oltp-databases
    Ahsan Kabir Please remember to click Mark as Answer and Vote as Helpful on posts that help you. This can be beneficial to other community members reading the thread. http://www.aktechforum.blogspot.com/

  • How to create a "News" Content area with an effective date

    I have a requirement to create a content area such that each item which is uploaded
    will have an effective viewing date range. I know I can create a custom item type
    and prompt for the Start View Date, and the End View Date.
    Questions...
    1. How do I 'filter' the displayed content so that the 'news' item only show up
    if the current System Date is between the Start/End View dates ?
    2. Exception, the Content Manager should be able to see the entire news content
    items regardless of the system date ?
    Page parameter mapping seems like a partial solution, but I don't see how to
    create the folder filter predicate like "where SYSDATE between view_start and view_end.

    Why not use Publish Date and Expiry Date?

  • SQL-Model-Clause / Example 2    in  Data Warehousing Guide   11G/Chapter 24

    Hi SQL-Experts
    I have a RH 5.7/Oracle 11.2-Environment!
    The sample schemas are installed!
    I executed as in Example 2 in Data Warehousing Guide 11G/Chapter 24:
    CREATE TABLE currency (
       country         VARCHAR2(20),
       year            NUMBER,
       month           NUMBER,
       to_us           NUMBER);
    INSERT INTO currency
    (SELECT distinct
    SUBSTR(country_name,1,20), calendar_year, calendar_month_number, 1
    FROM countries
    CROSS JOIN times t
    WHERE calendar_year IN (2000,2001,2002)
    UPDATE currency set to_us=.74 WHERE country='Canada';and then:
    WITH  prod_sales_mo AS       --Product sales per month for one country
    SELECT country_name c, prod_id p, calendar_year  y,
       calendar_month_number  m, SUM(amount_sold) s
    FROM sales s, customers c, times t, countries cn, promotions p, channels ch
    WHERE  s.promo_id = p.promo_id AND p.promo_total_id = 1 AND
           s.channel_id = ch.channel_id AND ch.channel_total_id = 1 AND
           s.cust_id=c.cust_id  AND
           c.country_id=cn.country_id AND country_name='France' AND
           s.time_id=t.time_id  AND t.calendar_year IN  (2000, 2001,2002)
    GROUP BY cn.country_name, prod_id, calendar_year, calendar_month_number
                        -- Time data used for ensuring that model has all dates
    time_summary AS(  SELECT DISTINCT calendar_year cal_y, calendar_month_number cal_m
      FROM times
      WHERE  calendar_year IN  (2000, 2001, 2002)
                       --START: main query block
    SELECT c, p, y, m, s,  nr FROM (
    SELECT c, p, y, m, s,  nr
    FROM prod_sales_mo s
                       --Use partition outer join to make sure that each combination
                       --of country and product has rows for all month values
      PARTITION BY (s.c, s.p)
         RIGHT OUTER JOIN time_summary ts ON
            (s.m = ts.cal_m
             AND s.y = ts.cal_y
    MODEL
      REFERENCE curr_conversion ON
          (SELECT country, year, month, to_us
          FROM currency)
          DIMENSION BY (country, year y,month m) MEASURES (to_us)
                                    --START: main model
       PARTITION BY (s.c c)
       DIMENSION BY (s.p p, ts.cal_y y, ts.cal_m m)
       MEASURES (s.s s, CAST(NULL AS NUMBER) nr,
                 s.c cc ) --country is used for currency conversion
       RULES (
                          --first rule fills in missing data with average values
          nr[ANY, ANY, ANY]
             = CASE WHEN s[CV(), CV(), CV()] IS NOT NULL
                  THEN s[CV(), CV(), CV()]
                  ELSE ROUND(AVG(s)[CV(), CV(), m BETWEEN 1 AND 12],2)
               END,
                          --second rule calculates projected values for 2002
          nr[ANY, 2002, ANY] = ROUND(
             ((nr[CV(),2001,CV()] - nr[CV(),2000, CV()])
              / nr[CV(),2000, CV()]) * nr[CV(),2001, CV()]
             + nr[CV(),2001, CV()],2),
                          --third rule converts 2002 projections to US dollars
          nr[ANY,y != 2002,ANY]
             = ROUND(nr[CV(),CV(),CV()]
               * curr_conversion.to_us[ cc[CV(),CV(),CV()], CV(y), CV(m)], 2)
    ORDER BY c, p, y, m)
    WHERE y = '2002'
    ORDER BY c, p, y, m;I got the following error:
    ORA-00947: not enough values
    00947. 00000 -  "not enough values"
    *Cause:   
    *Action:
    Error at Line: 39 Column: 83But when I changed the part
    curr_conversion.to_us[ cc[CV(),CV(),CV()], CV(y), CV(m)], 2) of 3.rd Rules to
    curr_conversion.to_us[ cc[CV(),CV(),CV()] || '', CV(y), CV(m)], 2)or
    curr_conversion.to_us[ cc[CV(),CV(),CV()] || null, CV(y), CV(m)], 2)It worked!
    My questions:
    1/Can anyone explain me why it worked and why it didn't work?
    2/Rule 3 has not the same meaning as the comment, Is it an error? Or I misunderstood anything?
    the comment is: third rule converts 2002 projections to US dollars the left side has y != 2002 Thank for any help !
    regards
    hqt200475
    Edited by: hqt200475 on Dec 20, 2012 4:45 AM

    Hi SQL-Experts
    I have a RH 5.7/Oracle 11.2-Environment!
    The sample schemas are installed!
    I executed as in Example 2 in Data Warehousing Guide 11G/Chapter 24:
    CREATE TABLE currency (
       country         VARCHAR2(20),
       year            NUMBER,
       month           NUMBER,
       to_us           NUMBER);
    INSERT INTO currency
    (SELECT distinct
    SUBSTR(country_name,1,20), calendar_year, calendar_month_number, 1
    FROM countries
    CROSS JOIN times t
    WHERE calendar_year IN (2000,2001,2002)
    UPDATE currency set to_us=.74 WHERE country='Canada';and then:
    WITH  prod_sales_mo AS       --Product sales per month for one country
    SELECT country_name c, prod_id p, calendar_year  y,
       calendar_month_number  m, SUM(amount_sold) s
    FROM sales s, customers c, times t, countries cn, promotions p, channels ch
    WHERE  s.promo_id = p.promo_id AND p.promo_total_id = 1 AND
           s.channel_id = ch.channel_id AND ch.channel_total_id = 1 AND
           s.cust_id=c.cust_id  AND
           c.country_id=cn.country_id AND country_name='France' AND
           s.time_id=t.time_id  AND t.calendar_year IN  (2000, 2001,2002)
    GROUP BY cn.country_name, prod_id, calendar_year, calendar_month_number
                        -- Time data used for ensuring that model has all dates
    time_summary AS(  SELECT DISTINCT calendar_year cal_y, calendar_month_number cal_m
      FROM times
      WHERE  calendar_year IN  (2000, 2001, 2002)
                       --START: main query block
    SELECT c, p, y, m, s,  nr FROM (
    SELECT c, p, y, m, s,  nr
    FROM prod_sales_mo s
                       --Use partition outer join to make sure that each combination
                       --of country and product has rows for all month values
      PARTITION BY (s.c, s.p)
         RIGHT OUTER JOIN time_summary ts ON
            (s.m = ts.cal_m
             AND s.y = ts.cal_y
    MODEL
      REFERENCE curr_conversion ON
          (SELECT country, year, month, to_us
          FROM currency)
          DIMENSION BY (country, year y,month m) MEASURES (to_us)
                                    --START: main model
       PARTITION BY (s.c c)
       DIMENSION BY (s.p p, ts.cal_y y, ts.cal_m m)
       MEASURES (s.s s, CAST(NULL AS NUMBER) nr,
                 s.c cc ) --country is used for currency conversion
       RULES (
                          --first rule fills in missing data with average values
          nr[ANY, ANY, ANY]
             = CASE WHEN s[CV(), CV(), CV()] IS NOT NULL
                  THEN s[CV(), CV(), CV()]
                  ELSE ROUND(AVG(s)[CV(), CV(), m BETWEEN 1 AND 12],2)
               END,
                          --second rule calculates projected values for 2002
          nr[ANY, 2002, ANY] = ROUND(
             ((nr[CV(),2001,CV()] - nr[CV(),2000, CV()])
              / nr[CV(),2000, CV()]) * nr[CV(),2001, CV()]
             + nr[CV(),2001, CV()],2),
                          --third rule converts 2002 projections to US dollars
          nr[ANY,y != 2002,ANY]
             = ROUND(nr[CV(),CV(),CV()]
               * curr_conversion.to_us[ cc[CV(),CV(),CV()], CV(y), CV(m)], 2)
    ORDER BY c, p, y, m)
    WHERE y = '2002'
    ORDER BY c, p, y, m;I got the following error:
    ORA-00947: not enough values
    00947. 00000 -  "not enough values"
    *Cause:   
    *Action:
    Error at Line: 39 Column: 83But when I changed the part
    curr_conversion.to_us[ cc[CV(),CV(),CV()], CV(y), CV(m)], 2) of 3.rd Rules to
    curr_conversion.to_us[ cc[CV(),CV(),CV()] || '', CV(y), CV(m)], 2)or
    curr_conversion.to_us[ cc[CV(),CV(),CV()] || null, CV(y), CV(m)], 2)It worked!
    My questions:
    1/Can anyone explain me why it worked and why it didn't work?
    2/Rule 3 has not the same meaning as the comment, Is it an error? Or I misunderstood anything?
    the comment is: third rule converts 2002 projections to US dollars the left side has y != 2002 Thank for any help !
    regards
    hqt200475
    Edited by: hqt200475 on Dec 20, 2012 4:45 AM

  • Table for Job effective date

    Please let me know the table and field for the Effective date the employee moved into the job
    Lisa

    Hi Lisa,
    the fileds BEGDA and ENDDA represent the Effective date and end date of the EE assigned to the Job
    Thanks
    Cheera

Maybe you are looking for

  • Jsp page - java class binding

    Is there any configuration file that binds the jsp page and the java class? I need to replace some jsp pages and their classes in different packages, but the pages cannot find their classes. Does anybody know where/how I can set the appropriate bindi

  • Macpro sluggish

    I purchased a MACPRO in 2006... dual core Intel Xeon 3 ghz processors... upgraded from tiger to snow leopard recently... seemed fine.... couple months later mac feels sluggish... checked service provider... BTW I'm on a Apple airport wireless router.

  • Doubt in enqueue_array functionality

    Hi, I am using enqueue_array function to insert multiple rows in the queue. Payload type is user defined object (obj) containing one attribute: JMS Message. If I create a type (tbl) which is table of obj at the schema level then enqueue_array works p

  • After Effects crashes trying to start

    I just installed After Effects CS4 and it will not load. It crashes every time I try to start it. Some info: WinXp SP2, Matrox RT.X100, Video Card: Matrox Parhelia AGP 256MB, Dual Core 3.2 GHz w/ 4GB RAM. The machine already has CS2 Production Studio

  • Help reqd for a newbie on Oracle App Server 10g

    I installed Oracle 10g Appserver. I have used Websphere, WebLogic and other App servers. But, Iam completely new to Oracle 10g App Server. Can you guys help me how to go about it to deploy an application on Oracle 10g App Server and if any pointers a