UNPIVOT ODI 12 C
Hello world
I am using the function of the operator unpivot on ODI Studio 12 c but I can't create the unpivot transformation. Can someone tell me what I am doing wrong?
Have you seen this example of how to do using UNPIVOT?
https://blogs.Oracle.com/dataintegration/entry/using_the_unpivot_component_in
Tags: Business Intelligence
Similar Questions
-
I do not see Tablefunctions, pivot, unpivot operators in the components of the Assembly a mapping working with ODI 12 c.
I downloaded the latest version of ODI 12 c and I don't see newcomers tablefunction, pivot and operator nupivot lso compenentes when editing a mapping.
Supposedly, I have installed the patch:
p16926420_121200_Generic
p17170540_121200_Generic
p17469061_121200_Generic
On the page, I don't find any other patch to download so I guess I got them all (those that come with the download FULL ODI 12 c)
I have to take measures to allow these components to use?
Hi Sat_M,
These OPatch will be available after the Installation of Enterprise of ODI runs.
See the beginning of this article by Stewart Bryson for more information: http://www.oracle.com/technetwork/articles/datawarehouse/bryson-owb-to-odi-2130001.html
Alternatively you can download it from MOS: https://support.oracle.com/epmos/faces/PatchDetail?patchId=17053768&platformId=2000&releaseId=600000000005691&languageId=0
Kind regards
JeromeFr
-
Hi all
I'm new to ODI.how I do use unpivot in ODI?
My Table of the Source is in the format below
Proaduct Jan Feb Mar
1 2 3 4
I need to transfer this data in format below
Month value of product
1 jan 2
1 Feb 3
1 mar 4
Please help me.
RamaA short solution for you:
You have 4 source columns, 3 columns targets. Source product column would anyway be mapped directly on the target product column. Build 3 interfaces.
The first interface to populate target with "Jan" 2nd column and 3rd column target with the value of the 2nd column of the source.
The first interface to populate target with "Feb" 2nd column and 3rd column target with the value of the 3rd column of the source.
The first interface to populate target with "Mar" 2nd column and 3rd column target with the 4th column source value.All of these interfaces tie in a package and you would get the done UN-pivot. There are solutions that can manage all this in a single interface with much more complicated solutions. If you need about search, search OTN first.
-
How to load data from matrix report in the base using ODI table data
Hello
How to load matrix report data in the base table data using oracle Data Integrator?
Description of the requirement:
This is the data from matrix report:
Need to convert it to the format below:JOB DEPT10 DEPT20 ___________________________ _____________ ANALYST 6000 CLERK 1300 1900
Thank you for your help in advance. Let me know if any other explanation is needed.JOB Dept Salary _____________________________________________ ANALYST DEPT10 ANALYST DEPT20 6000 CLERK DEPT10 1300 CLERK DEPT20 1900
Your list seems to be a bit restrictive, you can do much more with the procedures of ODI.
If you create the new procedure and add a step. In the 'source' tab command you define technology and pattern according to your source database. Use the unpivot operator as described in the link, please, instead of using "SELECT *' use the column names and aliases for example:"
SELECT workstation,
deptsal as deptsal,
saldesc as saledesc
OF pivoted_data
UNPIVOT)
deptsal-<-->-->
FOR saldesc-<-->-->
IN (d10_sal, d20_sal, d30_sal, d40_sal).<-->-->
)Then in your tab 'command on target' defined technology and drawing on your target db, then put your INSERT statement for example:
INSERT INTO job_sales
(employment,
deptsal,
saledesc
)
VALUES
(
: job,.
: deptsal,.
: saledesc
)That's why you use bind variables from source to load data into the target.
Obviously if the source and target table is in the same database, you can have it all in a single statement to the "command on target' as
INSERT INTO job_sales
(employment,
deptsal,
saledesc
)
SELECT workstation,
deptsal as deptsal,
saldesc as saledesc
OF pivoted_data
UNPIVOT)
deptsal-<-->-->
FOR saldesc-<-->-->
IN (d10_sal, d20_sal, d30_sal, d40_sal).<-->-->
)also assign the log count "Insert" on the tab corresponding to your INSERT statement, so that you know how many rows you insert into the table.
I hope this helps.
BUT remember that this feature is out in Oracle 11 g.
-
I have a table of employee data with columns Emp Id, Emp_Hire_Date store.
I have a sequence of database Emp_Seq which is incremented by a value of 1.
All I need to do is just update this table - Emp Id with (value next Seq), Date (Sysdate) whenever I call this table.
How about this one? Help appreciated.
Then, I recommend adding a dummy data store and bind it to your data store target but not map any column of it to the target.
If complaints ODI on the fact that there is no column used from the source, just add target column in the first column and comment. Something like:
: EMP_SEQ_NEXTVAL / *
. * /. That should prompt the ODI Analyzer.
I would like to know if it works.
-
ODI-26174 error when try to turn the Table in the model
Hello
I got a strange error when I try to turn the table in the model.
I created the new user (with subsidies), I created the new physics and logic diagram.
I created new model also. When I try to reverse table I ODI-26174 database connection is not available error
I tried to measure option using RKM reverse .it. But why it has not been reversed by using option Standart?
ava.sql.SQLException: i/o error: the network adapter could not establish the connection
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:133)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
at oracle.odi.core.datasource.dwgobject.support.OnConnectOnDisconnectDataSourceAdapter.getConnection(OnConnectOnDisconnectDataSourceAdapter.java:74)
at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java:1128)
Any Solution for this?
Concerning
AETL
Hi aetl,.
If you open the database server in the physical topology and click 'test connection', is it effective?
If this isn't the case, you must set your connection details, maybe check that the tnsnames.ora is correct and that the network access is ok (including firewalls,...). You can try a tnsping on your database.
Kind regards
JeromeFr
-
Cannot use analytical functions such as lag/lead in odi components 12 c except in the expression
Hi I am a beginner of ODI 12 c
I'm trying to get the last two comments made on the product for a given product id. and load them into a target.
I have a source table something like
Product SR_NO comments LAST_UPDATED_TS
1 good car 2015/05/15 08:30:25
1 car average 2015/05/15 10:30:25
Jeep 2 super 2015/05/15 11:30:25
1 car bad 2015/05/15 11:30:25
Jeep 2 horrible 2015/05/15 09:30:25
Jeep 2 excellent 2015/05/15 12:30:25
I want a target table based on their last timestamp updated as (last two comments)
SR_NO Comment1 Comment2
1 bad average
2 super excellent
I used the logic below to get records in SQL Developer but in ODI 12 c, I'm not able to do this by mapping a source to the target table by applying analytical functions to the columns in the target table. Can someone help me solve this problem
SELECT * FROM)
SELECT SR_NO Comment1, LAG(Comment1,1,) ON Comment2 (SR_NO ORDER BY LAST_UPDATED_TS ASC PARTITION),
ROW_NUMBER() ON RN (SCORE FROM SR_NO ORDER BY LAST_UPDATED_TS DESC)
FROM Source_table
) M
WHERE RN = 1
;
UM, I'm afraid that ODI puts the filter too early in the request, if it generates:
SELECT * FROM)
SELECT SR_NO Comment1, LAG(Comment1,1,) ON Comment2 (SR_NO ORDER BY LAST_UPDATED_TS ASC PARTITION),
ROW_NUMBER() ON RN (SCORE FROM SR_NO ORDER BY LAST_UPDATED_TS DESC)
FROM Source_table
WHERE RN = 1
) M
;
Instead of:
SELECT * FROM)
SELECT SR_NO Comment1, LAG(Comment1,1,) ON Comment2 (SR_NO ORDER BY LAST_UPDATED_TS ASC PARTITION),
ROW_NUMBER() ON RN (SCORE FROM SR_NO ORDER BY LAST_UPDATED_TS DESC)
FROM Source_table
) M
WHERE RN = 1
;
Even by changing the 'run on Hint"of your component of the expression to get there on the source, the request will stay the same.
I think the easiest solution for you is to put everything before the filter in a reusable mapping with a signature of output. Then drag this reusable in your mapping as the new source and check the box "subselect enabled."
Your final mapping should look like this:
It will be useful.
Kind regards
JeromeFr
-
Can anyone provide me with the best documentation (easier to read) to migrate ODI 11.1.1.6.0 one env to another?
I would be very happy!
Hi 983332,
Do you promote your code from one environment to another?
If so, take a look at this presentation and this wayr I wrote some time on this topic.
It will be useful.
Best regards
JeromeFr
-
meaning of ODI API odiRef.getFK ("COMPLEX_SQL")
I want to know what odiRef.getFK("COMPLEX_SQL") value will return.
What are the condition when this value returns a value?
Hello
I think COMPLEX_SQL applies only if the reference (FK) is created from ODI with the type "reference complex user."
The method will return the contents of the tab "expression" for your reference.
It will be useful.
Kind regards
JeromeFr
-
Change the SUPERVISOR password in configuration of the ODI
Hello
I configured an agent in ODI 12 c with the help of a guide in the link below:
Now when J'execute./agent.sh-name = OracleDIAgent1-PORT = 20910 I get an error "ODI-10199: ODI Incorrect username or password" error details is given below:
[oracle@ODIGettingStarted bin] $./agent.sh-NAME = OracleDIAgent1-PORT = 20910
New data source 2016-02-10 06:27:51.461 NOTIFICATION: [OGG_ODI_REPO/***@jdbc:oracle:thin:@//localhost:1521/ORCL]
2016-02-10 06:27:54.030 ODI-1128 NOTIFICATION Agent OracleDIAgent1 begins. Container: AUTONOMOUS. Agent version: 12.1.3 - 17/06/2014. Port: 20910. JMX port: 21910.
What helps: 127.0.0.1,127.0.0.1,127.0.0.1
2016-02-10 06:27:57.975 ERROR ODI - 1131 OracleDIAgent1 Agent encountered an error: ODI-1404: Agent OracleDIAgent1 start failure: an authentication error occurred when connecting to the master repository. Caused by: ODI-10199: ODI Incorrect username or password.
2016-02-10 06:27:57.976 WARNING ODI-1404: Agent OracleDIAgent1 start failure: an authentication error occurred when connecting to the master repository.
Caused by: oracle.odi.core.security.BadCredentialsException: ODI-10199: ODI Incorrect username or password.
2016-02-10 06:27:57.978 unavailable WARNING
2016-02-10 06:27:57.999 ODI-1443 ERROR error when starting agent: ODI-1404: Agent OracleDIAgent1 start failure: an authentication error occurred when connecting to the master repository.
Caused by: oracle.odi.core.security.BadCredentialsException: ODI-10199: ODI Incorrect username or password.
I want to know how I can change the password and solve this problem? Note that I did not password coded for the SUPERVISOR in the ODI server configuration step.
WAQ28 wrote:
Do we need to use the repository work over here password to encode and then put this password in the xml file?
No, it should be the password of the account supervisor created when running the RCU (repository creation utility).
You can change ODI Studio tab if necessary.
-
MS SQL server procedure fails in ODI
Hi Experts,
Try to run the MSSQL of ODI procedure. Successful MSQL connectivity test. But some how I get below error
ODI-1228: Procedure-PROC_IF-PROC_R_ADD of the task fails when you connect target BID_MSSQL.
Caused by: java.sql.SQLException: incorrect syntax [FMWGEN] [SQLServer JDBC Driver] [SQL Server] about ')'.
I write the following on the target as below
Technoloyg: MS server
Command: EXEC R_Add()
I use a syntax wrong here? Please suggest
Concerning
ASP.
Do not use brackets to call the MS SQL procedure, try:
EXEC R_Add;
If you want to pass the user parameter EXEC R_Add @param = value
-
Mapping and creating dynamic interface Odi
Hi gurus,
I received the new requirement on ODI. I don't know that it may be possible.
Here is my requirement.
I'll take 2 tables as follows.
Table1. : do you have the details of source and target as - target Id, name of the source file, the name of the table
ID sourcefilename targettable
--- --------------------- -----------------
1 epm.csv salestable
currency.csv 2 regiontable
Table2: details of column mappings as Id, sourcecolumn (from file), the column target (from table).
ID sourccol trgtcol
--- ------------ ----------
1 ename ename
1 esal esal
1 eid eid
2 countries
2 currency
The package should be as executing package I provide (ID) parameter. ID-based it should choose the table of file name and target source from Table1 and get reversed in ODI, interface must be mapped to the end of the mppings of Table2.
If one can achivable may give some clues please.
Concerning
PrakashV.
PrakashVsalvation,
It is quite doable with Java or Groovy and the ODI SDK.
You can find some examples and the code used on the Oracle blogs:
https://blogs.Oracle.com/warehousebuilder/entry/odi_11g_interface_builder_accelerator
https://blogs.Oracle.com/dataintegration/entry/automating_odi_development_tasks_using
Chantal Mangano also wrote this excellent blog and the code to read the business rules an Excel files and create interfaces: Creating of Interfaces of mapping in the ODIDW team Excel spreadsheets
It should not be too complex for you to change it according to your needs.
It will be useful.
Best regards
JeromeFr
-
Anyone knows under error; or tips on how to get additional information; or how to find exposed as false:
I ODI BIAPPS finance and I get similar errors to 4 steps.
The steps that are errors:
-SILOS_SIL_APTRANSACTIONFACT_REVERSE_DIFFMANLOAD
-SILOS_SIL_ARTRANSACTIONFACT_REVERSE_DIFFMANLOAD
-SILOS_SIL_GLCOGSFACT_REVERSE_DIFFMANLOAD
-SILOS_SIL_GLREVENUEFACT_REVERSE_DIFFMANLOAD
Mistakes are similar for all four.
It is an example of one of them:
Return code 20942
ODI-1217: SILOS_SIL_GLREVENUEFACT_REVERSE_DIFFMANLOAD Session (5777500) fails with return code 20942.
ODI-1226: Exception raised step Diagnostics fail after 1 attempt.
ODI-1232: Diagnostics Exception raise execution fails.
ODI-1228: task Diagnostics raise Exception (procedure) fails on the target of ORACLE BIAPPS_DW connection.
Caused by: java.sql.SQLException: ORA-20942: this task has failed and could not be autocorrected. Please see full ODI operator log for the error message real = > ORA-20942:
ORA-06512: at line 49
to oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462) to oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405) to oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931) to oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481) to oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205) to oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548) to oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217) to oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1115) to oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1488) to oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769) to oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3954) to oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1539) to oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163) to oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102) to oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1) to oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50) to com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2925) to com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2637) to com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577) to com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468) to com.sunopsis.dwg.dbobj.SnpSession.treatSession) SnpSession.java:2093 (oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor) $2.doAction(StartSessRequestProcessor.java:380) to oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216) to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:312) to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$ 0 oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor (StartSessRequestProcessor.java:304) $(StartSessRequestProcessor.java:874) StartSessTask.doExecute to oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:133) to oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$ 2.run(DefaultAgentTaskExecutor.java:84) at java.lang.Thread.run (Thread.java:745))
In studio ODI or console ODI I would identify the stage failed and the code behind it by looking at well as operator and the journal of the session. Usually these errors are low for the code changes or new scenarios of data when the code has not changed for example have you changed interfaces ODI, what version of BI Apps are you using, is it a full charge or incremetnal and was this job before?
Thank you
Roy
-
While performing a mapping (present in the package) that loads the file to table data, my mapping is being failed in the step - LKM file with above mentioned SQL error.
This task is running for 30 candy Mint and loading data about 30 to 40 million for the temporary table of C$ ODI.
Before the completion of the task is to make failure and also C$ table is also get deleted.
Any possible resolution for above mentioned the issue?
Problems have been solved.
In our case, the prefix of all the data store name has been SRC_ so the nickname of all the data store became SRC, and the table name C$ depends on the daatastore Alias.
So for executing two mapping tables $ CAN have been getting dropped by other mapping due to the same table name $ CAN.
Change the Alias name giving it a unique name solve the problem.
-
How to skip execution of scenarios in an ODI package
Hello
I have a package ODI containing interfaces ODI, ODI procedures scenarios... I want to jump a particular scenario in the executing package. Is it possible to ignore a particular scenario.
Thank you
Karim
Hello
You can change next run after successful treatment.
Maybe you are looking for
-
My Macbook Pro won't let me put my password, after it has been locked in icloud
Hello. I have a Macbook pro to the end of 2013. I locked using icloud with a four-digit code. I forgot the code and had several attempts trying to remember her and now I think I found it, but it won't let me put the code in another attempt. the messa
-
After trying to hotsync over bluetooth on the new laptop with Windows 7 w / TungstenE2 and failure (serial port used by another application); I downloaded the new 64-bit drivers provided in this message section. Problem now: no link could be establi
-
Aspire 9805 - no graphics but messages very well
So my 9805 sucks old but formerly robust was blowing only fine until this morning. The unit displayed in the bios then frozen. After checking everything I finally seeded and redefined the RAM, cmos (disconnected the cmos battery and reconnected in)
-
I'm not able to install a hp psc 1610 all in one Windows xp on one of my computer. Once I plug the Hardware Wizard take control and finally Miss installationI do installation even on my second computer and done everything very well. I don't know what
-
Rounding to the double rounded Excel @MRound possible?
HelloEssbase to round to a repeated sense that mimics Excel how MRound?Example 1 ExcelMRound (.375,.25)MRound result:.50Example 2 ExcelMRound (.374,.25)MRound result:.25In any case do that in Essbase?