Hyperion Querying (a) – The Basics IR Querying - Basics.pdf · What is a Hyperion Query? In...

Preview:

Citation preview

Hyperion Querying (a) – The BasicsHyperion IR Reporting 102

By UITS Reporting Services

What is a Hyperion Query?

In Hyperion a query is a type of section within a Hyperion document. It is used to send defined query logic to databases and/or other sources for the purpose of retrieving data as rows & columns. Nearly all Hyperion documents that you will work with will contain at least one query section with an associated results section to house the retrieved data.

DATABASE QUERIES

Use only topics (tables/views/etc.) that represent database objects

Use only topics that represent local results/data sections

LOCAL RESULTS (OR “LOCAL”) QUERIES

What types of Queries are there?

* - One exception is discussed in the next class

It is NEVER* a good idea to mix database topics with local topics on the same datamodel!!!

What does a Hyperion Query Look Like?

Request/Filter/Sort Lines

DatamodelWork Area

Section Catalog

Topic Catalog

SECTION CATALOG

• Used to rename, duplicate, copy or navigate between sections of the document

• Lists all unhidden sections within the Hyperion document

• Sections can also be navigated using the view menu, the back/forward buttons at the upper right and by clicking the section name in the section title bar at the top left

• Used to store available “topics” for use on the datamodel

• Lists all unhidden database objects (tables/views/etc.) to which you have access

• Lists all available local results sections

• Lists all available derivable queries*

TOPIC CATALOG

What are the Catalogs?

* - Not discussed until next class

A topic is a database object (table/view/etc.), a local data section (local results) or a derivable query that is available to be added from the topic catalog to the datamodel for utilization in your query

Topic items are the individual fields/columns available on each topic once the topic has been added from the catalog to the datamodelwork area

What are Topics and Topic Items?

Display full names of tables to include table owner names

Refresh table catalog to show changes, etc.

What Else can the Topic Catalog do?

Who Controls the Topic Catalog?

(The Hyperion Server Administrators of the Reporting Services Group as directed by the data owners)

What is the Datamodel Work Area?

The datamodel work area is used for the creation of the datamodel for the query. Topics can be added to it from the catalog or can be removed or altered on it. They can/should also be joined to other topics on the datamodel to present a defined structure and level of detail.

How do I Build My Datamodel?

• Add topics from the catalog to the datamodel work area by right-clicking or dragging and dropping

• Remove topics if required by selecting the topic and hitting the “Delete” key or by right-clicking

• Join all topics on the datamodel work area based upon your business specifications by dragging one item from a topic and dropping it onto another item in another topic

• Set properties for the datamodel and for all items (topics, topic items, joins, etc.)

• Add extra features (meta topics*, etc.)

*- Not discussed until next class

What are the Topic Properties?Right-click on a topic header and choose “Properties…”

Topic Name Display name for the topic

Physical Name

Name used for the topic when generating SQL

Items to Display

Use the buttons to sort or to show/hide all or double-click individual items to show/hide

Set as Dimension

Enables a drill-down path for the items on the topic

Allow Icon View*

Enables the display of the topic as an icon on the datamodel

Detail View Options*

Controls behavior when topic is displayed as detail

* - Right-click a topic header to see options for alternative views (structure, icon or detail)

What are the Topic Item Properties?Right-click on a topic item and choose “Properties…”

Name (top textbox) Display name for topic item

Set as Fact Removes item from drill-down choices

Length Overrides DB-defined length of text fields

Informational Items Provide useful information about the topic item

Notice the help buttons which take you to the section of the help file that describes the screen at which you are presently looking

What are the Join Properties?Right-click on a join and choose “Properties…” (or double-click)

Join Type Radio buttons to choose between simple joins and the various available types of outer joins

Operator (Dropdown Box) Changes the logical operator of the join

Informational Items Provides useful information about the options that are available

Note that choices made for join type represent graphical representation only and will be implemented in the SQL based solely upon the Topic Priority

What are the Datamodel Properties?Click “DataModel>Data Model Options…” on the menu bar at the top

