power expressions: taking query to the next level session #20368 (m6) march 13, 2006 ~ monday 3:30 -...

70
Power Expressions: Power Expressions: Taking Query to Taking Query to the Next Level the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Post on 22-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Power Expressions:Power Expressions: Taking Query to Taking Query to the Next Levelthe Next Level Session #20368 (M6)

March 13, 2006~ Monday  3:30 - 4:30 ~

HEUG 2006 Alliance Conference

Nashville, Tennessee

Page 2: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Tim McGuireTim McGuire

Enterprise Information Systems Enterprise Information Systems Dept.Dept.

Information TechnologyInformation Technology

Functional Applications SpecialistFunctional Applications Specialist

Central Washington UniversityCentral Washington University

PeopleSoft Systems SupportPeopleSoft Systems Support – Since 2002– Since 2002

PresenterPresenter

Page 3: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 3

ObjectiveObjective

To use key SQL function To use key SQL function statements to expand the statements to expand the reporting functionality and reporting functionality and flexibility of the Query Tool.flexibility of the Query Tool.

Page 4: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 4

BenefitsBenefits

• Increase functional reporting Increase functional reporting options.options.• Reduce reliance on technical report Reduce reliance on technical report

creation.creation.• Produce a wider variety of query Produce a wider variety of query information and formats.information and formats.• Utilize query development validation Utilize query development validation tools.tools.

Page 5: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 5

PurposePurpose

• Expose the Concept of Using Expressions.Expose the Concept of Using Expressions.

• Illustrate the Potential with Examples.Illustrate the Potential with Examples.

• Provide Resources.Provide Resources.

Page 6: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 6

Major TopicsMajor Topics

• Intro to ExpressionsIntro to Expressions• Sample Function Statements Sample Function Statements • Conditional Logic Conditional Logic • Grouping Logic Grouping Logic • The Power ComboThe Power Combo

Page 7: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Main Campus

Located in Ellensburg, WA

8,359 students

Off-site Centers

Six off-site centers

- 4 centers in Western,

WA

- 2 centers in Eastern,

WA

1,525 students

7

CWU FactsCWU Facts

Page 8: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

8

PeopleSoft HRSA at PeopleSoft HRSA at CWUCWUVersion: PeopleSoft 8.0 SP1Version: PeopleSoft 8.0 SP1

PeopleTools: 8.20.06PeopleTools: 8.20.06

Database: Oracle 9Database: Oracle 9ii

Live Date: September 2004Live Date: September 2004

Self-Service Name: SafariSelf-Service Name: Safari

Page 9: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

9

VocabularyVocabulary•CWUCWU= Central = Central Washington University= Central = Central Washington University

•PeopleSoftPeopleSoft = the enterprise = the enterprise applicationapplication software software

formerly know as PeopleSoftformerly know as PeopleSoft

•OracleOracle = the = the databasedatabase developed by the company of developed by the company of

the same name that now owns the enterprise the same name that now owns the enterprise

application software formerly know as PeopleSoftapplication software formerly know as PeopleSoft

•SafariSafari = the name of the = the name of the HRSA system at CWUHRSA system at CWU using using

the enterprise application software formerly know the enterprise application software formerly know

as PeopleSoft and running on the database as PeopleSoft and running on the database

developed by the company of the same name that developed by the company of the same name that

now owns the enterprise application software now owns the enterprise application software

formerly know as PeopleSoftformerly know as PeopleSoft

Page 10: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 10

BackgroundBackground

• Experience from FMS and HRExperience from FMS and HR–Staffing, Focus, Reports

• Focus on Reporting Focus on Reporting –Inventory, Cleanup, Creation

• Conscious Decision to Maximize Conscious Decision to Maximize Use of Use of the Query Tool the Query Tool

–Ease, Flexibility, Technical Resources

Page 11: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 11

The Query Tool Is:The Query Tool Is:

• Data Retrieval ToolData Retrieval Tool–Pulls a list of data that match specific conditions or criteria.

Page 12: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 12

The Query Tool Is Not:The Query Tool Is Not:

