Upload
vuduong
View
236
Download
4
Embed Size (px)
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