Auto Alias Tables Enables the automatic use of “friendly” names for topics, specifically using init-cap case and replacing underscores with spaces [recommended]

Auto Join Tables Enables the automatic creation of joins when new topics are added to the datamodel that contain topic items whose name(s) match item(s) found on already utilized topics [not recommended]

Show Icon Joins Enables the display of the joins when using icon view [recommended]

Allow Drill Anywhere Enables drill anywhere functionality* [recommended]

Allow Drill to Detail Enables drill to detail functionality** [not recommended]

* - Not discussed until next class** - Not discussed until later classes

What are the Datamodel Properties?

Show minimum value set Incorporates all other filter and join logic (can become a cumbersome query)

Show values within topic Incorporates only filters on the same topic but no joins or other filters

Show all values Shows all values within the topic while ignoring all joins and other filters

Set this value based upon your specific business needs

Controls the values displayed when clicking “Show Values” in filters

What are the Datamodel Properties?

Use all joined topics

Use all topics that have at least one join

Use the minimum number of topics

Use only topics associated with topic items that are currently on the request line*

Use all referenced topics

Use only topics associated with topic items that are currently on the request or filter line*

Use defined join paths

Uses user-defined join paths as created by clicking the “Configure…” button

Use automatic join path generation

Rely on the application’s best guess for creating join paths

Set this value based upon your specific business needs

Controls the behavior of join and join path generation

* - Discussed in upcoming slides

What are the Datamodel Properties?

Arrow Buttons & List Box Select one or more items in the list box then use the arrows to promote or demote

Auto-Order Button Click this to allow the application to sort solely based upon the topic row counts (highest to lowest)

Best practices are to designate larger tables (facts) as higher priorities than smaller tables

Controls the order in which the topics will be specified/evaluated

Note that the “Save as Default” button is used to apply the chosen settings to additional queries inserted into the document

Let’s Play Jeopardy!!!First to raise hand will be chosen to answer

Correct answers win points towards your scoreHighest score at end of season wins a prizeMust phrase answers in the form of a question

$200

These are the 2 types of Queries available

in Hyperion

$400

It’s what we call a single field or column

that is found on an available topic

$600

The name of the group that controls topic catalogs and handles Hyperion

administration

$800

It’s where the length of text fields can be over-ridden on the

datamodel

$1000

It’s the join usage option that builds joins based upon

items found in the request or limit lines

End of Round

How do I Build My Query?• Add topics items from the utilized topics on the datamodel to the

request line by dragging and dropping (or right-clicking)• Set properties and/or add aggregation to the request items• Add request items from the request line to the sort line by dragging

and dropping and set ascending/descending by right-clicking (or double-clicking)

• Add topic items from the utilized topics on the datamodel to the filter line by dragging and dropping (or double-clicking)

• Set filter groupings with parenthesis and variable filters with the “Var” button (enabled by clicking the arrow to the right of the word “Filter” on the filter line)

• Set query properties and add extra features(appends*, etc.)

* - Not discussed until next class

How does the Request Line Work?

Double-click for query properties

Double-click for item properties, drag and drop to re-order, right-

click for more options

Drag topic items from the datamodel and drop here to add as request items

Remove items by selecting then using the delete key or right-clicking

What are the Request Item Properties?Right-click on a request item and choose “Properties…” (or double-click)

Name Display name for the request item

Definition Physical definition of the field using Topic_Display_Name.Field_Name (note the underscores) for topic item reference in conjunction with any valid SQL functions or logic

Functions Button

Displays a partial list of functions available based on database type along with shortcuts for implementing them

References Button

Displays a full list of topic items grouped by topic as a shortcut for creating references

Options Enables the display of the Datatype control

Operator Buttons

Inserts commonly used operators into the Definition box

Datatype Sets the data type for the request item’s returned values

You can use any valid SQL in a request item definition if it would be allowed within the SELECT clause of a SQL query

What are the other Request Item Options?Highlight then right-click on a request item

Process the current query

Shortcut to aggregate functions

