Professional Documents
Culture Documents
Session Objectives
EVDRE Overview The Basics Complex Reporting with EVDRE Filtering and Suppression with EVDRE
EVDRE Overview
EVDRE = Data Range Exchange What is the main difference between EVGET & EVDRE?
Range based send and retrieve vs. cell based send and retrieve with other functions
The Shared Query Engine (SQE) evaluates EVDRE as 1 query EVGTS (and the like) pass the SQE 1 query per function (so if you have a 10x10 report, this is 100 queries!) and it combines them in the best way it can Can read data directly from SQL Even greater performance enhancement with Nested Rows/Columns
EVDRE is the ONLY way to develop reports on the Oracle/UNIX platform Development has stated that all future enhancements to send/retrieve functionality will ONLY be for EVDRE (no enhancements to EVGET, EVSND, etc.)
One function to both send & retrieve Supports any number of nesting on the rows/columns and performs much more efficiently than EVNXP Smaller Workbook Size One function vs. a function in every cell Complex Suppression Multiple Expansions It is easier to build reports that require multiple expansions on a single worksheet
EVDRE is the basis for nearly ALL of the reports templates in the demo application set In order to customize these templates for implementation/proof of concept, you will need a deep understanding of how to work with EVDRE
The Basics
EVDRE function:
EVDRE(Application, KeyRange, Expand Range)
Application: Application Name Key Range: Range defining Page Keys, Row Keys, Column Keys, and other options
The Basics
EVRNG function:
EVRNG(Range1, Range2, Range3)
Range 1: The first range of cells Range 2 (OPTIONAL): A second range of cells
Defines where the EVDRE can find important information Uses the EVRNG function to define the ranges You can define multiple key ranges, separated by commas
All dimensions in your application are automatically created in the Page Key when a new EVDRE is used
The member for each dimension is tied to the Current View, unless you choose to override For dimensions not defined in either the PageKeyRange or the Row/Column Keys, the member for that dimension will be based on the Current View You can define comma-delimited members as page keys This is critical, this means that you can aggregate members together on the fly!!!
Defines the members to use in the columns/rows Overrides the Page Key for selected dimensions Can include multiple rows/columns or a single row/column The members in the Col/Row Key Range do NOT have to be part of an expansion
Can be used to overwrite a member ID in the ColKey/RowKey Range for a SPECIFIC cell Can ONLY be used in reports with NO Expansion For more specific info, see OutlookSoft for Excel Help
Used to define read-only data ranges in EVDRE input schedules The Get Only Range can be a subset of the full data range
Format Range
Used to define the format for the report Can be a single cell to format the data range or a range using advanced formatting options Formatting is applied during expansion. If you arent using expansion, the FormatRange is irrelevant. More to come in a later workshop
Used to apply advanced settings to reports: AutoFitCol: dynamically sizes column widths so everything fits ExpandOnly: only expands the report, does not retrieve/send data ShowComments: adds a comment to cells in the data range with a formula, if the value retrieved from the database is different than the formula result SuppressNoData: only missing (null) values will be suppressed. Zero values will still appear. SumParent: inserts a SUM formula for parents instead of retrieving the value from the database. NoRefresh/NoSend: Prevents Send/Refresh
HideRowKeys/HideColKeys: Hide row/col keys SuppressDataRow/SuppressDataCol: allows removal of entire rows/columns with no data values. Requires 2 EVDREs, one to retrieve and one to suppress.
ExpandRange
Defines expansions for both columns and rows Is the optional parameter in the EVDRE function References 3 required parameters and 4 optional parameters Can include multiple row/column expansions
Required Parameters
ExpandIn axis (COL or ROW) Dimension dimension name for expansion MemberSet defines expansion rules Similar to the IncludeFlag in EVEXP
Optional Parameters
BeforeRange dynamically inserts specified rows/columns before member set AfterRange dynamically inserts specified rows/columns after member set Suppress zero suppression for rows and/or columns Insert allows users to right click to insert a new row/column by selecting the member(s)
Multiple Expansions
The same expansion can be repeated within the row or column axis by creating the expansion and defining multiple key ranges in the ColKeyRange or RowKeyRange
MemberSet Options
SELF Current member ALL All descendants of current member BAS All base level members below current member DEP All dependents of current member
PARENTAFTER Used with ALL and MEMBERS to place parent members after children
Relative MemberSet
MemberSet flags can be combined with member properties for more complex expansion filtering
This example returns all base-level members below Current View Account that are also expense accounts
Suppression in Expansions
To suppress rows/columns across the entire report or input schedule, use a Y in the Suppress option
SuppressNoData Only suppresses rows/columns that contain no data (null); still displays zeros (NOTE: This is not the default)
To suppress on rows/columns based on data not found in the report, use a comma delimited member set in the suppress option
Need different row/col keys for the expansion than for the send/retrieve Need more than one expansion in the rows/columns (not nested) The send/retrieve is based on a property or other attribute derived from the members in the expansion
Lets say I want to develop an input schedule for entering HR information. I want to select a position, and based on this selection, automatically determine whether the salary information should be sent to Salaries_Exempt or Salaries_NonExempt. I will need one EVDRE to expand employees & positions and a second EVDRE to send the data to the appropriate account. Why? I need account to be a row key, but I cant generate this correctly as part of the expansion, because I dont know what position a user may select.
Can use a single cell to format data range Can leave blank, so report will format based on first row/column format Can reference a 6 column table for complex formatting options
Defines specific parameters for each formatting instruction Each row represents a separate formatting instruction to be applied to your report/schedule Formats are applied from top down so you can define priority in case a cell meets more than one criteria
CRITERIA
EVALUATE IN FORMAT USE PARAMETERS
APPLY TO
The columns are all required and must be found in the correct order Note: The column titles are never included in the FormatRange
CRITERIA Column
Defines what triggers the formatting instruction Currently supported values:
DEFAULT
CALC Calculated members INPUT Base-level, non-calculated members DIMENSION.PROPERTY=Value Members that contain specified member property values
EVALUATE IN Column
Restricts the area for which the CRITERIA is evaluated Currently Supported Values
FORMAT Column
Contains the format that will be applied Defined by using Excel formats Format the cell in the format column exactly the way you would in Excel
USE Column
Specifies which components of the defined format should be applied
PARAMETERS Column
Used to dynamically set various formatting options, such as NUMBERFORMAT Examples:
NUMBERFORMAT=ACCOUNT.FORMAT The number format is taken from what is defined in the FORMAT property of the Account dimension Note: To activate this feature the CRITERIA must be set to ACCOUNT.SCALING=1
APPLY TO Column
Defines which sections to apply the specified format Currently supported values
ALL (or blank) KEY ID field DATA Data Fields HEADING Description Fields
If you have a format on the Row Heading for a calculated member, make sure to have a default row heading for non calculated members
Optional parameter that you can use to dynamically insert rows and columns of data Same functionality for both, but one puts range before your expansion range and one puts range after Can be used for:
Inserting comments Advanced Formatting (Section Breaks) Summing sections (use EVSUM command) Replicating Repeat Block functionality
Make sure your EVRNG function includes the appropriate columns or rows If nesting dimensions, changing which dimension contains the before or after range will affect the result
Additional Tips
To use scaling, use Excels custom number format to display numbers in thousands, millions, etc. If the format table suddenly stops formatting the way you expect, sometimes hitting F2 then enter through the format range fixes the problem
F2 then enter on the whole EVDRE range has proven to fix EVDRE errors on occasion
Sometimes copying the range with EVDRE to another workbook will resolve pesky EVDRE errors
Questions