SlideShare a Scribd company logo
1 of 58
Download to read offline
APEX 5 IR
Guts &
Performance
Karen Cannell TH Technology
kcannell@thtechnology.com
TH Technology
About Me …
Karen Cannell ~ TH Technology
• Mechanical/SW Engineer - Analyzed, designed, developed, converted,
upgraded, enhanced legacy & database applications for 25+ years
• Building Oracle –based Web solutions for government, medical,
engineering industries, APEX since HTMLDB
• Leveraging the Oracle 10g,11g, 12c suite of tools
• Oracle Ace Associate
• Editor Emeritus Technical Journal
TH Technology
We Have Books …
Expert Oracle Application Express, APress 2015
Report Printing
Beginning Application Express
4.2, APress, 2013
Agile Oracle Application Express
APress, 2012
TH Technology
About You …
New to APEX?
APEX Experience?
APEX Versions?
IR Habits?
IR Customizations?
New Stuff or Old?
APEX5 Ready?
TH Technology
NOTE TO EARLY SLIDE DOWNLOADERS
• Many of these slides HAVE CHANGED as I find
more neat stuff to add for you every day.
• Please download the updated slides from the
Kscope16 site or www.thtechnology.com or
email kcannell@thtechnology.com
TH Technology
Agenda ~ Guts and Performance
• Guts ~ Inside and Outside
• CSS
• JS
• Performance
• The Real Query(ies)
• Declarative Settings
• Drills & Parameters
• Extra Boost
• Questions
TH Technology
Developer & User Team
“APEX IR give the end user great power to format and
arrange reports to their needs,
the developer needs to be aware of the end user needs
to prepare and deliver the appropriate IR query to
support them.”
Know Your Users
Know What Your Users Do
Train Your Users to Maximize IR Use
APEX 5 Interactive
Reports:
Guts
CSS and JavaScript
TH Technology
Guts ~ CSS
• APEX 5 - All New CSS
apexir_<element> ids
are replaced by
a-IRR-<component> classes and
<Static Id>_... id names
TH Technology
Why Do We Care About the CSS?
• Customizations
• Color
• Style
• Use in ThemeRoller Custom CSS
• Use in Custom Dyn Actions
TH Technology
TH Technology
Guts ~ JavaScript
• All Changed
• Locked Down (relatively)
• No gReport
• No API in Sight
• Lots of Refactoring for Customizations …
TH Technology
IF You Need To Customize / Refactor
• See jQuery Widgets
<base_dir>/i/libraries/apex/minified
/widget.interactiveReport.js
/widget.menu.js
• Read
http://hardlikesoftware.com/weblog/2015/05
/12/apex-5-0-interactive-report-customization/
TH Technology
Widgets 101
• $(selector).widgetName("method");
• Ex:
$("#DEMO_IR_ir").interactiveReport("option“);
$("#DEMO_IR_actions_menu").menu("option");
$("#DEMO_IR_actions_menu").menu("find",
"irDownload").action();
$("#DEMO_IR_actions_menu").menu("find",
"irReset").action();
TH Technology
Reset IR – Dynamic Actions
• PL/SQL call to APEX_IR.RESET
$("#DEMO_IR_actions_menu").menu("find",
"irReset").action();
Same Result as the other, but
this approach is Unsupported
TH Technology
More UnSupported Customizations
• Download an IR:
$("#DEMO_IR_actions_menu").menu("find","irDownload").action();
• Get the Current Rows Per Page:
$("#DEMO_IR_ir”).interactiveReport("option","currentRowsPerPage”);
• Set the Current Rows Per Page:
$("#DEMO_IR_ir”).interactiveReport("option","currentRowsPerPage”, 50);
This approach is Unsupported and Subject to Change
TH Technology
Caveats
We Can Extend Things, But Before I/We/You Do
• Caveat 1 – Things May Change
• Caveat 2 – APEX 5.1 Multi Edit Grid
• WILL Supercede IRs
• May (will probably) Have an API
APEX 5 Interactive
Reports:
Performance
The Real Query, Declarative Settings, Drills &
Parameters, Extras
TH Technology
The Basic Interactive Report
• Few(er) Rows < 1000000
• Good Performance
• Defaults Are Fine
• Larger, More Complex
• Know Your Options
• Use Them!
TH Technology
The Pitifully Slow IR
• Slow IR performance Magnifies ...
• Wait for First Display …
• Wait for Col Heading Filters …
• Wait for Pivot …
• Wait for Chart …
Demo of
Pitifully Slow IR
TH Technology
IR Performance 1-2-3
• Tune the Real SQL Query
• Optimze IR Settings
• Train Users in IR Behavior
TH Technology
The SQL Query
• Tune The Real Query.
• Slow Performance Magnifies
• Tune the Query for How Users Retrieve Data
• Debug to Find The Real Query
• Tune Outside of APEX
• Explain Plan
• Indexes
TH Technology
The Real Query
• Changes w Filters
• Search Filter
• Col Heading Filter
• Changes w Views
• Table
• Group By
• Chart
• Pivot
TH Technology
Let’s See The Real Query
• Table View
• Max Row Count
• Pagination “of Z “
• Tabular w Filters
• Group By
• Chart
• Pivot
TH Technology
TH Technology
Declarative Settings
• Lots of IR Settings
• Developer Controls These
(That’s You!)
Defaults Aren’t The Best For Every IR
TH Technology
MaxRowCount
• Small as Practical
• What Is Practical?
• 1000000 default
• Depends on Your Data
• Test ~ Timing ~ Debug
• For “Download It All” Users
• Offer a Separate Download Page
• Avoid High Max Row Count for All Users
TH Technology
Impact of Max Row Count
Demo
• Default Max Row Count
• High Max Row Count
• Low Max Row Count
• NULL Max Row Count
Your Mileage Will Vary
Know Your Data ~ Know Your Users
TH Technology
Max Rows Per Page
• Be Practical
• Higher  Longer Page Load
• 5000?
• Always Set Max Rows Per Page
• Use Header Float Settings
• None
• Page
• Region
• Inform Users of Tradeoffs
Train Your Users to Maximize IR Use
TH Technology
Pagination
• Avoid X to Y of Z
• Z Gets Determined Every Time
• “of Z” is Expensive!
• Alternative for “of Z” – Set Count
• Lose Count w Filters
• Pagination Plugins
• Show Pagination Query, Timing, Impact
TH Technology
Column Heading Menus
• Column Filter ~ Based on Subset, Not All Rows!!
• “My Data is Not There!”
• Contents based on 1st 1000 Rows
• Search Fields Work on the Full Result Set
TH Technology
Column Filter
• ‘A’O, ‘Ahinahina through … Zygodon
• By Default, LOV Contents based on 1st 1000
Rows
TH Technology
Column Filter Options
• IF you Set LOV
Choose LOV
Carefully
• Goal is to Display All ... Faster
• Exact Match vs Contains … controls filters relative to
Result Set
• Search Still Works on the Full Result Set
TH Technology
Drills, Passing Parameters
• 1 IR ~ Same Syntax for Passing Parameters
IREQ_<column_name>
• Multi IRs on Same Page
IREQ[IR Static Id]_<column_name>
• IR w Multiple Saved Reports
IREQ[IR Static Id] _<Saved Report Id>_<column_name>
• ‘’|| column_name||’’ if values contain , : ; %
TH Technology
Referencing IR Columns & Filter Values
• IREQ_[Static Id]_<column_alias> Equals
• IR [Static Id]_< <column_alias> Equals
• IRLT[Static Id]_< <column_alias> <
• IRLTE[Static Id]_< <column_alias> <=
• IRGT[Static Id]_< <column_alias> >
• IRGTE[Static Id]_< <column_alias> >=
• IRLIKE[Static Id]_< <column_alias> SQL LIKE
• IRN[Static Id]_ <column_alias> NULL
• IRNN[Static Id]_< <column_alias> NOT NULL
• IRC[Static Id]_< <column_alias> Contains
• IRNC[Static Id_]< <column_alias> Not Contains
No BETWEEN, IN, NOT IN
TH Technology
Syntax for IR Links / Drills
• Look at Saved Report attributes
• Gives you the exact syntax to reference each saved
report
TH Technology
Syntax for IR Links / Drills
• Can Edit the Alias
Still Slow?
TH Technology
Extra Power ~ Pipelined Table Functions
• Performance Boost
• More Work
• May Be Viable Option For
• Complex Queries
• High Volume Data
• Delivers Rows Faster? …. Let’s see.
TH Technology
IR From Pipelined Table Function
• Create SQL Type (Row Type) for the Report
Columns
• CREATE TYPE
• Create Table Type of the Row Type
• Create Function PIPELINED
• Dyn SQL
• Create IR Using
• SELECT <col name list>
FROM TABLE( pipelined_function (<parameters>));
TH Technology
Code Examples for Pipelined Function Option
• CREATE FUNCTION inter_rpt_pipelined ( …)
RETURN your_tbl_type PIPELINED
IS
TYPE rc IS REF_CURSOR;
l_rc rc;
v_your_type your_rec_type;
…
…
TH Technology
Query Example for Pipelined Function Option
• SQL that uses the function …
SELECT harvest_id,
harvest_Date,
sector_id
…
FROM TABLE ( INTER_RPT_PIPELINED);
Pipelined
Table
Function
in IR
TH Technology
SQL Query vs Pipelined Table Function
• SQL Query
• Traditional IR
• Pipelined Table Function
• Straight Table  Slower
• Complex Query  Faster for first rows
• Cut is on Processing Time
TH Technology
SQL Query Not Enough?
• Query From a Collection
• Heading Names via Query
• Function to build SQL
• APEX_COLLECTION.CREATE_COLLECTION_FROM_
QUERY_B
SELECT c001, c002, …
FROM apex_collections
WHERE collection_name = ‘YOUR_COLLECTION’;
Recap
Guts
• New CSS
• New JavaScript
• Refactoring
Performance
• Tune The Real Query
• Settings
• Max Row Count
• Pagination
• Rows Per Page
• Alternatives
• Pipelined Table Function
• Collection
TH Technology
The Future
Interactive Grid WILL Replace IR
• Upgrade Wizard
• Lazy Loading
• Endless Scroll - Buffers Next Fetch
• Require Filter
• Performance Options (Contains, Starts, REGEXP,
CASE)
• JavaScript API (Maybe/Probably)
TH Technology
The Future
Interactive Grid WILL Replace IR
• Guts
• Anticipate a JS API
• JavaScript Code region for Customizing
• Performance
• AJAX/JSON
• Show Total Row Count
• Fewer, Wiser Parameters
• Better Performance, More Controls
APEX 5 IR Guts
& Performance
Questions ?
Karen Cannell TH Technology
kcannell@thtechnology.com
TH Technology
References
• Jari Laine Pagination Option
http://jaris.blogsite.org/apex/f?p=BLOG:READ:0::::ARTICLE:41900346848694
• JSnyder Blog Hard Like Software
http://hardlikesoftware.com/weblog/2015/05/12/apex-5-0-interactive-report-
customization/
• Vishal Blog Post re Table Functions
http://obiee-oracledb.blogspot.com/2011/07/performance-enhancing-drug-called-
table.html
• Sample App
• apex.oracle.com THUNTER kscope16/demo
• APEX 5.1 Early Adopter
• Sample Interactive Grid App
$("#DEMO_IR_ir").interactiveReport("refresh");$("#DEMO_IR_ir").interactiveReport("refresh");

More Related Content

What's hot

APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1Karen Cannell
 
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...Karen Cannell
 
Validate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowValidate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowKaren Cannell
 
APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2Karen Cannell
 
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?Karen Cannell
 
APEX JET Charts: Data Viz now!
APEX JET Charts:  Data Viz now!APEX JET Charts:  Data Viz now!
APEX JET Charts: Data Viz now!Karen Cannell
 
APEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for SanityAPEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for SanityKaren Cannell
 
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
APEX Interactive Grid API Essentials:  The Stuff You Will Really UseAPEX Interactive Grid API Essentials:  The Stuff You Will Really Use
APEX Interactive Grid API Essentials: The Stuff You Will Really UseKaren Cannell
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat SheetDimitri Gielis
 
APEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and SanityAPEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and SanityKaren Cannell
 
Boston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your GridsBoston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your GridsKaren Cannell
 
Oracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCSOracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCSKaren Cannell
 
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Low Code Lowdown:  APEX vs Visual Builder: Which is For You? Low Code Lowdown:  APEX vs Visual Builder: Which is For You?
Low Code Lowdown: APEX vs Visual Builder: Which is For You? Karen Cannell
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Rinie Romme
 
Balancing Automation and Explanation in Machine Learning
Balancing Automation and Explanation in Machine LearningBalancing Automation and Explanation in Machine Learning
Balancing Automation and Explanation in Machine LearningDatabricks
 
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-DesignerHadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-DesignerSrikanth Sundarrajan
 
Creating custom reports ora app express apex listener
Creating custom reports  ora app express apex listenerCreating custom reports  ora app express apex listener
Creating custom reports ora app express apex listenerDarnette A
 
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.InfiniteGraph
 
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Chester Chen
 
Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Makoto Yui
 

What's hot (20)

APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1APEX Interactive Grids: Essentials and Then Some, Part 1
APEX Interactive Grids: Essentials and Then Some, Part 1
 
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
UTOUG Training Days 2019 APEX Interactive Grids: API Essentials, the Stuff Yo...
 
Validate Your Validations: Both Sides Now
Validate Your Validations: Both Sides NowValidate Your Validations: Both Sides Now
Validate Your Validations: Both Sides Now
 
APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2APEX 18 Interactive Grids: And Them Some, Part 2
APEX 18 Interactive Grids: And Them Some, Part 2
 
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
RMOUG Training Days 2019 Analytic Views for Mortals: Worth A Look?
 
APEX JET Charts: Data Viz now!
APEX JET Charts:  Data Viz now!APEX JET Charts:  Data Viz now!
APEX JET Charts: Data Viz now!
 
APEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for SanityAPEX Interactive Grids: Standardize for Sanity
APEX Interactive Grids: Standardize for Sanity
 
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
APEX Interactive Grid API Essentials:  The Stuff You Will Really UseAPEX Interactive Grid API Essentials:  The Stuff You Will Really Use
APEX Interactive Grid API Essentials: The Stuff You Will Really Use
 
Oracle APEX Cheat Sheet
Oracle APEX Cheat SheetOracle APEX Cheat Sheet
Oracle APEX Cheat Sheet
 
APEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and SanityAPEX Grids: Standardize for Productivity and Sanity
APEX Grids: Standardize for Productivity and Sanity
 
Boston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your GridsBoston APEX Meetup ~ Standardize Your Grids
Boston APEX Meetup ~ Standardize Your Grids
 
Oracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCSOracle Low Code Lowdown: APEX vs VBCS
Oracle Low Code Lowdown: APEX vs VBCS
 
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
Low Code Lowdown:  APEX vs Visual Builder: Which is For You? Low Code Lowdown:  APEX vs Visual Builder: Which is For You?
Low Code Lowdown: APEX vs Visual Builder: Which is For You?
 
Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0Advanced Reporting And Charting With Oracle Application Express 4.0
Advanced Reporting And Charting With Oracle Application Express 4.0
 
Balancing Automation and Explanation in Machine Learning
Balancing Automation and Explanation in Machine LearningBalancing Automation and Explanation in Machine Learning
Balancing Automation and Explanation in Machine Learning
 
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-DesignerHadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
 
Creating custom reports ora app express apex listener
Creating custom reports  ora app express apex listenerCreating custom reports  ora app express apex listener
Creating custom reports ora app express apex listener
 
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
Meetup: An Introduction to InfiniteGraph, and Connecting the Dots in Big Data.
 
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
Analytics Metrics delivery and ML Feature visualization: Evolution of Data Pl...
 
Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0Introduction to Apache Hivemall v0.5.0
Introduction to Apache Hivemall v0.5.0
 

Similar to APEX 5 IR: Guts & Performance

Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive GridsUtah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive GridsKaren Cannell
 
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It? Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It? Karen Cannell
 
MySQL Optimizer Cost Model
MySQL Optimizer Cost ModelMySQL Optimizer Cost Model
MySQL Optimizer Cost ModelOlav Sandstå
 
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!Karen Cannell
 
How to Load Data, Revisited
How to Load Data, RevisitedHow to Load Data, Revisited
How to Load Data, RevisitedKaren Cannell
 
How to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUGHow to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUGKaren Cannell
 
Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)Ivo Andreev
 
