Tips and techniques to improve DB2 Web Query for i performance and productivity



Similar documents
DB2 Web Query Tips and Techniques

DB2 Web Query: Creating Dashboards with HTML Composer and InfoAssist. Jacqueline Jansen Information Builders

Refresh Web Query Synonym

How to Create Dashboards. Published

Trial version of GADD Dashboards Builder

Two new DB2 Web Query options expand Microsoft integration As printed in the September 2009 edition of the IBM Systems Magazine

INTRODUCING ORACLE APPLICATION EXPRESS. Keywords: database, Oracle, web application, forms, reports

Oracle Database 10g: Introduction to SQL

TIBCO Spotfire Metrics Modeler User s Guide. Software Release 6.0 November 2013

Participant Guide RP301: Ad Hoc Business Intelligence Reporting

Jet Data Manager 2012 User Guide

Sisense. Product Highlights.

Vendor: Brio Software Product: Brio Performance Suite

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Application Express MS Access on Steroids

Access Queries (Office 2003)

End the Microsoft Access Chaos - Your simplified path to Oracle Application Express

MAS 500 Intelligence Tips and Tricks Booklet Vol. 1

Oracle Database: SQL and PL/SQL Fundamentals

Beginning C# 5.0. Databases. Vidya Vrat Agarwal. Second Edition

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

Tips and Tricks SAGE ACCPAC INTELLIGENCE

How To Create A Powerpoint Intelligence Report In A Pivot Table In A Powerpoints.Com

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

DataPA OpenAnalytics End User Training

Oracle Database: SQL and PL/SQL Fundamentals

Oracle SQL. Course Summary. Duration. Objectives

Top 10 Oracle SQL Developer Tips and Tricks

Pastel Evolution BIC. Getting Started Guide

Oracle Business Intelligence 11g OPN Advanced Workshop

ER/Studio Enterprise Portal User Guide

Getting Started Guide SAGE ACCPAC INTELLIGENCE

QAD Business Intelligence Data Warehouse Demonstration Guide. May 2015 BI 3.11

REP200 Using Query Manager to Create Ad Hoc Queries

Microsoft Dynamics GP. Taking a Deeper Dive into SmartLists, Excel Report Builder, and Business Analyzer

DBA Tools with System i Navigator

SHAREPOINT NEWBIES Claudia Frank, 17 January 2016

Parameter Fields and Prompts. chapter

Simply Accounting Intelligence Tips and Tricks Booklet Vol. 1

Frequently Asked Questions Sage Pastel Intelligence Reporting

Reporting and Analysis Using Vivid Reports Flex

Course Descriptions for Focused Learning Classes

Kaseya 2. Quick Start Guide. for VSA 6.3

WebFOCUS BI Portal: S.I.M.P.L.E. as can be

Universe Best Practices Session Code: 806

Vendor briefing Business Intelligence and Analytics Platforms Gartner 15 capabilities

Web Developer Toolkit for IBM Digital Experience

SAS IT Resource Management 3.2

/ / TABLEAU TRAINING DURATION 30hrs

SAP BO 4.1 Online Training

Getting Started Guide

DBMS / Business Intelligence, SQL Server

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features

SAP BUSINESS OBJECTS BO BI 4.1 amron

MICROSOFT ACCESS 2003 TUTORIAL

University Data Warehouse Design Issues: A Case Study

Oracle Database 10g Express

DocAve 4.1 Backup User Guide

Oracle Database 11g: SQL Tuning Workshop Release 2

Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.

BusinessObjects XI R2 Product Documentation Roadmap

Excel 2007 Tutorials - Video File Attributes

Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

SMB Intelligence. Reporting

Instant SQL Programming

PeopleSoft Query Training

Vendor: Crystal Decisions Product: Crystal Reports and Crystal Enterprise

WEBFOCUS QUICK DATA FOR EXCEL

Advanced Query for Query Developers

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.2 Web Applications Deployed on BEA WebLogic Server 9.2

CalPlanning. Smart View Essbase Ad Hoc Analysis

Oracle Database: SQL and PL/SQL Fundamentals NEW

Session 3119 Mobilizing Your Dashboards Best Tips for the Mobile Market. Scott Leaver, SAP and Matt Lloyd, SAP

126 SW 148 th Street Suite C-100, #105 Seattle, WA Tel: Fax:

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

UNIVERSE BEST PRACTICES. Rob Rohloff, OEM Sales Consultant

Oracle Database 12c: Introduction to SQL Ed 1.1