•Reporting Tool (Crystal Reports)Reporting Tool (Crystal Reports)–Grouping, Headers, Totals & Sub-totals

•Formatting Tool (Word)Formatting Tool (Word)–Font, Layout, Pictures, Pretty

•Spreadsheet (Excel)Spreadsheet (Excel)–Data Manipulation (Auto Filter, Pivot-Tables)

•Green-bar Paper ReportGreen-bar Paper Report

Page 13: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

EXPRESSIONSEXPRESSIONS

Page 14: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 14

Introduction to Expressions Introduction to Expressions

• Expressions are Expressions are manuallymanually created created statements used to evaluate, statements used to evaluate, manipulate, or calculate values to manipulate, or calculate values to produce supplementary values or produce supplementary values or formats.formats.

• Provide Additional Flexibility.Provide Additional Flexibility.

• SQL Syntax is RDBMS Specific.SQL Syntax is RDBMS Specific.

Page 15: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 15

Expressions Window - WebExpressions Window - Web

Page 16: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 16

Expressions Window - ClientExpressions Window - Client

Page 17: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 17

Edit ExpressionsEdit Expressions

Web Version.Web Version.Client Version.Client Version.

Page 18: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 18

Text Editors – Text Editors – GridinSoft GridinSoft NotepadNotepad

Page 19: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 19

Text Editors – Note Tab LightText Editors – Note Tab Light

Page 20: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 20

Function Statements Function Statements

• Function Statements are Function Statements are predefined system commands predefined system commands expressed with their operational expressed with their operational parameters.parameters.

Page 21: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 21

Function Statements ~ Function Statements ~ Example: Example:

• JUMPJUMP

JUMP(‘Bob’,24,120)JUMP(‘Bob’,24,120)

How Long? How Long?

How High? How High?

Who?Who?

= 24 inches= 24 inches

= 120 = 120 secondsseconds= Bob= Bob

Page 22: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 22

Sample FunctionsSample Functions

• Basic Aggregate Functions (AVG, Basic Aggregate Functions (AVG, COUNT, COUNT, MAX, MIN, SUM)MAX, MIN, SUM)

• ABSABS

• CONCAT or ||CONCAT or ||

• GREATEST and LEASTGREATEST and LEAST

• INITCAP, LOWER, or UPPERINITCAP, LOWER, or UPPER

• LENGTHLENGTH

Page 23: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 23

Sample Functions ~ Sample Functions ~ ContinuedContinued• RANK, DENSE_RANK, or RANK, DENSE_RANK, or PERCENT_RANKPERCENT_RANK

• REPLACEREPLACE

• ROUND and TRUNCROUND and TRUNC

• SUBSTRSUBSTR

• SYSDATESYSDATE

• TO_CHAR or TO_NUMBERTO_CHAR or TO_NUMBER

• TRIM TRIM

Page 24: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

POWER POWER EXPRESSIONSEXPRESSIONS

• Conditional Logic Conditional Logic

• Grouping Logic Grouping Logic

• The Power ComboThe Power Combo

Page 25: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Conditional LogicConditional Logic

Page 26: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 26

Conditional Logic Conditional Logic (IF….THEN….ELSE)(IF….THEN….ELSE)

DECODEDECODE

DECODE(G.MON,'Y','M ',' ')DECODE(G.MON,'Y','M ',' ')

DECODE(A.INSTRUCTION_MODE,'IT','ITV/SATELLITE/DECODE(A.INSTRUCTION_MODE,'IT','ITV/SATELLITE/TELECAST' ,'P','IN PERSON' , 'WC','WEB TELECAST' ,'P','IN PERSON' , 'WC','WEB CENTRIC','WE','WEB ENHANCED','WP','WEB CENTRIC','WE','WEB ENHANCED','WP','WEB PRESENCE','OTHER')PRESENCE','OTHER')

– It is ORACLE specificIt is ORACLE specific– Limited to single positive conditions. Limited to single positive conditions.

Page 27: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 27