SAP ABAP Online Training
SAP ABAP Online TrainingSAP ABAP Online Training
SAP ABAP Online TrainingNagendra Kumar
 
Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Hortonworks
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageNeo4j
 
C# 8 in Libraries and Applications
C# 8 in Libraries and ApplicationsC# 8 in Libraries and Applications
C# 8 in Libraries and ApplicationsChristian Nagel
 
Rails Tips and Best Practices
Rails Tips and Best PracticesRails Tips and Best Practices
Rails Tips and Best PracticesDavid Keener
 
Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Lars Vogel
 
David Bilík: Anko – modern way to build your layouts?
David Bilík: Anko – modern way to build your layouts?David Bilík: Anko – modern way to build your layouts?
David Bilík: Anko – modern way to build your layouts?mdevtalk
 
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020Christian Nagel
 
Training in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media AnalyticsTraining in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media AnalyticsAjay Ohri
 
East Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz NowEast Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz NowKaren Cannell
 

Similar to APEX 5 IR: Guts & Performance (20)

Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive GridsUtah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
Utah Geek Events Big Mountain Data Mastering Oracle Interactive Grids
 
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It? Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
Utah Geek Events Big Mountain Data: Oracle Analytic Views: Worth It?
 
MySQL Optimizer Cost Model
MySQL Optimizer Cost ModelMySQL Optimizer Cost Model
MySQL Optimizer Cost Model
 
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
RMOUG Training Days 2019 Oracle JET Charts in APEX: Data Viz Now!
 