What s New in IBM Web Experience Factory IBM Corporation

Advanced BIAR Participant Guide

Introduction to Querying & Reporting with SQL Server

Business Objects Online training Contents SAP BUSINESS OBJECTS 4.0/XI 3.1. We provide online instructor led Business Objects Training.

EnterpriseLink Benefits

Toad for Data Analysts, Tips n Tricks

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

How To Create A Report In Excel

Business Insight Report Authoring Getting Started Guide

Results CRM 2012 User Manual

Oracle Database 11g: SQL Tuning Workshop

Report Builder. Microsoft SQL Server is great for storing departmental or company data. It is. A Quick Guide to. In association with

SAP BusinessObjects Business Intelligence (BI) platform Document Version: 4.1, Support Package Report Conversion Tool Guide

SAS BI Dashboard 4.3. User's Guide. SAS Documentation

Stellar Phoenix. SQL Database Repair 6.0. Installation Guide

Blackbaud FundWare General Ledger Project/Grant Guide

SQL SERVER SELF-SERVICE BI WITH MICROSOFT EXCEL

Using Oracle Data Integrator with Essbase, Planning and the Rest of the Oracle EPM Products

Release 8 Highlights & Post 8 Development:

SQL Basics for RPG Developers

Transcription:

Tips and techniques to improve DB2 Web Query for i performance and productivity Jackie Jansen Information Builders jackie_jansen@ibi.com 2012 Wellesley Information Services. All rights reserved. Agenda Performance Compute and Define fields DB2 optimization Legacy Dates Tips MS Excel Output V2.1 Architecture and Security Metadata and Applications Input Parameters - GUI V2.1 End User Dashboards Row/Record Security Filters and Business Views More Tips Data profiling Even More Tips Performance / Complexity versus Ease of Use / Simplicity 1

Compute vs Define Fields DEFINE field (Detail field / Virtual Column) Executed on database read => Calculated every time a record is read Can be used for Filtering IA Data Ribbon, Developer Workbench, RA/GA wizard on left COMPUTE field (Summary field) Calculated after data is sorted and aggregated Cannot be used for Filtering Often required for percentages and variances IA Data Ribbon, Developer Workbench, RA/GA wizard on right Use COMPUTE where possible Input Table Record 1 Record 2 Record 3 Record 1,000,000 OUTPUT Record 1 Record 2 Record 50 Define Field - Calculated 1,000,000 times Compute Field (Aggregated by State) - Calculated 50 times DB2 Performance Recommendation ** Push as much logic as possible down to DB2 ** Use SQLTrace option 2.1 available in InfoAssist under Run command in HF1 1.1.2 Report Assist/Graph Assist browser option Run w SQL trace 1.1.2 InfoAssist must remove or comment out ON TABLE SET EMPTYREPORT ON in fex Look for database optimization disablers Assume that our database table has 1 million records and 100 distinct dates (output summed by date) 2

Performance Example: Convert Legacy Date to Smart Date Output 100 records DB2 retrieved 1 million records Web Query then read 1 million records, sorted 1 million records, grouped 1 million records, summed 1 million records, output 100 records Very, very slow!! Performance Example: Convert Legacy Date to Smart Date DB2 processed 1 million records DB2 output 100 records Web Query receives, formats and outputs 100 records Very, very fast!! Make sure you handle non date values you may have inserted in your date fields (filter out or convert to 99990101) 3

Performance Example: Summing Character Fields Performance Example: Summing Character Fields FST. or LST. where sort fields do not cover the key 4

Aggregation DB2 aggregation DATECVT with 8 alpha or numeric field DPART Strong concatenation ( ) Weak concatenation ( ) Use SQLTrace to determine optimization Aggregation using Prefix Operators: DB2 aggregation Average Count Count Distinct Number of Distinct Max Min Sum Web Query Aggregation Basic SUBSTRING EDIT for formatting purposes (not data type conversion) Basic math expressions i.e. a * b + c Average Square First Last Percent Count Percentage Row Percentage Total Additional DB2 Performance Tips Use the DB2 CLI adapter Both the Heritage File and Query/400 adapter use CQE Recreate Query/400 reports as new reports that use synonyms based on DB2 CLI adapter No way to avoid it for multi-format files (must use Heritage File adapter) Use SQL Aliases to access multiple members CREATE ALIAS MYLIB/MYALIAS FOR MYLIB/FILENAME (MBRNAME) V5R4 Maximize SQE usage - Avoid SQE Inhibitors Avoid creating metadata over DDS logical files Watch out for Select-Omit logical files against physical files Web Query 1.1.1 Use SQL Engine Joins Initially use for every report, including single table reports 5

