It is also worth noting that having good naming conventions can really help with navigating the ETL repository. For example all of our interfaces are prefixed with INF_%, and Packages with PKG_%. We also have naming conventions for loading Staging, Dimensions, and Facts, etc.
Below are the steps to bring ODI ETL statistics into OBIEE
Metadata
- Connect to ODI Work Repository to an OBIEE Subject Area and Expose SNP_STEP_REPORT and SNP_EXP_TXT tables to metadata.
Once the physical schema is brought in you will want to rename the columns to something more meaningful. The only column that needs further definition is the decode statement for STEP_STATUS (Status). These can also be found in the ODI Documentation Substitution Methods Reference.
'D' = Success''E' = 'Error''Q' = 'Queued''W' = 'Waiting''M' = 'Warning'
Join SNP_STEP_REPORT and SNP_EXP_TEXT on I_TXT_STEP_MESS = I_TXT. This is the join for the error message text and will display the corresponding error message with the user clicks on the error id.
Dashboard
We created a dashboard for our client with the following elements.
- Last ETL Run date
- Past 5 Days execution time
- Number of Errors
- Past 24 hour execution log
Reports
Past 5 Days Execution Time (in Hours) - High level ETL execution time.
- Sum Duration / 3600 and group by date.
- View every scenario that ran in the past 24 hours.
- Conditional Formatting
- WHEN Status = Success then Green Background
- WHEN Status <> Success then Red Background
- Drill Through
- Interface name to display all executions for this Interface – Drills to All Executions Per Interface
- Error ID to display any error message for this interface - Drills to Interfaces Error Message
All executions per Interface
- This is used so you can see all the executions over its life for a specific scenario, particularly useful to compare with previous runtimes.
- Drills from Past 24 hour log based on scenario name
Interfaces Error Message
- View error message when status is “Error” and background is Red
- Drills from Past 24 hour log based on error message text id
Number of Errors
- Stoplight to display error counts
- SUM(CASE WHEN Status = 'E' THEN 1 ELSE 0 END) Group by Date
- Result Type = Gauge and Gauge Type = Bulb.
Displaying Last ETL Run Time
- MAX( CASE WHEN Status= 'D' Then End_Time) and Scenario Name is equal to / is in [your last ETL step]
- Set a Narrative Text
If you have question or comments, leave a comment below.
Hi,
ReplyDeleteI checked my SNP_STEP_REPORT table and I found the column I_TXT_STEP_MESSAGE is null. I do not know how the column will be populated. I am trying to work on reporting from ODI operator but I am unable to do it. If you can can you provide me the SQL for the reporting so that I can get the stats for the logs.
Thanks!
KV :-)
The I_TXT_STEP_MESSAGE is only populated when there is an error in ODI. The NULLs caused a bit of a problem because it limits results when using an inner join. The way I chose to display this to users was not to include the error message in the results directly. Instead I just displayed the error message ID and created a navigation to the error report based on the ID. Hope that helps some.
ReplyDeleteIt works...Thanks!! KV :-)
ReplyDeleteThanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area. same as your blog i found another one Oracle ODI 12c .Actually I was looking for the same information on internet for Oracle ODI and came across your blog. I am impressed by the information that you have on this blog. Thanks once more for all the details.
ReplyDelete