How to Load Data, Revisited
How to Load Data, RevisitedHow to Load Data, Revisited
How to Load Data, Revisited
 
How to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUGHow to Load Data, Revisited, UTOUG
How to Load Data, Revisited, UTOUG
 
Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)Time Series Databases for IoT (On-premises and Azure)
Time Series Databases for IoT (On-premises and Azure)
 
SAP ABAP Online Training
SAP ABAP Online TrainingSAP ABAP Online Training
SAP ABAP Online Training
 
Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015Data Governance - Atlas 7.12.2015
Data Governance - Atlas 7.12.2015
 
SAP ABAP Online Training
SAP ABAP Online TrainingSAP ABAP Online Training
SAP ABAP Online Training
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Apache HAWQ Architecture
Apache HAWQ ArchitectureApache HAWQ Architecture
Apache HAWQ Architecture
 
C# 8 in Libraries and Applications
C# 8 in Libraries and ApplicationsC# 8 in Libraries and Applications
C# 8 in Libraries and Applications
 
Rails Tips and Best Practices
Rails Tips and Best PracticesRails Tips and Best Practices
Rails Tips and Best Practices
 
Java 8
Java 8Java 8
Java 8
 
Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010
 
David Bilík: Anko – modern way to build your layouts?
David Bilík: Anko – modern way to build your layouts?David Bilík: Anko – modern way to build your layouts?
David Bilík: Anko – modern way to build your layouts?
 
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
 
