You are on page 1of 42

Using EVDRE

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

Why Do We Use EVDRE?

Scalability & Performance:


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 will eventually replace many other functions


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.)

Other EVDRE Benefits

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

Need a little more motivation?

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

Expand Range (OPTIONAL): Range including Expansion definitions

The Basics

EVRNG function:
EVRNG(Range1, Range2, Range3)

Range 1: The first range of cells Range 2 (OPTIONAL): A second range of cells

Range 3 (OPTIONAL): A third range of cells

The Key Range

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

Page Key Range

Defines the members that apply to the report / input schedule

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!!!

Col Key Range & Row Key Range

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

Cell Key Range

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

Get Only Range

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

Key Range Options

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

Expand Range Parameters

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

Using Different MemberSets in Multiple Expansions


You can apply different MemberSets to multiple expansions Separate the MemberSets with a pipe ( | )

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

BASMEMBERS All base level members in dimension (regardless of current member)


MEMBERS All members in dimension NOEXPAND Do not expand for this dimension

Other MemberSet Options

Hard-coded, comma-separated member IDs

Comma-separated MemberSet Options

PARENTAFTER Used with ALL and MEMBERS to place parent members after children

Relative MemberSet Options

Relative MemberSet

Complex Relative MemberSet

MemberSet Filtering with Properties

Right-click MemberSet cell in expansion:

Update Filter dialog

Automatically generates filter for MemberSet:

Combining MemberSet Flags and Properties

MemberSet flags can be combined with member properties for more complex expansion filtering

Flag AND/OR Property=Value

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

Combining multiple EVDRE

Sometimes multiple EVDREs are needed in a report/schedule


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

Combining Multiple EVDREs: An Example

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.

Advanced Formatting Options

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

The Format Range: Using the 6 column table

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

Format Range Columns


The 6 columns represent 6 separate parameters that define formatting instructions

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

ALL (or blank) PAGE COL ROW

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

ALL (or blank) NUMBERFORMAT FONT FONTSTYLE BORDER PATTERN LOCK

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

General Formatting Tips


Formats are applied when you perform an expansion in the report (cant be applied in static reports) Multiple instructions are applied to the report in sequence top to bottom Take advantage of the EVRNG function to reference the formatting table Be careful applying formats: Cover all scenarios

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

Before and After Range

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

Example After Range and EVSUM

Before and After Range Tips

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

Using EVCGT is a good way to retrieve comments into an EVDRE report/schedule

Questions

You might also like