dmann-sqldeveloper4reporting
TRANSCRIPT
![Page 1: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/1.jpg)
David Mann - Biogen Idec - ECOUG 2014
Getting the Most Out of SQL Developer User-Defined Reports
![Page 2: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/2.jpg)
Topics• Context
• Why use SQL Developer for reports?
• Canned Report Review
• Basic User Defined Reports
• Supplying Parameters to Reports
• Parent/Child & Drill Down
• Advanced - Charts, HTML, Command Line Reports
• Where do you go from here?
![Page 3: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/3.jpg)
Bio
• Graphic Arts Background
• Development Background
• Lead Oracle DBA @
• Interests :
• Tools, Performance, Data Visualization
![Page 4: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/4.jpg)
Context• GUI Java Application
• Available for Windows/Mac OS X/Linux
• Free from Oracle
• Connects to databases via JDBC
• No OCI client required (usually)
• TNS / LDAP / Custom connection parameters
![Page 5: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/5.jpg)
Why use SQL Developer for reports?
![Page 6: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/6.jpg)
Ease of Use• Ready to go infrastructure
• Multiple OSes supported
• Quick download and install
• Just need a JVM + GUI
![Page 7: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/7.jpg)
Features• Feature Rich Admin and Query Tool
• Source Code Control Integration • Unit testing • Data Modeling • DBA Module
• Vote for features • Its a democracy, get some you want, some
you don’t • Access to expertise
![Page 8: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/8.jpg)
Reporting• Robust reporting feature set
• Canned reports • User Defined Reports • HTML/PDF Output Options • Command Line Report Generation
• Extensible • Customizable / Extensions
• Portable report definitions • Sharing is caring
![Page 9: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/9.jpg)
4.0 - Not Your Father’s SQL Developer• Faster report development round trips
• Live Preview in report editor during design time
• 50+ Charting Options
• Live preview also available for charts
• Comprehensive reports included out of the box
• Command Line Report Generation
![Page 10: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/10.jpg)
![Page 11: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/11.jpg)
Personal Reporting Process• DBA 1.0? • Get out of the query-> export ->
Excel Graph rut • Too cumbersome to repeat reliably • Slow to repeat • Hard to share with others • Hard to motivate others to use your methods
• Put this power into user’s hands with UDRs
![Page 12: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/12.jpg)
Canned Reports
![Page 13: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/13.jpg)
Canned Reports• Lots of useful reports included
• Database Administration
• Data Dictionary
• Object Info
• Application Express
• Performance
• + more
![Page 14: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/14.jpg)
Other Canned Report Uses• Good learning tool
• Copy + Modify
• Can be the target of your own Drill Down reports
![Page 15: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/15.jpg)
Basic User Defined Reports
![Page 16: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/16.jpg)
Create a Simple UDR
![Page 17: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/17.jpg)
Specify Properties
![Page 18: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/18.jpg)
Set SQL Query
![Page 19: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/19.jpg)
Run It
![Page 20: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/20.jpg)
Gauge Example
![Page 21: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/21.jpg)
Building Gauges• SQLDEV:GAUGE • min:max:low thresh:upper threshold:value
![Page 22: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/22.jpg)
Using Bind Variables
![Page 23: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/23.jpg)
Filter with Binds
![Page 24: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/24.jpg)
Bind Variable Details
![Page 25: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/25.jpg)
“All” Option• Provide for optional use of Bind Variables
![Page 26: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/26.jpg)
Parent/Child Reports
![Page 27: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/27.jpg)
• Consist of a pair of related queries
• Child query refreshed when Parent row clicked
• Related by bind variable
![Page 28: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/28.jpg)
Parent/Child
![Page 29: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/29.jpg)
Drill Down Reports
![Page 30: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/30.jpg)
Features• Like Parent/Child but Child is hidden
• Multiple Children can be attached to each Parent
• Usage
• Right click on Parent data element
• Select drill down report name
• Helps navigate your data
![Page 31: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/31.jpg)
Creation• Create target report • Add to parent report* • Drilled report has access to bind variables
![Page 32: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/32.jpg)
Navigation
Forward:
Back:
![Page 33: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/33.jpg)
Advanced : Charts
![Page 34: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/34.jpg)
Charts
![Page 35: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/35.jpg)
Charts• Prepare data series
• Position 1 : Category Group (Y Axis)
• Position 2 : Series (Legend)
• Position 3 : Data Value (X Axis)
• Choose best representation
• Customize styles
• Test it!
![Page 36: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/36.jpg)
Chart Usage• Combine Parent Summary chart with Child
Detail report
• Can click on chart region to generate child report
• Best of both worlds - digest the summary but have access to detail
![Page 37: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/37.jpg)
Save as HTML
![Page 38: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/38.jpg)
Options
![Page 39: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/39.jpg)
Table Report as HTML
![Page 40: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/40.jpg)
Chart Rendered in SQL Dev
![Page 41: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/41.jpg)
Chart as HTML
![Page 42: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/42.jpg)
Advanced : Internal HTML Render
&PL/SQL DBMS_OUTPUT
![Page 43: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/43.jpg)
HTML - Internal Render
• PL/SQL DBMS_OUTPUT or Table Cell
• Supports HTML subset
• Supports inline CSS
• No:
• Style sheets
• Javascript
![Page 48: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/48.jpg)
Advanced: HTML External Render
PL/SQL DBMS_OUTPUT
![Page 49: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/49.jpg)
HTML - External Render• Many report types will save to local
HTML file
• Formatting decisions made for you
• Not all features may translate
![Page 50: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/50.jpg)
Advanced: Command Line Interface
![Page 51: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/51.jpg)
• Develop in SQL Developer, call from Command Line
• Leverages SQL Developer connection info
• Can supply Bind variables
• Con: Heavyweight JVM Startup
Command Line
./sdcli reports generate \ -report "User Defined Reports/My Report" \ -db "PDB1 - dmann" \ -file /tmp/test.html \ -bind name=value
![Page 52: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/52.jpg)
Putting It All Together• Let’s make the most complicated UDF we can
• HTML Report
• External render
• Javascript referencing external libraries
• Kick it off via the command line
• Look at familiar data in a new way
![Page 54: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/54.jpg)
Behind the Scenes• Check the XML
• Do you feel lucky?
![Page 55: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/55.jpg)
Where Do You Go From Here?• Start your own collection of UD Reports
• SQL Analytic Features
• Custom Actions
• What can you automate?
• SQL Developer Exchange, OTN
• http://github.com/dmann99/SQLDevUDRepPack
• “5 in 5” at http://ba6.us
![Page 56: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/56.jpg)
Questions
Slides, code, links :
http://ba6.us
@ba6dotus
http://github.com/dmann99
![Page 57: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/57.jpg)
References• http://www.thatjeffsmith.com/archive/2014/04/
how-to-add-custom-actions-to-your-user-reports/
• http://www.thatjeffsmith.com/archive/2012/07/customizing-monitor-sessions-in-oracle-sql-developer/
![Page 58: DMann-SQLDeveloper4Reporting](https://reader034.vdocuments.site/reader034/viewer/2022052606/58f0ef3f1a28ab77078b4599/html5/thumbnails/58.jpg)
Abstract• SQL Developer has proved itself as one of the
most innovative and useful tools available for Oracle users, DBAs, and developers. With the release of version 4.0 the included and custom report options have been greatly expanded. This session will review the different types of reports available in SQL developer and review the powerful Custom Reports features. Demos will include creating simple and complex user defined reports, leveraging the new graph types, as well as a discussion and demo of the new command line HTML reports generation features.