Training in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media AnalyticsTraining in Analytics, R and Social Media Analytics
Training in Analytics, R and Social Media Analytics
 
East Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz NowEast Coast Oracle 2018 APEX Charts - Data Viz Now
East Coast Oracle 2018 APEX Charts - Data Viz Now
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 

Recently uploaded (20)

2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 

APEX 5 IR: Guts & Performance

  • 1. APEX 5 IR Guts & Performance Karen Cannell TH Technology kcannell@thtechnology.com
  • 2.
  • 3.
  • 4. TH Technology About Me … Karen Cannell ~ TH Technology • Mechanical/SW Engineer - Analyzed, designed, developed, converted, upgraded, enhanced legacy & database applications for 25+ years • Building Oracle –based Web solutions for government, medical, engineering industries, APEX since HTMLDB • Leveraging the Oracle 10g,11g, 12c suite of tools • Oracle Ace Associate • Editor Emeritus Technical Journal
  • 5. TH Technology We Have Books … Expert Oracle Application Express, APress 2015 Report Printing Beginning Application Express 4.2, APress, 2013 Agile Oracle Application Express APress, 2012
  • 6. TH Technology About You … New to APEX? APEX Experience? APEX Versions? IR Habits? IR Customizations? New Stuff or Old? APEX5 Ready?
  • 7. TH Technology NOTE TO EARLY SLIDE DOWNLOADERS • Many of these slides HAVE CHANGED as I find more neat stuff to add for you every day. • Please download the updated slides from the Kscope16 site or www.thtechnology.com or email kcannell@thtechnology.com
  • 8. TH Technology Agenda ~ Guts and Performance • Guts ~ Inside and Outside • CSS • JS • Performance • The Real Query(ies) • Declarative Settings • Drills & Parameters • Extra Boost • Questions
  • 9. TH Technology Developer & User Team “APEX IR give the end user great power to format and arrange reports to their needs, the developer needs to be aware of the end user needs to prepare and deliver the appropriate IR query to support them.” Know Your Users Know What Your Users Do Train Your Users to Maximize IR Use
  • 11. TH Technology Guts ~ CSS • APEX 5 - All New CSS apexir_<element> ids are replaced by a-IRR-<component> classes and <Static Id>_... id names
  • 12.
  • 13.
  • 14.
  • 15. TH Technology Why Do We Care About the CSS? • Customizations • Color • Style • Use in ThemeRoller Custom CSS • Use in Custom Dyn Actions
  • 17. TH Technology Guts ~ JavaScript • All Changed • Locked Down (relatively) • No gReport • No API in Sight • Lots of Refactoring for Customizations …
  • 18. TH Technology IF You Need To Customize / Refactor • See jQuery Widgets <base_dir>/i/libraries/apex/minified /widget.interactiveReport.js /widget.menu.js • Read http://hardlikesoftware.com/weblog/2015/05 /12/apex-5-0-interactive-report-customization/
  • 19. TH Technology Widgets 101 • $(selector).widgetName("method"); • Ex: $("#DEMO_IR_ir").interactiveReport("option“); $("#DEMO_IR_actions_menu").menu("option"); $("#DEMO_IR_actions_menu").menu("find", "irDownload").action(); $("#DEMO_IR_actions_menu").menu("find", "irReset").action();
  • 20. TH Technology Reset IR – Dynamic Actions • PL/SQL call to APEX_IR.RESET $("#DEMO_IR_actions_menu").menu("find", "irReset").action(); Same Result as the other, but this approach is Unsupported
  • 21. TH Technology More UnSupported Customizations • Download an IR: $("#DEMO_IR_actions_menu").menu("find","irDownload").action(); • Get the Current Rows Per Page: $("#DEMO_IR_ir”).interactiveReport("option","currentRowsPerPage”); • Set the Current Rows Per Page: $("#DEMO_IR_ir”).interactiveReport("option","currentRowsPerPage”, 50); This approach is Unsupported and Subject to Change
  • 22. TH Technology Caveats We Can Extend Things, But Before I/We/You Do • Caveat 1 – Things May Change • Caveat 2 – APEX 5.1 Multi Edit Grid • WILL Supercede IRs • May (will probably) Have an API
  • 23. APEX 5 Interactive Reports: Performance The Real Query, Declarative Settings, Drills & Parameters, Extras
  • 24. TH Technology The Basic Interactive Report • Few(er) Rows < 1000000 • Good Performance • Defaults Are Fine • Larger, More Complex • Know Your Options • Use Them!
  • 25. TH Technology The Pitifully Slow IR • Slow IR performance Magnifies ... • Wait for First Display … • Wait for Col Heading Filters … • Wait for Pivot … • Wait for Chart …
  • 27. TH Technology IR Performance 1-2-3 • Tune the Real SQL Query • Optimze IR Settings • Train Users in IR Behavior
  • 28. TH Technology The SQL Query • Tune The Real Query. • Slow Performance Magnifies • Tune the Query for How Users Retrieve Data • Debug to Find The Real Query • Tune Outside of APEX • Explain Plan • Indexes
  • 29. TH Technology The Real Query • Changes w Filters • Search Filter • Col Heading Filter • Changes w Views • Table • Group By • Chart • Pivot
  • 30. TH Technology Let’s See The Real Query • Table View • Max Row Count • Pagination “of Z “ • Tabular w Filters • Group By • Chart • Pivot
  • 32. TH Technology Declarative Settings • Lots of IR Settings • Developer Controls These (That’s You!) Defaults Aren’t The Best For Every IR
  • 33. TH Technology MaxRowCount • Small as Practical • What Is Practical? • 1000000 default • Depends on Your Data • Test ~ Timing ~ Debug • For “Download It All” Users • Offer a Separate Download Page • Avoid High Max Row Count for All Users
  • 34. TH Technology Impact of Max Row Count Demo • Default Max Row Count • High Max Row Count • Low Max Row Count • NULL Max Row Count Your Mileage Will Vary Know Your Data ~ Know Your Users
  • 35. TH Technology Max Rows Per Page • Be Practical • Higher  Longer Page Load • 5000? • Always Set Max Rows Per Page • Use Header Float Settings • None • Page • Region • Inform Users of Tradeoffs Train Your Users to Maximize IR Use
  • 36. TH Technology Pagination • Avoid X to Y of Z • Z Gets Determined Every Time • “of Z” is Expensive! • Alternative for “of Z” – Set Count • Lose Count w Filters • Pagination Plugins • Show Pagination Query, Timing, Impact
  • 37. TH Technology Column Heading Menus • Column Filter ~ Based on Subset, Not All Rows!! • “My Data is Not There!” • Contents based on 1st 1000 Rows • Search Fields Work on the Full Result Set
  • 38. TH Technology Column Filter • ‘A’O, ‘Ahinahina through … Zygodon • By Default, LOV Contents based on 1st 1000 Rows
  • 39. TH Technology Column Filter Options • IF you Set LOV Choose LOV Carefully • Goal is to Display All ... Faster • Exact Match vs Contains … controls filters relative to Result Set • Search Still Works on the Full Result Set
  • 40. TH Technology Drills, Passing Parameters • 1 IR ~ Same Syntax for Passing Parameters IREQ_<column_name> • Multi IRs on Same Page IREQ[IR Static Id]_<column_name> • IR w Multiple Saved Reports IREQ[IR Static Id] _<Saved Report Id>_<column_name> • ‘’|| column_name||’’ if values contain , : ; %
  • 41. TH Technology Referencing IR Columns & Filter Values • IREQ_[Static Id]_<column_alias> Equals • IR [Static Id]_< <column_alias> Equals • IRLT[Static Id]_< <column_alias> < • IRLTE[Static Id]_< <column_alias> <= • IRGT[Static Id]_< <column_alias> > • IRGTE[Static Id]_< <column_alias> >= • IRLIKE[Static Id]_< <column_alias> SQL LIKE • IRN[Static Id]_ <column_alias> NULL • IRNN[Static Id]_< <column_alias> NOT NULL • IRC[Static Id]_< <column_alias> Contains • IRNC[Static Id_]< <column_alias> Not Contains No BETWEEN, IN, NOT IN
  • 42. TH Technology Syntax for IR Links / Drills • Look at Saved Report attributes • Gives you the exact syntax to reference each saved report
  • 43. TH Technology Syntax for IR Links / Drills • Can Edit the Alias
  • 45. TH Technology Extra Power ~ Pipelined Table Functions • Performance Boost • More Work • May Be Viable Option For • Complex Queries • High Volume Data • Delivers Rows Faster? …. Let’s see.
  • 46. TH Technology IR From Pipelined Table Function • Create SQL Type (Row Type) for the Report Columns • CREATE TYPE • Create Table Type of the Row Type • Create Function PIPELINED • Dyn SQL • Create IR Using • SELECT <col name list> FROM TABLE( pipelined_function (<parameters>));
  • 47. TH Technology Code Examples for Pipelined Function Option • CREATE FUNCTION inter_rpt_pipelined ( …) RETURN your_tbl_type PIPELINED IS TYPE rc IS REF_CURSOR; l_rc rc; v_your_type your_rec_type; … …
  • 48. TH Technology Query Example for Pipelined Function Option • SQL that uses the function … SELECT harvest_id, harvest_Date, sector_id … FROM TABLE ( INTER_RPT_PIPELINED);
  • 50. TH Technology SQL Query vs Pipelined Table Function • SQL Query • Traditional IR • Pipelined Table Function • Straight Table  Slower • Complex Query  Faster for first rows • Cut is on Processing Time
  • 51. TH Technology SQL Query Not Enough? • Query From a Collection • Heading Names via Query • Function to build SQL • APEX_COLLECTION.CREATE_COLLECTION_FROM_ QUERY_B SELECT c001, c002, … FROM apex_collections WHERE collection_name = ‘YOUR_COLLECTION’;
  • 52. Recap Guts • New CSS • New JavaScript • Refactoring Performance • Tune The Real Query • Settings • Max Row Count • Pagination • Rows Per Page • Alternatives • Pipelined Table Function • Collection
  • 53. TH Technology The Future Interactive Grid WILL Replace IR • Upgrade Wizard • Lazy Loading • Endless Scroll - Buffers Next Fetch • Require Filter • Performance Options (Contains, Starts, REGEXP, CASE) • JavaScript API (Maybe/Probably)
  • 54. TH Technology The Future Interactive Grid WILL Replace IR • Guts • Anticipate a JS API • JavaScript Code region for Customizing • Performance • AJAX/JSON • Show Total Row Count • Fewer, Wiser Parameters • Better Performance, More Controls
  • 55. APEX 5 IR Guts & Performance Questions ? Karen Cannell TH Technology kcannell@thtechnology.com
  • 56.
  • 57.
  • 58. TH Technology References • Jari Laine Pagination Option http://jaris.blogsite.org/apex/f?p=BLOG:READ:0::::ARTICLE:41900346848694 • JSnyder Blog Hard Like Software http://hardlikesoftware.com/weblog/2015/05/12/apex-5-0-interactive-report- customization/ • Vishal Blog Post re Table Functions http://obiee-oracledb.blogspot.com/2011/07/performance-enhancing-drug-called- table.html • Sample App • apex.oracle.com THUNTER kscope16/demo • APEX 5.1 Early Adopter • Sample Interactive Grid App $("#DEMO_IR_ir").interactiveReport("refresh");$("#DEMO_IR_ir").interactiveReport("refresh");