Conditional Logic Conditional Logic (IF….THEN….ELSE)(IF….THEN….ELSE)

CASECASE

CASE WHEN ….. THEN ….. ELSE ….. ENDCASE WHEN ….. THEN ….. ELSE ….. END

• CASE expressions are an ANSI-standard method for CASE expressions are an ANSI-standard method for embedding conditional IF…THEN…ELSE logic into a SQL embedding conditional IF…THEN…ELSE logic into a SQL statement.statement.

• CASE was introduced in Oracle8i and enhanced in CASE was introduced in Oracle8i and enhanced in Oracle9i.Oracle9i.

• CASE is part of the SQL standard, whereas DECODE is CASE is part of the SQL standard, whereas DECODE is not. Thus, the use of CASE is preferable.not. Thus, the use of CASE is preferable.

Page 28: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 28

Conditional Logic Conditional Logic (CASE (CASE simple)simple)

CASE WHEN B.FERPA = 'Y' THEN 'FERPA - DO NOT CASE WHEN B.FERPA = 'Y' THEN 'FERPA - DO NOT DISCLOSE' ELSE '' ENDDISCLOSE' ELSE '' END

CASE WHEN ….. THEN ….. ELSE ….. ENDCASE WHEN ….. THEN ….. ELSE ….. END

CASE WHENCASE WHENB.FERPA = 'Y'B.FERPA = 'Y'

THETHENN

'FERPA - DO NOT DISCLOSE''FERPA - DO NOT DISCLOSE'