Numeric Legacy Dates Actual: P8 I6 Usage: P8YYMD I6MDY Optimized Techiques Output 2011/04/01 P8YYMD new field format or Master file Usage - Dates less than 8 digits use math to create 8 digit date - i.e. Year * 10000 + Mth * 100 + Day SORT/BY/ACROSS Mathematically extract components Month Name 01 = Jan Extract Month component (01-12) format as Mt Use output format Mt for legacy date field Smart Dates if required: - Must start with an 8 digit field - DATECVT(Date8Num, P8YYMD, YYMD ) - If 6 or 4/2/2 long use arithmetic to create 8 digit date for conversion - Date Components Required: - DPART(DateFld, YEAR, I4 ) starting with your YYMD field Character Legacy Dates Actual: A8 A6 Usage: A8YYMD A6YMD Optimized Techniques Output 2011/04/01 A8YYMD new field format or Master file Usage - Use (concatenate) to combine components when less than A8 Components: - Use SUBSTR (or EDIT) to decompose date Month Name 01 = Jan Use output format Mt Smart Dates if required (new with 1.1.2): - Must start with an 8 character field - DATECVT(DateA8, A8YYMD, YYMD ) - Cannot currently combine Concatenate and DATECVT and retain optimization - For dates less than 8 characters use an SQL View for optimization when Smart dates are required 6

Date dimension table Create a table containing one record for every date Create individual fields for each date type and component Can include additional information about a date such as fiscal year ends, retail seasons, holidays, flags Join your date field to date table and have access to all fields in date table with full DB2 optimization support ORDERS Order number Order Date (A8) Item Nbr Quantity Technique described in article in WIKI DATE TABLE Date A8 SQL Date Year Month Month Name Day Qtr SQL Views Very good technique when additional date formats or components are required Work very well when smart dates are required and you don t have 8 character date fields Can be used to create fields actual month name (i.e. January) Can calculate Q1-Q4 SQL Views are for much more than dates Used whenever we need to ensure that optimization is done by DB2 Great for row level security Joining multiple tables, access to additional join types All joins defined in a view are executed whether or not fields from the joined files are used different from Web Query defined join Process Create SQL View Create synonym over view All fields in view, including calculated or converted fields, treated as if in base table Transparent to report developer See Version 2 or later of the redbook for details and examples 7

MS Excel output Excel Formula Compute fields formula Define fields static value Table of Contents Document MS Excel output Excel Formula Compute fields formula Define fields static value 8

MS Excel output Excel Formula Compute fields formula Define fields static value Table of Contents MS Excel output Excel Formula Compute fields formula Define fields static value Table of Contents Document 9

And the Tips just keep coming InfoAssist development performance Can change IA default per user IE Control key is marvelous! (now default in 2.1) CTL key Tip: Reduce records sent to IE Use prompting or drill down and Coming.. SQL Passthru Directly invoke a DB2 SQL function SQL.function_name(parms) WEEKNUM/I2=SQL.WEEK_ISO(ORDERDATE) Can invoke a user defined function as well MYDATE/YYMD = SQL.MYDATEUDF(ORDDAT); Conditional Drill Down Via Traffic Lighting Condition display Pages on Demand Store report on server Send desired page to browser Perform search on server 10

Input Parameter Alternatives Creating HTML page front-end Using HTML Composer in Developer Workbench Controls grouped and passed together rather than individually. The more parameters, the better the performance (over Auto Prompt) More efficient techniques to build the HTML for the drop down lists Aesthetically more options and more pleasing Many controls are available with Active Reports/Dashboards in InfoAssist Usage Tip Consider HTML Composer with calendar icons for date prompting V2.1 End User Dashboards End user can create their own dashboards from reports they are authorized to 11

Joining Tables Use DB2 Foreign Key support if possible Developer Workbench Reference existing synonyms R1.1.2+ system will try to autojoin the two tables you select In reporting tool V2.1 Architecture DB2 Repository Folders Procedures HTML files Bitmaps Schedules Distribution Lists Synonyms are stilled stored as text files in Apps directories in IFS 12

