Top Banner
David Mann - Biogen Idec - ECOUG 2014 Getting the Most Out of SQL Developer User-Defined Reports
58

Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Feb 07, 2018

Download

Documents

vannguyet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

David Mann - Biogen Idec - ECOUG 2014

Getting the Most Out of SQL Developer User-Defined Reports

Page 2: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Bio

• Graphic Arts Background

• Development Background

• Lead Oracle DBA @

• Interests :

• Tools, Performance, Data Visualization

Page 4: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Why use SQL Developer for reports?

Page 6: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Ease of Use• Ready to go infrastructure

• Multiple OSes supported

• Quick download and install

• Just need a JVM + GUI

Page 7: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?
Page 11: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Canned Reports

Page 13: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Canned Reports• Lots of useful reports included

• Database Administration

• Data Dictionary

• Object Info

• Application Express

• Performance

• + more

Page 14: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Other Canned Report Uses• Good learning tool

• Copy + Modify

• Can be the target of your own Drill Down reports

Page 15: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Basic User Defined Reports

Page 16: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Create a Simple UDR

Page 17: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Specify Properties

Page 18: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Set SQL Query

Page 19: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Run It

Page 20: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Gauge Example

Page 21: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Building Gauges• SQLDEV:GAUGE • min:max:low thresh:upper threshold:value

Page 22: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Using Bind Variables

Page 23: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Filter with Binds

Page 24: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Bind Variable Details

Page 25: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

“All” Option• Provide for optional use of Bind Variables

Page 26: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Parent/Child Reports

Page 27: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

• Consist of a pair of related queries

• Child query refreshed when Parent row clicked

• Related by bind variable

Page 28: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Parent/Child

Page 29: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Drill Down Reports

Page 30: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Creation• Create target report • Add to parent report* • Drilled report has access to bind variables

Page 32: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Navigation

Forward:

Back:

Page 33: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Advanced : Charts

Page 34: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Charts

Page 35: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Save as HTML

Page 38: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Options

Page 39: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Table Report as HTML

Page 40: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Chart Rendered in SQL Dev

Page 41: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Chart as HTML

Page 42: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Advanced : Internal HTML Render

&PL/SQL DBMS_OUTPUT

Page 43: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

HTML - Internal Render

• PL/SQL DBMS_OUTPUT or Table Cell

• Supports HTML subset

• Supports inline CSS

• No:

• Style sheets

• Javascript

Page 44: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

HTML Example 1

Source Code

Page 45: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

HTML Example 2

Source Code

Page 46: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

HTML Example 3

Source Code

Page 47: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

HTML Example 4

Source Code

Page 48: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Advanced: HTML External Render

PL/SQL DBMS_OUTPUT

Page 49: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

HTML - External Render• Many report types will save to local

HTML file

• Formatting decisions made for you

• Not all features may translate

Page 50: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Advanced: Command Line Interface

Page 51: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

• 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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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 53: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Example Output

Source Code

Page 54: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Behind the Scenes• Check the XML

• Do you feel lucky?

Page 55: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

Questions

Slides, code, links :

http://ba6.us

[email protected]

@ba6dotus

http://github.com/dmann99

Page 57: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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: Getting the Most Out of SQL Developer User-Defined · PDF fileGetting the Most Out of SQL Developer User-Defined Reports. Topics • Context • Why use SQL Developer for reports?

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.