SlideShare una empresa de Scribd logo
1 de 32
Roderick  N. Lee ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[email_address] http://www.linkedin.com/in/RoderickNLee (714) 893 8727 H (714) 785 8479 M
Table of Contents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Technical Strengths ,[object Object],[object Object]
ETL ,[object Object],[object Object],[object Object],[object Object]
ETL – Master Control Flow Master control flow populating a small staging database (example using SSIS)   It consists of an ETL container calling a set of related external packages utilizing the  Execute Package  functionality in SSIS, and a series of administrative tasks:  backup, database shrink,  and  index rebuild Each administrative task has a failure  e-mail notification  along with a final Success task for the entire package
ETL – Package Container Zoom into the package container The process for populating the staging database demonstrates the dependencies between the different dimensional hierarchies. For example, the timesheet load requires both the employee and project loads as prerequisites before it can execute.
ETL – Employee Data Flow Sample Data Flow: Employees In the event of truncation, the process writes these cases to a warning file before reintegrating them into the main flow. The employee data sources from a CSV flatfile and checks for a truncation issue on a new derived column, the full name (consisting of first name appended to last name).
ETL – Employee Data Flow Employee Data Flow (continued)   Following the truncation check, the data flow looks up the existing employee table to determine if a given input will be an insert or an update (or an error).
ETL – Timesheets Control Flow This one uses a loop container to read multiple timesheet inputs from the same directory before sending off either a success or failure e-mail notification. Another control flow in the same package
ETL – Slowly Changing Dimensions CDC for Slowly Changing Dimension This example, implementing Change Data Capture, utilizes a Slowly Changing Dimension transform to sort out inserts and updates. Note, the source table for this data flow is the CDC table Another example from a different package for Change Data Capture
ETL – Manual “Hand Coding” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ETL – Oracle PL/SQL Clickstream Data Warehouse Source is a Web traffic transactional system.  Databases are not linked, so ETL is a combination of Oracle Import/Export (into a staging database) and PL/SQL Packages and Stored Procedures.  This procedure calculates several daily clickstream statistics. procedure  p_clicks_daily_sum  ( p_day_ID  in   number ) is [...] cursor  c_pages_per_hour  is select   min(count( click_ID ))  min_cnt_clicks , max(count( click_ID ))  max_cnt_clicks , min(count(distinct  URL ))  min_cnt_unique_page , max(count(distinct  URL ))  max_cnt_unique_page , sum(count(distinct  URL ))   /  cn_hours_per_day  mean_uq_page_viewed_cnt from  com_daily_ssn_details cdsd where  com_ID  =  v_com_ID and  click_day_ID  =  p_day_ID group by  click_hour ; Cursor illustrates several calculations for the daily clickstream statistics
ETL – Oracle PL/SQL Daily Clicks Summary Process employs a cursor loop to load the daily clickstream facts by community ID (the top-level dimension) and time begin v_cal_date  :=  mat_stage . get_calendar_date ( p_day_ID ); for  r_com  in  c_communities  loop [...] begin insert into  clicks_daily_sum values (  p_day_ID ,  r_com . com_ID ,  f_get_partition_key ( v_cal_date ) ,  v_min_cnt_clicks ,  v_max_cnt_clicks ,  v_min_cnt_unique_page ,  v_max_cnt_unique_page ,  v_mean_uq_page_viewed_cnt ,  [more columns...] ,  sysdate ); exception when others then DWH . DWH_process . write_errors ( parameters ); end; end loop; end  p_clicks_daily_sum ; (continued)
[object Object],[object Object],[object Object],Data Warehousing and OLAP Analysis Warehouse Implementation and Design in Oracle, SQL Server, Informix and MySQL
Analysis Services The staging database that serves as the data source for the OLAP cube, a result of the preceding SSIS example. The model has five dimensional hierarchies and four fact tables.
Analysis Services OLAP Cube Design This screenshot illustrates the relationships between the five dimensional hierarchies and four fact tables
Analysis Services Calculations and KPIs The calculated member and KPI design tabs Both images highlight the detail behind the KPI for Overhead as a Percentage of Total Cost
Analysis Services – KPI The end result, using Excel as the reporting client, demonstrating Overhead as a Percentage of Total Cost by Jobs
[object Object],[object Object],[object Object],[object Object],[object Object],Business Intelligence: Query and Reporting (examples follow) (examples follow)
Report Design Overhead Category Report (example using SSRS)   The two extra datasets calculate the previous quarter and set the default to the most recent quarter. Note, as this is overhead, negative values for percentage change are good (black) and positive values are bad ( red ).
Simple Tabular Report Overhead Category Report (continued)   Basic report showing current and previous quarter’s overhead and the percentage change, accepting the current quarter as an input parameter. Also shows the use of a SharePoint site collection as the distribution medium.
Dashboard Design PerformancePoint Server Dashboard Designer Scorecard with two KPIs, including the same Overhead Percentage as earlier Dashboard design, showing a single filter that links to the scorecard on the left.  The Financials scorecard is in the right zone and does not use the filter.
Scorecard Dashboard The final result Again, the distribution medium is SharePoint
Analytic Dashboard Employee Labor Analysis Second example showing both an analytic chart and grid on the same dashboard page. Note, the dual Y-axes that the chart utilizes.
SharePoint Web Part Job Profitability Another dual axis example, this one using Excel Services to display the chart in SharePoint and an Analysis Services Web Part filter
Software Development ,[object Object],[object Object],[object Object],Code Samples:
Oracle Application Server Web Content Management Mock-up of primary page lists all items for each content area of the website procedure  magazine_list (  [parameter list]  ) is begin -- Piece the dynamic query together. v_query  :=  v_select || v_where || v_ord_grp ; open  c_pages  for  v_query ; fetch  c_pages  into  v_resultset(v_resultset. count +1) ; while   not  c_pages % NOTFOUND  loop fetch  c_pages  into  v_resultset(v_resultset. count +1) ; end loop; v_row_count  :=  DBMS_SQL . last_row_count ; close  c_pages ;
Oracle Application Server -- Build the html frame.  (does not include the navigation frame) htp.p  ( ' <html> <head> <title>Untitled Document</title> <meta http-equiv=&quot;Content-Type“ content=&quot;text/html&quot;> <script language=&quot;JavaScript&quot;> [...]  ‘ ); for  i  in  v_first_result .. least ( v_last_result ,  v_resultset. count )   loop htp.p ( ‘<tr> <td>'  || v_title ||  '</td> <td class=“list_item&quot;>'  || v_resultset ( i ). ID ||  '</td> <td class=“list_item&quot;>'  || to_char ( v_resultset ( i ). start_date,  'fmmm/dd/yyyy' ) ||  '</td> <td class=“list_item&quot;>'  || to_char ( v_resultset ( i ). end_date,  'fmmm/dd/yyyy' ) ||  '</td> <td class=“list_item&quot;>'  || v_edit_pvw_del ||  '</td> </tr>‘ ); end loop; end  magazine_list ; Web Content Management (continued)
Oracle Application Server procedure  nav_load_and_save_content_mag (  p_graphics_path in varchar2  :=  cn_graphics_path  )   is begin htp.p (' function load_content() { isSelected(''content''); final_form = document.final_page; contentform = top.contentFrame.document.content; for (i=0; i < author_list.length; i++) {   contentform.author.options[contentform.author.options.length] = author_list[i]; } preload_select(contentform.author, final_form.P_PGE_CMEM_ID.value); contentform.leadin.value = final_form.P_PGE_LEAD_IN.value; contentform.body.value = final_form.P_PGE_BODY.value; } Web Content Management – Edit Content The actual content management utility employs Javascript to load content text and related data into static HTML subpages
Oracle Application Server function save_content(direction) { final_form = document.final_page; contentform = top.contentFrame.document.content; if (get_selected(contentform.author)!=&quot;&quot;)   document.content_change.src=''‘  || p_graphics_path ||  'stus_yes.gif''; else   document.content_change.src=''‘  || p_graphics_path ||  'stus_no.gif''; final_form.P_PGE_CMEM_ID.value = get_selected(contentform.author); final_form.P_PGE_LEAD_IN.value = contentform.leadin.value; rawText = contentform.body.value; encodedText = &quot;&quot;; if (contentform.leadin.value.length >1990) {   alert(&quot;The lead-in text area cannot handle more than 2000 characters.Please reduce its size.&quot;);   return false; } final_form.P_PGE_BODY.value = encodedText; save_redirect(direction); }' ); end; Web Content Management – Edit Content (continued)
Perl sub a1 { print &quot;<table border='1' bordercolor='#FFFFFF' cellspacing='0' cellpadding='2'>&quot;; [header items] print &quot;</table>&quot;; […] my $sth3 = $dbh->prepare(' SELECT date_id, SUM( registrations ), SUM( ath ), SUM( listeners ), SUM( sessions ), SUM( ads_served ), SUM( ads_missed ) FROM a1  WHERE MONTH(date_ID)= ? AND YEAR(date_ID)= ?  GROUP by date_ID  ORDER by date_ID DESC') or die &quot;Couldn't prepare statement: &quot; . $dbh->errstr; Perl CGI Report Delivery for Web Streaming Advertising Note, the $dbh handle indicating the use of the DBI module to handle database agnostic SQL functionality
Perl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Perl CGI Report Delivery (continued)

Más contenido relacionado

La actualidad más candente

Tony Von Gusmann & MS BI
Tony Von Gusmann & MS BITony Von Gusmann & MS BI
Tony Von Gusmann & MS BIvongusmann
 
Bi Ppt Portfolio Elmer Donavan
Bi Ppt Portfolio  Elmer DonavanBi Ppt Portfolio  Elmer Donavan
Bi Ppt Portfolio Elmer DonavanEJDonavan
 
Upload images in to sap hana
Upload images in to sap hanaUpload images in to sap hana
Upload images in to sap hanaGeetha Madhuri
 
Rodney Matejek Portfolio
Rodney Matejek PortfolioRodney Matejek Portfolio
Rodney Matejek Portfoliormatejek
 
SSRS - PPS - MOSS Profile
SSRS - PPS - MOSS ProfileSSRS - PPS - MOSS Profile
SSRS - PPS - MOSS Profiletthompson0421
 
Informatica overview
Informatica overviewInformatica overview
Informatica overviewSwetha Naveen
 
BI WEBI with HANA End User Material
BI WEBI with HANA End User MaterialBI WEBI with HANA End User Material
BI WEBI with HANA End User MaterialKishore Chaganti
 
Business Intelligence Technology Presentation
Business Intelligence Technology PresentationBusiness Intelligence Technology Presentation
Business Intelligence Technology PresentationJohn Paredes
 
William Schaffrans Bus Intelligence Portfolio
William Schaffrans Bus Intelligence PortfolioWilliam Schaffrans Bus Intelligence Portfolio
William Schaffrans Bus Intelligence Portfoliowschaffr
 
BI Publisher Data model design document
BI Publisher Data model design documentBI Publisher Data model design document
BI Publisher Data model design documentadivasoft
 
XMLPublisher
XMLPublisherXMLPublisher
XMLPublisherJAYAARC
 
Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...
Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...
Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...Flink Forward
 
MMYERS Portfolio
MMYERS PortfolioMMYERS Portfolio
MMYERS PortfolioMike Myers
 
Best Implementation Practices with BI Publisher
Best Implementation Practices with BI PublisherBest Implementation Practices with BI Publisher
Best Implementation Practices with BI PublisherMohan Dutt
 

La actualidad más candente (20)

Tony Von Gusmann & MS BI
Tony Von Gusmann & MS BITony Von Gusmann & MS BI
Tony Von Gusmann & MS BI
 
Bi Portfolio
Bi PortfolioBi Portfolio
Bi Portfolio
 
TABLEAU for Beginners
TABLEAU for BeginnersTABLEAU for Beginners
TABLEAU for Beginners
 
Abap faq
Abap faqAbap faq
Abap faq
 
Bi Ppt Portfolio Elmer Donavan
Bi Ppt Portfolio  Elmer DonavanBi Ppt Portfolio  Elmer Donavan
Bi Ppt Portfolio Elmer Donavan
 
Upload images in to sap hana
Upload images in to sap hanaUpload images in to sap hana
Upload images in to sap hana
 
Rodney Matejek Portfolio
Rodney Matejek PortfolioRodney Matejek Portfolio
Rodney Matejek Portfolio
 
SSRS - PPS - MOSS Profile
SSRS - PPS - MOSS ProfileSSRS - PPS - MOSS Profile
SSRS - PPS - MOSS Profile
 
Reports 6i
Reports 6iReports 6i
Reports 6i
 
Informatica overview
Informatica overviewInformatica overview
Informatica overview
 
BI WEBI with HANA End User Material
BI WEBI with HANA End User MaterialBI WEBI with HANA End User Material
BI WEBI with HANA End User Material
 
Business Intelligence Technology Presentation
Business Intelligence Technology PresentationBusiness Intelligence Technology Presentation
Business Intelligence Technology Presentation
 
William Schaffrans Bus Intelligence Portfolio
William Schaffrans Bus Intelligence PortfolioWilliam Schaffrans Bus Intelligence Portfolio
William Schaffrans Bus Intelligence Portfolio
 
BI Publisher Data model design document
BI Publisher Data model design documentBI Publisher Data model design document
BI Publisher Data model design document
 
Sap business objects bobi training
Sap business objects bobi trainingSap business objects bobi training
Sap business objects bobi training
 
XMLPublisher
XMLPublisherXMLPublisher
XMLPublisher
 
Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...
Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...
Flink Forward San Francisco 2019: Build a Table-centric Apache Flink Ecosyste...
 
MMYERS Portfolio
MMYERS PortfolioMMYERS Portfolio
MMYERS Portfolio
 
Best Implementation Practices with BI Publisher
Best Implementation Practices with BI PublisherBest Implementation Practices with BI Publisher
Best Implementation Practices with BI Publisher
 
Sap hana modelling online training
Sap hana modelling online trainingSap hana modelling online training
Sap hana modelling online training
 

Destacado

An introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineAn introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineKrishnakumar S
 
How to configure SQL Server like a pro
How to configure SQL Server like a proHow to configure SQL Server like a pro
How to configure SQL Server like a proSolarWinds
 
Sql Server 2014 In Memory
Sql Server 2014 In MemorySql Server 2014 In Memory
Sql Server 2014 In MemoryRavi Okade
 
SQL 2012: Indirect checkpointing
SQL 2012: Indirect checkpointingSQL 2012: Indirect checkpointing
SQL 2012: Indirect checkpointingPARIKSHIT SAVJANI
 
SQL Track: In Memory OLTP in SQL Server
SQL Track: In Memory OLTP in SQL ServerSQL Track: In Memory OLTP in SQL Server
SQL Track: In Memory OLTP in SQL ServerITProceed
 
Sql server 2012 AlwaysOn
Sql server 2012 AlwaysOnSql server 2012 AlwaysOn
Sql server 2012 AlwaysOnWarwick Rudd
 
SQL Server Optimization Checklist
SQL Server Optimization ChecklistSQL Server Optimization Checklist
SQL Server Optimization ChecklistGrant Fritchey
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyAntonios Chatzipavlis
 
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Victor Holman
 
Date warehousing concepts
Date warehousing conceptsDate warehousing concepts
Date warehousing conceptspcherukumalla
 
SQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability GroupsSQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability GroupsEdwin M Sarmiento
 
Security of the database
Security of the databaseSecurity of the database
Security of the databasePratik Tamgadge
 
Using extended events for troubleshooting sql server
Using extended events for troubleshooting sql serverUsing extended events for troubleshooting sql server
Using extended events for troubleshooting sql serverAntonios Chatzipavlis
 
Sql server performance tuning and optimization
Sql server performance tuning and optimizationSql server performance tuning and optimization
Sql server performance tuning and optimizationManish Rawat
 
Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Antonios Chatzipavlis
 
BI Reporting Application Comparison
BI Reporting Application ComparisonBI Reporting Application Comparison
BI Reporting Application ComparisonScott Mitchell
 

Destacado (20)

An introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP EngineAn introduction to SQL Server in-memory OLTP Engine
An introduction to SQL Server in-memory OLTP Engine
 
How to configure SQL Server like a pro
How to configure SQL Server like a proHow to configure SQL Server like a pro
How to configure SQL Server like a pro
 
Sql Server 2014 In Memory
Sql Server 2014 In MemorySql Server 2014 In Memory
Sql Server 2014 In Memory
 
SQL 2012: Indirect checkpointing
SQL 2012: Indirect checkpointingSQL 2012: Indirect checkpointing
SQL 2012: Indirect checkpointing
 
SQL Track: In Memory OLTP in SQL Server
SQL Track: In Memory OLTP in SQL ServerSQL Track: In Memory OLTP in SQL Server
SQL Track: In Memory OLTP in SQL Server
 
Sql server 2012 AlwaysOn
Sql server 2012 AlwaysOnSql server 2012 AlwaysOn
Sql server 2012 AlwaysOn
 
Database security
Database securityDatabase security
Database security
 
SQL Server Optimization Checklist
SQL Server Optimization ChecklistSQL Server Optimization Checklist
SQL Server Optimization Checklist
 
Pre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctlyPre and post tips to installing sql server correctly
Pre and post tips to installing sql server correctly
 
Troubleshooting sql server
Troubleshooting sql serverTroubleshooting sql server
Troubleshooting sql server
 
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
 
Date warehousing concepts
Date warehousing conceptsDate warehousing concepts
Date warehousing concepts
 
Database Security
Database SecurityDatabase Security
Database Security
 
SQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability GroupsSQL Server 2012 High Availability with AlwaysOn Availability Groups
SQL Server 2012 High Availability with AlwaysOn Availability Groups
 
Security of the database
Security of the databaseSecurity of the database
Security of the database
 
Using extended events for troubleshooting sql server
Using extended events for troubleshooting sql serverUsing extended events for troubleshooting sql server
Using extended events for troubleshooting sql server
 
Sql server performance tuning and optimization
Sql server performance tuning and optimizationSql server performance tuning and optimization
Sql server performance tuning and optimization
 
Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014Columnstore indexes in sql server 2014
Columnstore indexes in sql server 2014
 
Database Security
Database SecurityDatabase Security
Database Security
 
BI Reporting Application Comparison
BI Reporting Application ComparisonBI Reporting Application Comparison
BI Reporting Application Comparison
 

Similar a Skills Portfolio

Business Intelligence Portfolio 2003
Business Intelligence Portfolio 2003Business Intelligence Portfolio 2003
Business Intelligence Portfolio 2003troylrockwell
 
Dan Querimit - BI Portfolio
Dan Querimit - BI PortfolioDan Querimit - BI Portfolio
Dan Querimit - BI Portfolioquerimit
 
Should ETL Become Obsolete
Should ETL Become ObsoleteShould ETL Become Obsolete
Should ETL Become ObsoleteJerald Burget
 
ReportsDashboardsSql_hbli
ReportsDashboardsSql_hbliReportsDashboardsSql_hbli
ReportsDashboardsSql_hbliHong-Bing Li
 
ReportsDashboardsSql_hbli
ReportsDashboardsSql_hbliReportsDashboardsSql_hbli
ReportsDashboardsSql_hbliHong-Bing Li
 
Reports Dashboards SQL Demo
Reports Dashboards SQL DemoReports Dashboards SQL Demo
Reports Dashboards SQL DemoHong-Bing Li
 
Reports Dashboards ETL SQL_HBLI
Reports Dashboards ETL SQL_HBLIReports Dashboards ETL SQL_HBLI
Reports Dashboards ETL SQL_HBLIHong-Bing Li
 
ReportsDashboardsSQLDemoHBLI
ReportsDashboardsSQLDemoHBLIReportsDashboardsSQLDemoHBLI
ReportsDashboardsSQLDemoHBLIHong-Bing Li
 
Reports Dashboards SQL SSIS Demo
Reports Dashboards SQL SSIS DemoReports Dashboards SQL SSIS Demo
Reports Dashboards SQL SSIS DemoHong-Bing Li
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesEduardo Castro
 
Ca 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood PortfolioCa 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood PortfolioJohn_Buickerood
 
Kevin Fahy Bi Portfolio
Kevin Fahy   Bi PortfolioKevin Fahy   Bi Portfolio
Kevin Fahy Bi PortfolioKevinPFahy
 
Bi Architecture And Conceptual Framework
Bi Architecture And Conceptual FrameworkBi Architecture And Conceptual Framework
Bi Architecture And Conceptual FrameworkSlava Kokaev
 
Bi Dw Presentation
Bi Dw PresentationBi Dw Presentation
Bi Dw Presentationvickyc
 
Datawarehousing & DSS
Datawarehousing & DSSDatawarehousing & DSS
Datawarehousing & DSSDeepali Raut
 
Project Portfolio
Project PortfolioProject Portfolio
Project PortfolioArthur Chan
 
Scalable, Fast Analytics with Graph - Why and How
Scalable, Fast Analytics with Graph - Why and HowScalable, Fast Analytics with Graph - Why and How
Scalable, Fast Analytics with Graph - Why and HowCambridge Semantics
 
SQL Server 2008 Portfolio for Saumya Bhatnagar
SQL Server 2008 Portfolio for Saumya BhatnagarSQL Server 2008 Portfolio for Saumya Bhatnagar
SQL Server 2008 Portfolio for Saumya Bhatnagarsammykb
 
Sql query analyzer & maintenance
Sql query analyzer & maintenanceSql query analyzer & maintenance
Sql query analyzer & maintenancenspyrenet
 

Similar a Skills Portfolio (20)

Business Intelligence Portfolio 2003
Business Intelligence Portfolio 2003Business Intelligence Portfolio 2003
Business Intelligence Portfolio 2003
 
Dan Querimit - BI Portfolio
Dan Querimit - BI PortfolioDan Querimit - BI Portfolio
Dan Querimit - BI Portfolio
 
Should ETL Become Obsolete
Should ETL Become ObsoleteShould ETL Become Obsolete
Should ETL Become Obsolete
 
ReportsDashboardsSql_hbli
ReportsDashboardsSql_hbliReportsDashboardsSql_hbli
ReportsDashboardsSql_hbli
 
ReportsDashboardsSql_hbli
ReportsDashboardsSql_hbliReportsDashboardsSql_hbli
ReportsDashboardsSql_hbli
 
Reports Dashboards SQL Demo
Reports Dashboards SQL DemoReports Dashboards SQL Demo
Reports Dashboards SQL Demo
 
Reports Dashboards ETL SQL_HBLI
Reports Dashboards ETL SQL_HBLIReports Dashboards ETL SQL_HBLI
Reports Dashboards ETL SQL_HBLI
 
ReportsDashboardsSQLDemoHBLI
ReportsDashboardsSQLDemoHBLIReportsDashboardsSQLDemoHBLI
ReportsDashboardsSQLDemoHBLI
 
Reports Dashboards SQL SSIS Demo
Reports Dashboards SQL SSIS DemoReports Dashboards SQL SSIS Demo
Reports Dashboards SQL SSIS Demo
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
 
Ca 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood PortfolioCa 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood Portfolio
 
Kevin Fahy Bi Portfolio
Kevin Fahy   Bi PortfolioKevin Fahy   Bi Portfolio
Kevin Fahy Bi Portfolio
 
Bi Architecture And Conceptual Framework
Bi Architecture And Conceptual FrameworkBi Architecture And Conceptual Framework
Bi Architecture And Conceptual Framework
 
Bi Dw Presentation
Bi Dw PresentationBi Dw Presentation
Bi Dw Presentation
 
Datawarehousing & DSS
Datawarehousing & DSSDatawarehousing & DSS
Datawarehousing & DSS
 
Project Portfolio
Project PortfolioProject Portfolio
Project Portfolio
 
Scalable, Fast Analytics with Graph - Why and How
Scalable, Fast Analytics with Graph - Why and HowScalable, Fast Analytics with Graph - Why and How
Scalable, Fast Analytics with Graph - Why and How
 
Gowthami_Resume
Gowthami_ResumeGowthami_Resume
Gowthami_Resume
 
SQL Server 2008 Portfolio for Saumya Bhatnagar
SQL Server 2008 Portfolio for Saumya BhatnagarSQL Server 2008 Portfolio for Saumya Bhatnagar
SQL Server 2008 Portfolio for Saumya Bhatnagar
 
Sql query analyzer & maintenance
Sql query analyzer & maintenanceSql query analyzer & maintenance
Sql query analyzer & maintenance
 

Skills Portfolio

  • 1.
  • 2.
  • 3.
  • 4.
  • 5. ETL – Master Control Flow Master control flow populating a small staging database (example using SSIS) It consists of an ETL container calling a set of related external packages utilizing the Execute Package functionality in SSIS, and a series of administrative tasks: backup, database shrink, and index rebuild Each administrative task has a failure e-mail notification along with a final Success task for the entire package
  • 6. ETL – Package Container Zoom into the package container The process for populating the staging database demonstrates the dependencies between the different dimensional hierarchies. For example, the timesheet load requires both the employee and project loads as prerequisites before it can execute.
  • 7. ETL – Employee Data Flow Sample Data Flow: Employees In the event of truncation, the process writes these cases to a warning file before reintegrating them into the main flow. The employee data sources from a CSV flatfile and checks for a truncation issue on a new derived column, the full name (consisting of first name appended to last name).
  • 8. ETL – Employee Data Flow Employee Data Flow (continued) Following the truncation check, the data flow looks up the existing employee table to determine if a given input will be an insert or an update (or an error).
  • 9. ETL – Timesheets Control Flow This one uses a loop container to read multiple timesheet inputs from the same directory before sending off either a success or failure e-mail notification. Another control flow in the same package
  • 10. ETL – Slowly Changing Dimensions CDC for Slowly Changing Dimension This example, implementing Change Data Capture, utilizes a Slowly Changing Dimension transform to sort out inserts and updates. Note, the source table for this data flow is the CDC table Another example from a different package for Change Data Capture
  • 11.
  • 12. ETL – Oracle PL/SQL Clickstream Data Warehouse Source is a Web traffic transactional system. Databases are not linked, so ETL is a combination of Oracle Import/Export (into a staging database) and PL/SQL Packages and Stored Procedures. This procedure calculates several daily clickstream statistics. procedure p_clicks_daily_sum ( p_day_ID in number ) is [...] cursor c_pages_per_hour is select min(count( click_ID )) min_cnt_clicks , max(count( click_ID )) max_cnt_clicks , min(count(distinct URL )) min_cnt_unique_page , max(count(distinct URL )) max_cnt_unique_page , sum(count(distinct URL )) / cn_hours_per_day mean_uq_page_viewed_cnt from com_daily_ssn_details cdsd where com_ID = v_com_ID and click_day_ID = p_day_ID group by click_hour ; Cursor illustrates several calculations for the daily clickstream statistics
  • 13. ETL – Oracle PL/SQL Daily Clicks Summary Process employs a cursor loop to load the daily clickstream facts by community ID (the top-level dimension) and time begin v_cal_date := mat_stage . get_calendar_date ( p_day_ID ); for r_com in c_communities loop [...] begin insert into clicks_daily_sum values ( p_day_ID , r_com . com_ID , f_get_partition_key ( v_cal_date ) , v_min_cnt_clicks , v_max_cnt_clicks , v_min_cnt_unique_page , v_max_cnt_unique_page , v_mean_uq_page_viewed_cnt , [more columns...] , sysdate ); exception when others then DWH . DWH_process . write_errors ( parameters ); end; end loop; end p_clicks_daily_sum ; (continued)
  • 14.
  • 15. Analysis Services The staging database that serves as the data source for the OLAP cube, a result of the preceding SSIS example. The model has five dimensional hierarchies and four fact tables.
  • 16. Analysis Services OLAP Cube Design This screenshot illustrates the relationships between the five dimensional hierarchies and four fact tables
  • 17. Analysis Services Calculations and KPIs The calculated member and KPI design tabs Both images highlight the detail behind the KPI for Overhead as a Percentage of Total Cost
  • 18. Analysis Services – KPI The end result, using Excel as the reporting client, demonstrating Overhead as a Percentage of Total Cost by Jobs
  • 19.
  • 20. Report Design Overhead Category Report (example using SSRS) The two extra datasets calculate the previous quarter and set the default to the most recent quarter. Note, as this is overhead, negative values for percentage change are good (black) and positive values are bad ( red ).
  • 21. Simple Tabular Report Overhead Category Report (continued) Basic report showing current and previous quarter’s overhead and the percentage change, accepting the current quarter as an input parameter. Also shows the use of a SharePoint site collection as the distribution medium.
  • 22. Dashboard Design PerformancePoint Server Dashboard Designer Scorecard with two KPIs, including the same Overhead Percentage as earlier Dashboard design, showing a single filter that links to the scorecard on the left. The Financials scorecard is in the right zone and does not use the filter.
  • 23. Scorecard Dashboard The final result Again, the distribution medium is SharePoint
  • 24. Analytic Dashboard Employee Labor Analysis Second example showing both an analytic chart and grid on the same dashboard page. Note, the dual Y-axes that the chart utilizes.
  • 25. SharePoint Web Part Job Profitability Another dual axis example, this one using Excel Services to display the chart in SharePoint and an Analysis Services Web Part filter
  • 26.
  • 27. Oracle Application Server Web Content Management Mock-up of primary page lists all items for each content area of the website procedure magazine_list ( [parameter list] ) is begin -- Piece the dynamic query together. v_query := v_select || v_where || v_ord_grp ; open c_pages for v_query ; fetch c_pages into v_resultset(v_resultset. count +1) ; while not c_pages % NOTFOUND loop fetch c_pages into v_resultset(v_resultset. count +1) ; end loop; v_row_count := DBMS_SQL . last_row_count ; close c_pages ;
  • 28. Oracle Application Server -- Build the html frame. (does not include the navigation frame) htp.p ( ' <html> <head> <title>Untitled Document</title> <meta http-equiv=&quot;Content-Type“ content=&quot;text/html&quot;> <script language=&quot;JavaScript&quot;> [...] ‘ ); for i in v_first_result .. least ( v_last_result , v_resultset. count ) loop htp.p ( ‘<tr> <td>' || v_title || '</td> <td class=“list_item&quot;>' || v_resultset ( i ). ID || '</td> <td class=“list_item&quot;>' || to_char ( v_resultset ( i ). start_date, 'fmmm/dd/yyyy' ) || '</td> <td class=“list_item&quot;>' || to_char ( v_resultset ( i ). end_date, 'fmmm/dd/yyyy' ) || '</td> <td class=“list_item&quot;>' || v_edit_pvw_del || '</td> </tr>‘ ); end loop; end magazine_list ; Web Content Management (continued)
  • 29. Oracle Application Server procedure nav_load_and_save_content_mag ( p_graphics_path in varchar2 := cn_graphics_path ) is begin htp.p (' function load_content() { isSelected(''content''); final_form = document.final_page; contentform = top.contentFrame.document.content; for (i=0; i < author_list.length; i++) { contentform.author.options[contentform.author.options.length] = author_list[i]; } preload_select(contentform.author, final_form.P_PGE_CMEM_ID.value); contentform.leadin.value = final_form.P_PGE_LEAD_IN.value; contentform.body.value = final_form.P_PGE_BODY.value; } Web Content Management – Edit Content The actual content management utility employs Javascript to load content text and related data into static HTML subpages
  • 30. Oracle Application Server function save_content(direction) { final_form = document.final_page; contentform = top.contentFrame.document.content; if (get_selected(contentform.author)!=&quot;&quot;) document.content_change.src=''‘ || p_graphics_path || 'stus_yes.gif''; else document.content_change.src=''‘ || p_graphics_path || 'stus_no.gif''; final_form.P_PGE_CMEM_ID.value = get_selected(contentform.author); final_form.P_PGE_LEAD_IN.value = contentform.leadin.value; rawText = contentform.body.value; encodedText = &quot;&quot;; if (contentform.leadin.value.length >1990) { alert(&quot;The lead-in text area cannot handle more than 2000 characters.Please reduce its size.&quot;); return false; } final_form.P_PGE_BODY.value = encodedText; save_redirect(direction); }' ); end; Web Content Management – Edit Content (continued)
  • 31. Perl sub a1 { print &quot;<table border='1' bordercolor='#FFFFFF' cellspacing='0' cellpadding='2'>&quot;; [header items] print &quot;</table>&quot;; […] my $sth3 = $dbh->prepare(' SELECT date_id, SUM( registrations ), SUM( ath ), SUM( listeners ), SUM( sessions ), SUM( ads_served ), SUM( ads_missed ) FROM a1 WHERE MONTH(date_ID)= ? AND YEAR(date_ID)= ? GROUP by date_ID ORDER by date_ID DESC') or die &quot;Couldn't prepare statement: &quot; . $dbh->errstr; Perl CGI Report Delivery for Web Streaming Advertising Note, the $dbh handle indicating the use of the DBI module to handle database agnostic SQL functionality
  • 32.