V2.1 New Security Model More granular control of objects Rules define what a user can or cannot do and are made up of: Groups container of users or subgroups with similar capabilities. Each top level folder will automatically create 6 groups/roles. Folder-Run Folder-Analyst Folder-Developer Folder-DBA Folder-Sched Folder-Admin Web Query Administrator Developer Workbench Group Metadata V2.1 added requested security granularity separating programming rights and metadata creation Only Folder DBAs and Web Query Administrators can create synonyms Synonyms can be created and EDITED from the Web Query portal (browser) Synonyms are created in application folders associated with Top Level Folders (same name) Only synonyms in baseapp can be seen by all Top Level Folders Refresh synonym Adds/deletes columns Maintains manual changes (joins/filters/dimensions/formatting etc.) For mass refresh use CRTWQSYN Green screen command CRTWQSYN allows you to create synonyms in batch Can specify *ALL files in a library Developer Workbench is not required for metadata editing (but is very nice to use!) 13

Row/Record Security Alternatives Complete security including securing developers SQL Views! Join to a table containing userid and security values Allows for more complex selection Very fast: DB2 optimization and checking JJANSEN SMITH SMITH JJANSEN JONES A programmer with DBA rights can create their own synonym and bypass secured synonyms See white paper in Wiki DBA Store security data and information directly in synonym Optimized DB2 Details next slide Web Query Join Create table with userid and authority values Join Security table to master file with secured field (i.e. COUNTRY) Retrieve run time userid Select records where run time user equals security userid In Report, compare user to &FOCUSER &FOCUSER optimized Report developer makes security decision In Master File have to use GETUSER( 10 ) NOT optimized CANADA GERMANY UNITED STATES UNITED STATES UNITED STATES DBA Jackie DEMOADMIN DEMODEV 14

Business Views Simplify list of columns by categorizing fields within folders Reduce fields user sees (simplicity and security) Part of Developers Workbench and browser portal (2.1) Global Filters Predefined Filters Global filters Report designer can easily select and reuse i.e. Europe filter might automatically select all countries in Europe Modified filters automatically used by all existing reports 15

Subfootings and Subheadings 5) Question: How to have a calculation at subtotal and not at detail level. Answer: Subfootings and Prefixes. Data Profiling: Developer Workbench and Web Query Synonym Editor (2.1) By column / table / cluster / view Pattern count, outliers Identifies Avg, Min/Max Number of distinct Values % of Nulls 16

General Tips SQL Wizard type or import an SQL statement Part of Developer Workbench Result set is sent to reporting tool for formatting Developer Workbench Show Desktop on Explorer Tree Confirm Close Use this setting General Tips Consider using a Prefix for synonym names to assist in grouping related tables together particularly in baseapp Backup libraries and IFS R1.2 SAVLIB QWEBQRY76 and QWEBQRY77 Sav - /QIBM/PRODDATA/WEBQUERY/IBI/* Sav - /QIBM/USERDATA/WEBQUERY/IBI/* R2.1 SAVLIB QWEBQRY and QWQREPOS Sav - /QIBM/PRODDATA/QWEBQUERY/* Sav - /QIBM/USERDATA/QWEBQUERY/* Use style sheets to format your reports You can modify provided style sheets or create your own.sty and.css Set your own default theme in InfoAssist 17

IBM Lab Services offerings for DB2 Web Query The DB2 for i Center of Excellence team within IBM Lab Services consists of a group of highly trained, senior level consultants with over 150 years of combined experience in helping AS/400, iseries, System i and now IBM i on Power Systems clients with database related services. DB2 Web Query Getting Started Services: Three days of onsite assistance Audience specific training (targeted training modules) Combination of presentation, demonstration and hands on labs covering DB2 Web Query, performance considerations, and critical success factors Getting started with Meta Data Workshop Query/400 Modernization Services Three days of onsite assistance Analyze current Query/400 environment using Lab Services developed discovery and analysis tools Develop roadmap to modernize reporting environment Build prototype of modernized environment with DB2 Web Query Use Services Voucher to cover or supplement costs of services For more information, contact Doug Mack at mackd@us.ibm.com The Forum and the WIKI IBM developerworks site for DB2 Web Query www.ibm.com/developerworks/spaces/db2webquery Registration Recommended KnowledgeBase and Forum Links to Additional Information WIKI Repository of technical information DB2 Web Query home page www.ibm.com/systems/i/db2/webquery Getting Started with DB2 Web Query Redbook V2.1 redbook available 4Q 2012 http://www.redbooks.ibm.com/abstracts/sg247214.html Download Sample Database (installed automatically with V2.1) 18

19