ELSEELSE ''''

ENDEND

Page 29: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 29

Conditional Logic Conditional Logic (CASE long 1)(CASE long 1)

CASE WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = CASE WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C''C' AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C'AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C' AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C'AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C' AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C'AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C' AND E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'C'AND E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'C' AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'C'AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'C' AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C'AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C' AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C'AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C' AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C'AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C' AND J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS = 'C'AND J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS = 'C' AND K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS = 'C'AND K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS = 'C' AND L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS = 'C'AND L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS = 'C' THEN 'ADMIT_FULL'THEN 'ADMIT_FULL'

Page 30: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 30

Conditional Logic Conditional Logic (CASE long 2)(CASE long 2)

WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C'WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C' AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C'AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C' AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C'AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C' AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C'AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C' AND E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'C'AND E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'C' AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'N'AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'N' AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C'AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C' AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C'AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C' AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C'AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C' AND J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS = 'C'AND J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS = 'C' AND K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS = 'C'AND K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS = 'C' AND L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS = 'C'AND L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS = 'C' THEN 'ADMIT_PROB'THEN 'ADMIT_PROB'

Page 31: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 31

Conditional Logic Conditional Logic (CASE long 3)(CASE long 3)

WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C'WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C' AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C'AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C' AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C'AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C' AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C'AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C' AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'C'AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'C' AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C'AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C' AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C'AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C' AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C'AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C' AND (E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'I'AND (E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'I' OR J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS IN ('I','R')OR J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS IN ('I','R') OR K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS IN ('I','R')OR K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS IN ('I','R') OR L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS IN OR L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS IN ('I','R'))('I','R')) THEN 'PROV_ADMIT'THEN 'PROV_ADMIT'

Page 32: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 32

Conditional Logic Conditional Logic (CASE long 4)(CASE long 4)

WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C'WHEN A.CHKLST_ITEM_CD = 'CAPPL' AND A.ITEM_STATUS = 'C' AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C'AND B.CHKLST_ITEM_CD = 'C45CR' AND B.ITEM_STATUS = 'C' AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C'AND C.CHKLST_ITEM_CD = 'CRECT' AND C.ITEM_STATUS = 'C' AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C'AND D.CHKLST_ITEM_CD = 'CRECO' AND D.ITEM_STATUS = 'C' AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'N'AND F.CHKLST_ITEM_CD = 'CGPA' AND F.ITEM_STATUS = 'N' AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C'AND G.CHKLST_ITEM_CD = 'CFIPR' AND G.ITEM_STATUS = 'C' AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C'AND H.CHKLST_ITEM_CD = 'CCAFS' AND H.ITEM_STATUS = 'C' AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C'AND I.CHKLST_ITEM_CD = 'CTRAN' AND I.ITEM_STATUS = 'C' AND (E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'I'AND (E.CHKLST_ITEM_CD = 'CPRE' AND E.ITEM_STATUS = 'I' OR J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS IN ('I','R')OR J.CHKLST_ITEM_CD = 'CWBM' AND J.ITEM_STATUS IN ('I','R') OR K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS IN ('I','R')OR K.CHKLST_ITEM_CD = 'CWBR' AND K.ITEM_STATUS IN ('I','R') OR L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS IN OR L.CHKLST_ITEM_CD = 'CWBW' AND L.ITEM_STATUS IN ('I','R'))('I','R')) THEN 'PROV_PROB'THEN 'PROV_PROB'ELSE 'NEW'ELSE 'NEW'ENDEND

Page 33: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 33

Conditional Logic Conditional Logic (CASE mixed)(CASE mixed)

CASE WHENCASE WHEN (B.COUNTRY = 'USA'  AND (B.COUNTRY = 'USA'  AND LENGTH(LENGTH(TRIM(TRIM(B.POSTALB.POSTAL)))) = 9) = 9)        THENTHEN SUBSTR(SUBSTR(B.POSTALB.POSTAL,1,5),1,5) |||| '-' '-' |||| SUBSTR(SUBSTR(B.POSTALB.POSTAL,6,4),6,4)     ELSEELSE TRIM(TRIM(B.POSTALB.POSTAL)) ENDEND

CASE, CASE, LENGTH,LENGTH, SUBSTR,SUBSTR, ||,||, TRIMTRIM

Before After9892674059802098948-3722

98926-74059802098948-3722

Zip Code Plus 4Zip Code Plus 4

Page 34: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 34

Conditional Logic Conditional Logic (CASE nested (CASE nested 1)1)

CASE WHEN (SUM(C.UNT_TRNSFR * C.GRD_PTS_PER_UNIT) / SUM(C.UNT_TRNSFR)) IS NULL THEN A.CUM_GPA ELSE (CASE WHEN SUM(C.UNT_TRNSFR) IS NOT NULL OR A.TOT_TAKEN_GPA IS NOT NULL THEN (CASE WHEN SUM(C.GRD_PTS_PER_UNIT * C.UNT_TRNSFR) IS NULL THEN A.TOT_GRADE_POINTS ELSE SUM(C.GRD_PTS_PER_UNIT * C.UNT_TRNSFR) + A.TOT_GRADE_POINTS END / CASE WHEN SUM(C.UNT_TRNSFR) IS NULL THEN A.TOT_TAKEN_GPA ELSE SUM(C.UNT_TRNSFR) + A.TOT_TAKEN_GPA END) ELSE 0 END) END

CASE WHEN ….. THEN ….. ELSE ….. ENDCASE WHEN ….. THEN ….. ELSE ….. END

Page 35: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 35

Conditional Logic Conditional Logic (CASE nested (CASE nested 2)2)

CASE WHEN (SUM(C.UNT_TRNSFR * C.GRD_PTS_PER_UNIT) / SUM(C.UNT_TRNSFR)) IS NULL THEN A.CUM_GPA ELSE (CASE WHEN SUM(C.UNT_TRNSFR) IS NOT NULL OR A.TOT_TAKEN_GPA IS NOT NULL THEN (CASE WHEN SUM(C.GRD_PTS_PER_UNIT * C.UNT_TRNSFR) IS NULL THEN A.TOT_GRADE_POINTS

ELSE SUM(C.GRD_PTS_PER_UNIT * C.UNT_TRNSFR) + A.TOT_GRADE_POINTS END / CASE WHEN SUM(C.UNT_TRNSFR) IS NULL THEN A.TOT_TAKEN_GPA ELSE SUM(C.UNT_TRNSFR) + A.TOT_TAKEN_GPA END) ELSE 0 END)END

Page 36: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 36

Conditional Logic Conditional Logic (CASE (CASE nested)nested) Note: The maximum number of arguments in a CASE expression is 255, and each WHEN ... THEN pair counts as two arguments. To avoid exceeding the limit of 128 choices, you can nest CASE expressions.

CASE WHEN ….. THEN ….. ELSE ….. ENDCASE WHEN ….. THEN ….. ELSE ….. END

Page 37: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Grouping LogicGrouping Logic

Page 38: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 38

Grouping LogicGrouping Logic -- INTRODUCTIONINTRODUCTION

• GroupingGrouping

• Sub-TotalsSub-Totals

• Totals of GroupsTotals of Groups

• Window StatementWindow Statement

• Partition StatementPartition Statement

• Group AggregateGroup Aggregate

Page 39: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 39

Grouping Logic - Grouping Logic - DEFINITIONDEFINITION

• Analytic functions compute an aggregate value based on a group of rows.

Analytic functions are the last set of operations performed in a query except for the final ORDER BY clause. All joins and all WHERE, GROUP BY, and HAVING clauses are completed before the analytic functions are processed.

Analytic functions are commonly used to compute cumulative, moving, centered, and reporting aggregates.

ANALYTIC FUNCTIONSANALYTIC FUNCTIONS

Page 40: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 40

Grouping Logic - Grouping Logic - ANALYTIC ANALYTIC

FUNCTIONSFUNCTIONS

…….. (…..) OVER (PARTITION BY ….. ).. (…..) OVER (PARTITION BY ….. )

COUNT (…..) OVER (PARTITION BY ….. )COUNT (…..) OVER (PARTITION BY ….. )

COUNT (COUNT (A.EMPLIDA.EMPLID) OVER (PARTITION BY ) OVER (PARTITION BY A.STRMA.STRM))

Partition Statement SyntaxPartition Statement Syntax

Page 41: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 41

Grouping Logic – Grouping Logic – Create New Create New ExpressionExpression

REMEMBERREMEMBER

• Adjust Expression Adjust Expression Type as needed.Type as needed.

• Remember to enter Remember to enter an appropriate an appropriate Length.Length.

• Do Not Select the Do Not Select the Aggregate Function.Aggregate Function.

• Use ‘Add’ Buttons as Use ‘Add’ Buttons as usual.usual.

Page 42: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 42

Grouping Logic –Grouping Logic – Use as Output Use as Output FieldField

COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)

Edit Heading TextEdit Heading Text

Page 43: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 43

Grouping LogicGrouping Logic –– Run & View Run & View ResultsResults

COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)

• Function Function operation and operation and grouping happens grouping happens after all query after all query criteria have been criteria have been met. met.

• Calculation is Calculation is independent of independent of output.output.

• The value repeats The value repeats for each row with for each row with that that group/partition.group/partition.

Page 44: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 44

Grouping LogicGrouping Logic –– Different GroupsDifferent Groups

COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)

COUNT (A.EMPLID) OVER (PARTITION BY COUNT (A.EMPLID) OVER (PARTITION BY A.ACAD_LEVEL_BOTA.ACAD_LEVEL_BOT))

Page 45: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 45

Grouping LogicGrouping Logic –– DistinctDistinct

COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)COUNT (A.EMPLID) OVER (PARTITION BY A.STRM)COUNT (A.EMPLID) OVER (PARTITION BY COUNT (A.EMPLID) OVER (PARTITION BY A.ACAD_LEVEL_BOT)A.ACAD_LEVEL_BOT)

COUNT (COUNT (DISTINCTDISTINCT A.EMPLID) OVER (PARTITION BY A.EMPLID) OVER (PARTITION BY A.ACAD_LEVEL_BOT)A.ACAD_LEVEL_BOT)

Page 46: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 46

Grouping LogicGrouping Logic –– Multiple GroupsMultiple GroupsCOUNT (A.EMPLID) OVER (PARTITION BY COUNT (A.EMPLID) OVER (PARTITION BY A.ACAD_LEVEL_BOT)A.ACAD_LEVEL_BOT)COUNT (DISTINCT A.EMPLID) OVER (PARTITION BY COUNT (DISTINCT A.EMPLID) OVER (PARTITION BY

A.ACAD_LEVEL_BOT)A.ACAD_LEVEL_BOT)COUNT (DISTINCT A.EMPLID) OVER COUNT (DISTINCT A.EMPLID) OVER (PARTITION BY A.ACAD_LEVEL_BOT(PARTITION BY A.ACAD_LEVEL_BOT, , A.STRMA.STRM))

Page 47: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 47

Grouping LogicGrouping Logic –– SUM a GroupSUM a Group

Total Credits by Total Credits by ID ID

SUMSUM ( (A.UNT_TAKEN_PRGRSSA.UNT_TAKEN_PRGRSS) OVER (PARTITION BY ) OVER (PARTITION BY A.EMPLIDA.EMPLID))

Page 48: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 48

Grouping LogicGrouping Logic –– Query Tools 1Query Tools 1

COUNT (A.EMPLID) OVER (PARTITION BY COUNT (A.EMPLID) OVER (PARTITION BY 'C''C'))

Group by a Group by a ConstantConstant

COUNT (COUNT (DISTINCTDISTINCT A.EMPLID) OVER (PARTITION BY A.EMPLID) OVER (PARTITION BY 'C''C'))

Page 49: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 49

Grouping LogicGrouping Logic –– Query Tools 2Query Tools 2

Count Multiple ID’s Count Multiple ID’s

COUNT (COUNT (A.EMPLIDA.EMPLID) OVER (PARTITION BY ) OVER (PARTITION BY A.EMPLIDA.EMPLID))

Page 50: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 50

Grouping LogicGrouping Logic –– ORDER BYORDER BY…….. (…..) OVER (PARTITION BY .. (…..) OVER (PARTITION BY A.ACAD_LEVEL_BOT A.ACAD_LEVEL_BOT ORDER BYORDER BY A.CUM_GPAA.CUM_GPA DESCDESC))

((PERCENT_RANK () OVER (PARTITION BY PERCENT_RANK () OVER (PARTITION BY A.ACAD_LEVEL_BOT ORDER BY A.CUM_GPA DESC)A.ACAD_LEVEL_BOT ORDER BY A.CUM_GPA DESC)) * ) * 100 100

PERCENT_RANK ()PERCENT_RANK () OVER (PARTITION BY OVER (PARTITION BY A.ACAD_LEVEL_BOT A.ACAD_LEVEL_BOT ORDER BYORDER BY A.CUM_GPAA.CUM_GPA DESCDESC))

Page 51: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 51

Grouping Logic - Grouping Logic - ANALYTIC ANALYTIC

FUNCTIONSFUNCTIONS

…….. (…..) OVER (PARTITION BY ….. ).. (…..) OVER (PARTITION BY ….. )

Partition Statement SyntaxPartition Statement Syntax

…….. (…..) OVER (PARTITION BY ….. ORDER BY ….. DESC).. (…..) OVER (PARTITION BY ….. ORDER BY ….. DESC)

Page 52: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

The Power The Power ComboCombo

Page 53: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 53

Power Combo – Power Combo – IntroductionIntroduction

…….. (…..) OVER (PARTITION BY ….. ).. (…..) OVER (PARTITION BY ….. )

CASE WHEN ….. THEN ….. ELSE ….. ENDCASE WHEN ….. THEN ….. ELSE ….. END

CASE WHEN CASE WHEN ((….. (…..) OVER (PARTITION BY ….. (…..) OVER (PARTITION BY ….. )….. ))) > 0> 0 THEN ….. ELSE ….. END THEN ….. ELSE ….. END

…….. (.. (CASE WHEN ….. THEN ….. ELSE ….. CASE WHEN ….. THEN ….. ELSE ….. ENDEND) OVER (PARTITION BY ….. )) OVER (PARTITION BY ….. )

Page 54: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 54

Power Combo – Power Combo – Example 1Example 1

SUMSUM ( (B.UNT_PRGRSSB.UNT_PRGRSS) OVER (PARTITION BY ) OVER (PARTITION BY A.EMPLIDA.EMPLID))

SUM (SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN CASE WHEN B.ENRL_ADD_DT <= :2 THEN B.UNT_PRGRSS ENDB.UNT_PRGRSS END) OVER (PARTITION BY A.EMPLID)) OVER (PARTITION BY A.EMPLID)

Total Credits per Total Credits per PersonPerson

Total Credits per Person as of Total Credits per Person as of DateDate

Page 55: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 55

Power Combo – Power Combo – Example 1 - Example 1 - continuedcontinued

WHEN (SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN WHEN (SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN B.UNT_PRGRSS B.UNT_PRGRSS END) OVER (PARTITION BY A.EMPLID)) END) OVER (PARTITION BY A.EMPLID)) BETWEEN 9 BETWEEN 9 AND 11 AND 11 THEN ‘3Quarter'THEN ‘3Quarter'

WHEN (SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN WHEN (SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN B.UNT_PRGRSS B.UNT_PRGRSS END) OVER (PARTITION BY A.EMPLID)) END) OVER (PARTITION BY A.EMPLID)) BETWEEN 6 BETWEEN 6 AND 8 AND 8

THEN 'Half'THEN 'Half'

ELSE 'Less'ELSE 'Less'

ENDEND

Enrollment Status as of Enrollment Status as of DateDate

CASE WHEN (CASE WHEN (SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN SUM (CASE WHEN B.ENRL_ADD_DT <= :2 THEN B.UNT_PRGRSS B.UNT_PRGRSS END) END) OVER (PARTITION BY A.EMPLID)OVER (PARTITION BY A.EMPLID)) ) >= 12 THEN 'Full'>= 12 THEN 'Full'

Page 56: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 56

Power Combo – Power Combo – Example 2Example 2

Teacher Certification:Teacher Certification:Totals for Ethnicity & Totals for Ethnicity &

GenderGender

Page 57: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 57

Power Combo – Power Combo – Example 2 Example 2 continuedcontinued

Totals for Ethnicity & GenderTotals for Ethnicity & Gender

A.STDNT_GROUP  || ':   ' || COUNT (DISTINCT A.EMPLID) OVER (PARTITION BY A.STDNT_GROUP)

Page 58: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 58

Power Combo – Power Combo – Example 2 cont.Example 2 cont.

Totals for Ethnicity & GenderTotals for Ethnicity & Gender

COUNT (DISTINCT (CASE WHEN B.SEX = 'M' THEN A.EMPLID END)) OVER (PARTITION BY A.STDNT_GROUP)

Page 59: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 59

Power Combo – Power Combo – Example 2 cont.Example 2 cont.

Totals for Ethnicity & GenderTotals for Ethnicity & Gender

COUNT (DISTINCT (CASE WHEN D.ETHNIC_GROUP = 4 THEN A.EMPLID END)) OVER (PARTITION BY A.STDNT_GROUP)

Page 60: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 60

Power Combo – Power Combo – Example 2 cont.Example 2 cont.

Totals for Ethnicity & GenderTotals for Ethnicity & Gender

• Remove all Remove all output fields with output fields with unique data in unique data in them - EMPLID, them - EMPLID, STRM, etc.STRM, etc.

Page 61: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 61

Power Combo – Power Combo – Example 2 cont.Example 2 cont.

Totals for Ethnicity & GenderTotals for Ethnicity & Gender

• Select the Select the Distinct Check Distinct Check Box to suppress Box to suppress duplication for duplication for entire query.entire query.

(The Distinct Query (The Distinct Query option happens last option happens last so it does not affect so it does not affect any query selection any query selection criteria or criteria or computation.)computation.)

• Select the Query Select the Query Properties LinkProperties Link

Page 62: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 62

Power Combo – Power Combo – Example 2Example 2

To Produce Grand Total Reports To Produce Grand Total Reports like:like:

Totals for Ethnicity & GenderTotals for Ethnicity & Gender

Totals of Students & Guests at Orientation Totals of Students & Guests at Orientation MeetingsMeetings

Page 63: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 63

Power Combo – Power Combo – ConclusionConclusion

…….. (…..) OVER (PARTITION BY ….. ).. (…..) OVER (PARTITION BY ….. )

CASE WHEN ….. THEN ….. ELSE ….. ENDCASE WHEN ….. THEN ….. ELSE ….. END

Combining these two Power Expression Combining these two Power Expression greatly increases the Query Tool’s greatly increases the Query Tool’s flexibility and power.flexibility and power.

Page 64: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 64

What We Have LearnedWhat We Have Learned

•Reporting is a key component of a successful system.Reporting is a key component of a successful system.•Some people will always like Green-bar better.Some people will always like Green-bar better.•Query can be a very flexible and powerful tool.Query can be a very flexible and powerful tool.•The Query Tool is not always the best solution.The Query Tool is not always the best solution.•Help End Users to understand the benefits of Excel.Help End Users to understand the benefits of Excel.•Relying on Query too much for both functional Relying on Query too much for both functional processes and reporting needs can be problematic in the processes and reporting needs can be problematic in the long run.long run.•It is important to have a clear understanding of the It is important to have a clear understanding of the actual need.actual need.•Queries that try to do too much can have performance Queries that try to do too much can have performance issues.issues.•Creativity and perseverance can solve a lot of Creativity and perseverance can solve a lot of problems.problems.

Page 65: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 65

Resources Resources • Harvard – Key Functions in Oracle SQLHarvard – Key Functions in Oracle SQL

http://vpf-web.harvard.edu/applications/ad_hoc/key_functions_in_oracle_sql.pdf

• Oracle SQL Reference Oracle SQL Reference 99i i web: web: http://www.cs.ncl.ac.uk/teaching/facilities/swdoc/oracle9i/server.920/a96540/toc.htm

99i i pdf: pdf: http://www.cs.utah.edu/classes/cs6530/oracle/doc/B10501_01/server.920/http://www.cs.utah.edu/classes/cs6530/oracle/doc/B10501_01/server.920/a96540.pdfa96540.pdf

88i i web:web: http://h50.isi.u-psud.fr/docmiage/oracle/doc/server.817/a85397/toc.htm

88i i pdf:pdf: http://csis.pace.edu/support/sql_reference.pdf

• NoteTab LightNoteTab Light http://www.notetab.com/ntl.php

• GridinSoft Notepad LiteGridinSoft Notepad Lite http://www.gridinsoft.com/downloads.php

Page 66: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 66

SummarySummary

• You have now been exposed to the concept of You have now been exposed to the concept of using expressions in your queries.using expressions in your queries.

• With the examples given you can see there is With the examples given you can see there is great potential to what you can accomplish great potential to what you can accomplish with just a few powerful expressions and your with just a few powerful expressions and your creativity.creativity.

• Some useful resources have been provided for Some useful resources have been provided for you to increase your understanding of you to increase your understanding of expressions and function statements.expressions and function statements.

Page 67: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 67

ConclusionConclusion

SQL Function Statements can really expand the reporting functionality and flexibility of the Query Tool.

Using Power Expressions will help you take Query to the Next Level.

Page 68: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

QUESTIONS?QUESTIONS?

Page 69: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

Page 69

ContactContact

Tim McGuireTim McGuireInformation Technology Applications Information Technology Applications SpecialistSpecialist

Central Washington UniversityCentral Washington University

509-963-2921509-963-2921

E-mail: E-mail: [email protected]

Page 70: Power Expressions: Taking Query to the Next Level Session #20368 (M6) March 13, 2006 ~ Monday 3:30 - 4:30 ~ HEUG 2006 Alliance Conference Nashville, Tennessee

This presentation and all HEUG This presentation and all HEUG 2006 presentations are 2006 presentations are

available for download from available for download from HEUG OnlineHEUG Online

http://heug.orghttp://heug.org

Presentations from previous HEUG meetings are also availablePresentations from previous HEUG meetings are also available