Create new request item via empty /default item properties

Conceal item from display

Remove item from request line

Access item properties

Adjust display font for item

What does a Filter Dialog Look Like?Double-click on a topic item for new filters or on an existing filter item to

change it (or right-click)

Name Display name for item

Include Nulls Toggles exclusion of null values in the filtered item

Negation (“Not” checkbox) Negates the chosen operator

Operator (dropdown box) Specifies the required relationship between the filtered item and the chosen filter value(s)

Ignore Button Leaves filter on the filter line as ignored (counter-acted by re-opening and clicking “OK” instead)

Custom Values and Show Values Buttons

Toggles between filter types (custom values must be typed in whereas show values displays all possible values based upon the datamodel options)

Selections (list box) Highlighted items in this box represent the applied filter values

Select All Button Selects all items in the List box

Remove Button* Removes selected item(s) from the List box

Advanced Button Toggles the display of the advanced filter dialog options

“X” and Check Buttons* Used to affect items in Textbox (“X” clears the box and Check enters the value into the List box as selected)

Textbox (below Operator)* Used for entering custom filter values

* - Used only in Custom Values filters

What does a Filter Dialog Look Like?

Transfer Button Changes to a Custom Values filter while copying the currently selected values from the List box of Show Values to the Listbox of the now Cusom Values filter

Loaded Values Settings

Allows for values to be loaded from a specified file rather than based upon the available database values

Create SubQuery Creates a SubQuery section*

* - Not discussed until next class

What Else can the Filter Line do?Click to toggle

advanced options

Click to enable parenthesis around selected filters

Filters grouped by parenthesis

Click to make selected filter(s) variable

Variable filter Standard filter

AND operator

OR operator

• Variable filters prompt the user with the filter dialog box whenever the query is processed

• Click an operator to toggle between AND/OR

- Remove items by selecting then using the delete key or right-clicking- Re-order by dragging & dropping

What are the Query Properties?Double-click the word “Request” on the request line or use the Query menu on

the menu bar at the top to view the query properties

Return Unique Rows Return distinct rows only

Return First X Rows Governor for row-count

Time Limit Y Minutes Governor for time

Auto-Process Causes section to be auto-processed if auto-processing script is included in the OnStartup event handler

Custom Group By Exclude specific items from the GROUP BY clause of an aggregate query

URL Path Specified by Hyperion Administration only

Store Week Sales

London 1 $45

London 3 $62

Cardiff 1 $25

Cardiff 2 $32

Cardiff 3 $38

How is Aggregation Used?Right-click on a request item and choose “Data Function” or use the request

item properties to apply aggregation

Week Sales

1 $35

2 $32

3 $50

Store Sales

London $107

Cardiff $95

How are Aggregate Filters Created?Drag aggregate request items to the filter line to create aggregate filters

StandardFilter

AggregateFilter

Don’t forget the custom GROUP BY options in the query properties whenever using aggregate functions

• Right-click menus• Menu bar at the top• Double-clicking• Shortcut keys (delete, etc.)

What Common Shortcuts are Available?

Process queries using the “Process” button or the tools menu from the menu bar at the top

Let’s Play Double Jeopardy!!!

$400

The button in the Request Item

Properties that displays the Datatype

control

$800

These are the two primary options for

types of filters

$1200

This type of filter will prompt a user with the limit dialog box whenever the query

is processed

$1600

This is what we do to an “AND” or to an “OR” operator to

toggle between “AND” & “OR”

$2000

It’s where we double-click to see the query properties dialog for

things like the “Custom Group By”

End of Round

Let’s Play Final Jeopardy!!!

Category:

Aggregation

Write your name and your wager on a scrap of paper and fold it (bet up to $1000 or up to your total score)

Pass your wagers to the front without looking at others and get ready to

write down your answer

Ready?

TIME IS UP!!!This is the type of

dialog box that provides a button for “Create SubQuery”

Pass your answers to the front

And today’s winner is???

Is this thing over yet?This concludes this presentation of…

Hyperion IR Reporting 102

Recommended