During this hour
• Discuss a few ‘best practices’ in relationship to Financial Modeling Language or what was called
Financial Reporting Language.• Emphasis is on creating DYNAMIC
query solutions.
During this hour
• Which means getting down to the source code behind the query.
• Preparation of temporary or permanent files to hold data extracts.
• Generating DEFINES on the fly.
During this hour
• Developing and utilizing ‘hierarchies’ created with FOCUS databases & JOIN with relational database tables.
• How to populate ‘the hierarchy’ within a FOCUS database from sequential data sources utilizing MODIFY.
During this hour..we shall
• Develop General Ledger and other financial reports with the assistance of the hierarchy.
• Modify hierarchies to create reports that require ‘time based’ hierarchies.
During this hour..we shall
• Learn how WebFOCUS may be used with SQL Server OLAP cubes.
• Learn how easily reports can be created when their source data comes from an OLAP cube.
So where do we start
Hierarchies&
FOCUS reporting
File persistence
-SET &TEMPPATH = TEMPPATH(100,'A100');-TYPE &TEMPPATHFILEDEF HOLDMAST DIR &TEMPPATHFILEDEF HOLDMAST DIR C:\IBI\APPS\COREFOCUSFRL APP HOLD COREFOCUSFRLFILEDEF SSCGL DISK C:/FUSE2008/SSCGL.foc-RUN
Hierarchy on business server
Create a ‘Flat File’ extract
Load the extract into FOCUS file
Data files joined to hierarchy
Best Practices
From data source
Extract hierarchy data from source
TABLE FILE CHARTDATAPRINTGL_ACCOUNTGL_ACCOUNT_PARENTGL_ACCOUNT_TYPEGL_ROLLUP_OPGL_ACCOUNT_LEVELGL_ACCOUNT_CAPTIONSYS_ACCOUNTON TABLE SAVE AS CHARTDATAHOLD1END
Creating the flat file
Loading the FOCUS file
CREATE FILE SSCGL-RUNMODIFY FILE SSCGLCOMPUTE TEMP1/A1 =' ';FIXFORM GL_ACCOUNT/A4 GL_ACCOUNT_PARENT/A4 FIXFORM GL_ACCOUNT_TYPE/A1 FIXFORM GL_ROLLUP_OP/A1 TEMP1 FIXFORM GL_ACCOUNT_CAPTION/A30FIXFORM SYS_ACCOUNT/A25COMPUTE GL_ACCOUNT_LEVEL = EDIT(TEMP1);MATCH GL_ACCOUNT ON MATCH REJECT ON NOMATCH INCLUDEDATA ON CHARTDATAHOLD1END
Data from the fact table
Join SYS_ACCOUNT on the Hierarchy table with SYS_ACCOUNT on the fact table
TABLE FILE FUSEFASB PRINT MARKETVALB TOTALCOSTL TOTALCOSTBBY SYS_ACCOUNTWHERE SYS_ACCOUNT NE ' 'ON TABLE HOLD AS FUSEFASB1 FORMAT FOCUS INDEX SYS_ACCOUNTEND
Demo 1
Creating acalendar
Demo 2Code for calendar
Creating an availability
report
Demo 3‘Availability
Report’
FML & dynamic code generation
I want 6 days
No changed my mind
I want 21 days!!
Nothing hardwired
Driven by extract criteria
Dialog Manager
Keep it as simple
Best Practices
So with Dialog Manager
-REPEAT LOOPER4 FOR &I FROM 1 TO &RECS STEP 1-SET &J= &I +1;-SET &DIFFVAL = IF (&I GE 1) AND (&I LE 9) THEN '0' || EDIT(&I) ELSE EDIT(&I);-SET &DIFFVALJ = IF (&J GE 1) AND (&J LE 9) THEN '0' || EDIT(&J) ELSE EDIT(&J);-IF &I NE 1 THEN GOTO BYPASSME;-SET &STATEMENT = 'WHAT_AM_I/A3 = IF VAL' || &DIFFVAL | ' EQ VAL' || EDIT(&RECS) | ' THEN ';-SET &STATEMENT = &STATEMENT | &APOST || '-' || &APOST | ' ELSE ' ;-WRITE BUYORSELL &STATEMENT-GOTO LOOPER4
We generate the following DEFINE
WHAT_AM_I/A3 = IF VAL01 EQ VAL20 THEN '-' ELSEIF VAL03 GT VAL02 THEN 'B' ELSEIF VAL04 GT VAL03 THEN 'B' ELSE…IF VAL10 GT VAL09 THEN 'B' ELSEIF VAL11 GT VAL10 THEN 'B' ELSE WHAT_AM_I;WHAT_AM_I = IF VAL12 GT VAL11 THEN 'B' ELSEIF VAL13 GT VAL12 THEN 'B' ELSEIF VAL14 GT VAL13 THEN 'B' ELSE……IF VAL21 GT VAL20 THEN 'B' ELSE WHAT_AM_I;
For 6 days
For 21 days
Demo 4The ‘Roll Forward’
report
Working with OLAP cubes
SQL Server Analysis Services
&Visual Studio 2005
Demo 5OLAP cubes
& WebFOCUS
During this hour..we
• Discussed a few Financial Modeling Language ‘best practices’.
• Emphasis was placed on creating DYNAMIC query solutions.
During this hour..we• Delved into the source code behind
the queries.• More fine tuning can be done at code
level.• Saw how to retain our ‘holdmasts’
and our data extracts.• Generated DEFINES on the fly.
(Code is now more extensible)
During this hour..we• Developed and utilized ‘hierarchies’
created with FOCUS databases and JOINED to relational database tables.
• Learnt how to populate ‘the hierarchy’ within a FOCUS database from sequential data sources utilizing MODIFY.
During this hour..we
• Developed a General Ledger and other financial reports with the assistance of the hierarchy.
• Modified hierarchies to create reports requiring ‘time based’ hierarchies.
During this hour..we have
• Learnt how WebFOCUS may be used with SQL Server OLAP cubes.
• Learnt how easily reports can be created when their source data comes from an OLAP cube.
Thank you!
Please remember to complete your evaluation form and submit it to the proctor
Thank you for attending this session and the 2008 Information Builders Summit in
Nashville
Questions
PowerPoint Presentation & Source Code may be found at…http://cid-4c765fc825912e4d.skydrive.live.com/browse.aspx/Public