Oracle® Fusion Middleware

User's Guide for Oracle Data Visualization

12c (12.2.1.2.0)

E77716-01

October 2016

Oracle Fusion Middleware User's Guide for Oracle Data Visualization, 12c (12.2.1.2.0)

E77716-01

Copyright © 2015, 2016, Oracle and/or its affiliates. All rights reserved.

Primary Author: Stefanie Rhone

Contributing Authors: Rosie Harvey, Christine Jacobs

Contributors: Oracle Business Intelligence development, product management, and quality assurance teams

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Contents

Preface

- Audience

- Documentation Accessibility

- Related Resources

- Conventions

New Features for Oracle Data Visualization Users

- New Features for Oracle BI EE 12c (12.2.1)

- New Features for Oracle BI EE 12c (12.2.1.1)

- New Features for Oracle BI EE 12c (12.2.1.2)

1 Getting Started with Oracle Data Visualization

- About Oracle Data Visualization

- About Visual Analyzer

- Accessing Visual Analyzer

- What is the Home Page?

- Searching for Content in Visual Analyzer

2 Exploring Your Content

- Typical Workflow for Exploring Content

- Choosing Data Sources

- Adding Data Elements to Visualizations

- Adding Data Elements to Drop Targets

- Adding Data Elements to Visualization Drop Targets

- Adding Data Elements to a Blank Canvas

- Sorting Data in Visualizations

- Adjusting the Canvas Layout

- Changing Visualization Types

- Adjusting Visualization Properties

- Working With Color

- Applying Color to Projects

- Setting Visualization Colors

- Undoing and Redoing Edits

- Reversing Visualization Edits

- Refreshing Visualization Content

- Exploring Data Using Filters

- About Filters

- About Filters and Filter Types

- About Automatically Applied Filters

- Creating Filters

- Moving Filter Panels

- Applying Range Filters

- Applying List Filters

- Applying Date Filters

- Building Expression Filters

- Exploring Data in Other Ways

- About Composing Expressions

- Creating Calculated Data Elements

- Specifying How Visualizations Interact with One Another

- Building Stories

- Capturing Insights

- Shaping Stories

- Sharing Stories

- Exploring Data Without Authoring

- Investigating Data Only Using Interactions

- Viewing Streamlined Content

- Exploring Data on Mobile Devices

- What You See on a Tablet

- What You See on a Mobile Phone

3 Adding Your Own Data

- Typical Workflow for Adding Data from Data Sources

- About Adding Your Own Data

- About Data Sources

- About Adding a Spreadsheet as a Data Source

- Connecting to Oracle Applications Data Sources

- Creating Oracle Applications Connections

- Composing Data Sources From Oracle Applications Connections

- Editing Oracle Applications Connections

- Deleting Oracle Applications Connections

- Connecting to Database Data Sources

- Creating Database Connections

- Composing Data Sources from Databases

- Editing Database Connections

- Deleting Database Connections

- Adding Data from Data Sources

- Adding File Based Data

- Adding Oracle Applications Data

- Adding Database Data

- Modifying Uploaded Data Sources

- Blending Data that You Added

- Changing Data Blending

- Refreshing Data that You Added

- Updating Details of Data You Added

- Controlling Sharing of Data You Added

- Removing Data that You Added

- Deleting Data Sources

- Managing Data Sources

A Expression Editor Reference

- SQL Operators

- Conditional Expressions

- Functions

- Aggregate Functions

- Analytics Functions

- Calendar Functions

- Conversion Functions

- Display Functions

- Evaluate Functions

- Mathematical Functions

- String Functions

- System Functions

- Time Series Functions

- Constants

- Types

Preface

Topics:

Learn how to use Oracle Data Visualization to explore and analyze your data.

- Audience

- Related Resources

- Conventions

Audience

Users Guide for Oracle Data Visualization is intended for business users who plan to use Oracle Data Visualization to upload and blend data for analysis, explore data within visualizations, and work with their favorite projects.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Resources

See the Oracle Business Intelligence documentation library for a list of related Oracle Business Intelligence documents.

In addition:

- Go to the Oracle Learning Library for Oracle Business Intelligence-related online training resources.

- Go to the Product Information Center support note (Article ID 1267009.1) on My Oracle Support at https://support.oracle.com.

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

New Features for Oracle Data Visualization Users

Learn about the latest additions to the application.

This preface contains the following topics:

- New Features for Oracle BI EE 12c (12.2.1)

- New Features for Oracle BI EE 12c (12.2.1.1)

- New Features for Oracle BI EE 12c (12.2.1.2)

New Features for Oracle BI EE 12c (12.2.1)

This topic describes new features in Oracle Data Visualization. The new features include:

- Visualize data in Oracle Applications

- Modify uploaded data sources

- Use new and enhanced visualization types

- Customize your color schemes

- Move filter panels in projects

- Data wrangling — update data sources after upload

- Share reports with others on a read-only basis

- New ways to present data visualizations

Visualize data in Oracle Applications

You can use analyses and logical SQL statements from existing Oracle applications as data sources for projects. See Connecting to Oracle Applications Data Sources.

Modify uploaded data sources

You can modify uploaded data sources including editing columns, and creating new ones for use in projects. See Modifying Uploaded Data Sources.

Use new and enhanced visualization types

Visualize data using donut charts and see data series trends using a trend line. You can also link to URLs and insights in tiles, images, and text boxes, and use Chrome for Windows or Android to dictate descriptions. See Adjusting Visualization Properties.

Customize your color schemes

Create custom color palettes and apply color to data elements in specific ways. See Working With Color.

Move filter panels in projects

Detach and reattach the filter panel to increase canvas space for exploring data in visualizations. See Moving Filter Panels.

Data wrangling — update data sources after upload

Make updates to existing data sources including editing columns, and creating new ones for use in projects. See Modifying Uploaded Data Sources.

Share reports with others on a read-only basis

Give people limited access to your reports. Let them view and interact with visualizations without worrying about compromising the data. See Investigating Data Only Using Interactions.

New ways to present data visualizations

The following visualizations were added:

Donut charts – Similar to pie charts

Tile views – Performance tiles present a distilled analysis of data

Text boxes – Annotate your data with text

See Changing Visualization Types.

New Features for Oracle BI EE 12c (12.2.1.1)

This topic describes new features in Oracle Data Visualization. The new features include:

- Visualize data in databases

- Size of data files to upload

- Change data blending

Visualize data in databases

You can use data from databases as data sources for projects. See Connecting to Database Data Sources.

Size of data files to upload

You can now upload data files up to 50 MB in size. See About Adding a Spreadsheet as a Data Source.

Change data blending

You can change the way that the system automatically blends the data from two data sources. See Changing Data Blending.

New Features for Oracle BI EE 12c (12.2.1.2)

There are no new Oracle Data Visualization features for this release.

1 Getting Started with Oracle Data Visualization

This topic describes how to get started with Oracle Data Visualization.

Video

Topics:

- About Oracle Data Visualization

- About Visual Analyzer

- Accessing Visual Analyzer

- What is the Home Page?

- Searching for Content in Visual Analyzer

About Oracle Data Visualization

Oracle Data Visualization makes it easy for you to quickly explore your data and discover meaningful insights. It includes tools to help you analyze data in your Oracle Business Intelligence repository as well as data outside the repository, with easy to use visualization and data management tools.

About Visual Analyzer

Visual Analyzer is the primary data visualization tool in Oracle Data Visualization.

Accessing Visual Analyzer

You access Visual Analyzer from the Oracle Business Intelligence Home page.

From the Home page, you can access Visual Analyzer in multiple ways:

- In the Create list, click Visual Analyzer Projects to go to a new canvas.

- In the thumbnails, click a Visual Analyzer project.

Note:
You can also use the Visual Analyzer Home page to launch the application. For more information, see What is the Home Page?

What is the Home Page?

If your organization has purchased Oracle Visual Analyzer, the Home page is your access point for Oracle Business Intelligence Classic, Visual Analyzer, the Oracle Business Intelligence Academy, and the Oracle Business Intelligence Administration console.

The Home page is also where you can search for existing items such as data elements, and instantly generate data visualizations using search terms.

Searching for Content in Visual Analyzer

Visual Analyzer enables you to quickly and easily search for content to use in projects. Just enter the characters in a Search field, and Visual Analyzer automatically begins the search.

For example, you can use the Search field in the Data Elements pane to find all data elements that contain the word “Revenue”. Visual Analyzer returns matching results that are included in the data sources associated with the project.

You can also use the Search field in the Data Sources pane to search for data source names and column names contained in uploaded data source files, and in the Visualizations pane to search for visualization types by name.

For more information about searching in the Visual Analyzer Home page, see What is the Home Page?

2 Exploring Your Content

This topic describes how to explore your content.

Topics:

- Typical Workflow for Exploring Content

- Choosing Data Sources

- Adding Data Elements to Visualizations

- Sorting Data in Visualizations

- Adjusting the Canvas Layout

- Changing Visualization Types

- Adjusting Visualization Properties

- Working With Color

- Undoing and Redoing Edits

- Reversing Visualization Edits

- Refreshing Visualization Content

- Exploring Data Using Filters

- Exploring Data in Other Ways

- About Composing Expressions

- Creating Calculated Data Elements

- Specifying How Visualizations Interact with One Another

- Building Stories

- Exploring Data Without Authoring

- Exploring Data on Mobile Devices

Typical Workflow for Exploring Content

Here are the common tasks for exploring content.

Task

Description

More Information

Select data sources

Select subject areas or external data sources for a project.

Choosing Data Sources

Add data elements

Add data elements from a selected data source to visualizations.

Adding Data Elements to Visualizations

Adjust the canvas layout

Add, remove, and rearrange visualizations.

Adjusting the Canvas Layout

Filter content

Streamline the content shown in visualizations.

Exploring Data Using Filters

Set visualization interaction properties

Specify how visualizations synchronize.

Specifying How Visualizations Interact with One Another

Choosing Data Sources

Before you can begin to explore data in a project, you must select a data source for that information. You can select subject areas, Oracle Applications, databases, or uploaded data files as your data sources.

For example, if you want to explore product sales by region, you can select Sample Sales as the data source.
To choose data sources in a project:

1. In the Add Data Source dialog, select the appropriate subject area or data source containing the data that you want to visualize. This dialog opens automatically when you create a new project.
For more information, see Adding Data from Data Sources.

2. Click Add to Project.

Note:
To add data sources to an existing project, right-click the Data Elements pane, and then click the Add Data Source link. When you add two or more data sources to a project, they must be matched. Sometimes the system matches them automatically, but sometimes you need to match them manually using the Source Diagram option. If the data sources are not matched, then the additional data sources you added don’t display in the Data Elements pane, but will display in the Data Sources pane. See Blending Data that You Added for more information about how to match data sources.

Adding Data Elements to Visualizations

This topic describes how you add data elements to visualizations.

Topics:

- Adding Data Elements to Drop Targets

- Adding Data Elements to Visualization Drop Targets

- Adding Data Elements to a Blank Canvas

Adding Data Elements to Drop Targets

After you select the data sources for your project, you can begin to add data elements such as measures and attributes to visualizations.

Here are some of the ways you can add data elements to drop targets:

- You can drag and drop one or more data elements from the Data Elements pane to drop targets in the Explore pane or double-click data elements in the Data Elements pane to add them.

The data elements are automatically positioned in the best drop target in the Explore pane, and the visualization type may also change to optimize the visualization layout.

- You can replace a data element in the Explore pane by dragging it from the Data Elements pane and dropping it over an existing data element already in the Explore pane.

- You can swap data elements in the Explore pane by dragging a data element already inside the pane and dropping it over another data element in the pane.

- You can remove a data element from the Explore pane by clicking the X in the data element token.

Adding Data Elements to Visualization Drop Targets

You can use visualization drop targets to help you position data elements in the optimal locations for exploring content.

To add data elements to visualization drop targets:

- If you drag and drop a data element over to a visualization (but not on a specific drop target), a blue outline displays around the recommended drop targets in the visualization. If you drop the data element in the visualization, it is automatically shuttled to the best drop target.

Also, you see a green plus icon next to the data element when it is over a valid drop target.

Note:
If you are not sure where to drag and drop any data element, simply drag and drop the data element anywhere over the visualization, and not to a specific drop target. The data element is automatically added to the best drop target on the canvas.

After you drop data elements into visualization drop targets or when you move your cursor outside of the visualization, the drop targets disappear.

- To display the drop targets again in the visualization, on the visualization toolbar, click Show Assignments. You can also do this to keep the visualization drop targets in place while you work.

For more information on adding, removing, or moving data elements, see Adding Data Elements to Drop Targets.

Adding Data Elements to a Blank Canvas

You can add data elements directly from the Data Elements pane to a blank canvas.

To add data elements to a blank canvas:

Drag one or more data elements to a blank canvas or between visualizations on the canvas. A visualization is automatically created and the best visualization type and layout are selected. For example, if you add time and product attributes and a revenue measure to a blank canvas, the data elements are placed in the best locations and the visualization type of Line is selected.

Note:
If there are visualizations already on the canvas, then you can drag and drop data elements between them.

Sorting Data in Visualizations

There may be times when you are working with a lot of data in visualizations and you need to sort it to optimize your view of the data.

To sort data in a visualization:

1. In the Explore pane, click the data element you want to sort.

2. Select Sort.

3. Select a sort option such as A to Z or Low to High. The sort options available are based on the data element you are sorting.

Adjusting the Canvas Layout

You can adjust the look and feel of visualizations on the canvas to make them more visually attractive. For example, you can create a visualization and then copy it to the canvas. You can then modify the data elements in the duplicated visualization, change the visualization type, and then resize it.

To adjust the canvas layout:

- To add additional visualizations to the canvas, click the Visualizations icon, and from the Visualizations pane, drag and drop a visualization type to the canvas. Alternatively, on the project toolbar, click Add Visualization. You can then position the new visualization adjacent to a single visualization or spanning multiple ones.

- To delete a visualization from the canvas, right-click it and select Delete Visualization.

- To rearrange a visualization on the canvas, drag and drop the visualization to the location (the space between visualizations) where you want it to go. The target drop area is highlighted in blue.

- To resize a visualization, use your cursor to drag the edges to size it.

- To copy a visualization on the canvas, right-click it and select Copy Visualization.

- To paste a copied visualization on the canvas, right-click the canvas and select Paste Visualization.

Changing Visualization Types

You can change visualization types to maximize the graphical representation of the data you are exploring.

The visualization type is automatically chosen based on the selected data elements. However, this is only true when you create a new visualization by dragging data elements to a blank area on the canvas. Once a visualization is created, dragging additional data elements to it won’t change the visualization type automatically.

You can also search for visualization types by the type or objective. For example, you can search for visualization types to use for comparing percentages such as a pie or donut chart.

To change visualization types:

1. Select a visualization on the canvas, and on the visualization toolbar, click Change Visualization Type.

Note:
You can also add a new visualization to the canvas by dragging it from the Visualizations pane to the canvas.

2. In the View Select dialog, select a visualization type. For example, change the visualization type from Bar to Stacked Bar.

Note:
You can choose any visualization type, but the visualization types that are displayed in blue are the recommended ones based on the data elements you select and where they are positioned on the canvas.

When you change the visualization type, the data elements are moved to matching drop target names. If an equivalent drop target does not exist for the new visualization type, then the data elements are moved to a drop target labeled “Unused”. You can then move them to the drop target you prefer.

Adjusting Visualization Properties

You generally don’t need to change visualization properties as the default selections cover most cases. You might want to make adjustments such as hiding the legend, changing axis labels, or adding a URL link.

To adjust visualization properties:

- On the active visualization toolbar, click Menu , and then select Properties to display the Properties dialog.

The properties you can edit depend on the type of visualization you are handling.

- Adjust visualization properties:

Properties Tab

Description

Analytics

Add reference lines, trend lines, and bands to display at the minimum or maximum values of a measure included in the visualization.

Axis

Set horizontal and vertical value axis labels and axes start and end values.

Edge Labels

Show or hide row or column totals and wrap label text.

General

Format titles, position the legend, and customize descriptions.

Action

Add URLs or links to insights in Tile, Image, and Text Box visualizations.
If you use Chrome for Windows or Android, the Description text field displays a Dictate button (microphone) that you can use to record the description via audio.

Style

Set the background and border color for Text visualizations.

Values

Specify data value display options including the aggregation method such as sum or average, and number formatting such as percent or currency.

Working With Color

This topic covers working with color in projects and visualizations.

Topics:

- Applying Color to Projects

- Setting Visualization Colors

Applying Color to Projects

You can work with color to make visualizations appear more dynamic on the canvas. For example, you can color a series of measures (Sales and Costs) or a series of attribute values (2015 and 2016).

Visualizations also have a Color drop target that can contain a measure or set of attributes. When a measure is in color, continuous coloring is used, and the brightness of the measure color is based on the measure value. When attributes are in color, series coloring is used, and each attribute value in the series is assigned a color. By default, colors are auto-assigned based on the current palette, but series colors can also be customized.

To apply color to a project:

- To apply color to the entire project, click the Canvas Settings button on the toolbar and then select Project Properties. Select the color series you want to use or create a new custom color palette.

The colors are applied in a progression, with each measure colored uniquely. Each measure is allocated a color, and that color assignment stays in place while you work in the project.

- To apply high contrast continuous coloring, click Canvas Settings on the project toolbar, then select Project Properties, then click the Auto link, and then select High Contrast.

High contrast enables the optimal delineation of colors based on human eyesight. For example, you can use a measure to color data points with lighter or darker shades of a base color.

- To create a custom palette, click Canvas Settings on the project toolbar, then select Project Properties, then click the Default link, and then select Add Palette. In the Add Palette dialog, set up the palette and activate it.

- To reset all the colors to the project default, click Canvas Settings on the project toolbar, and then select Reset Colors. This overrides all the color management changes you’ve made so far.

Note:
You can also use the Undo and Redo buttons on the project toolbar to go back or forward a step and play with colors. For more information, see Undoing and Redoing Edits.

Setting Visualization Colors

You can work with color for specific visualizations on the canvas. Series and data point coloring are shared across all visualizations within a project, so if you change the series or data point color in one visualization, this can affect the colors in other visualizations.

To set color in visualizations:

- To manage color assignments for attributes and measures in a visualization, right-click in the visualization, select Color, and then select Manage Color Assignments.

You can then reset the series colors, or select a different color palette by series. If you click Reset Series Colors, it re-renders the visualization and only the current data element colors in the visualization are reset.

- To reset the series and data point color overrides for attributes and measures in a specific visualization, right-click in the visualization, select Color, and then select Reset Visualization Colors.

Note:
You can also reset series and data point color overrides for all visualization in a project. See Applying Color to Projects.

- To set color by data point in a visualization, right-click the visualization, select Color, and then select Data Point (HomeView). This is the home view value and the color is applied across a series in the visualization.

Note:
Color management tools apply to all visualization types with the exception of Tile.

Undoing and Redoing Edits

You can quickly undo your last action and then redo it if you change your mind. For example, you can try a different visualization type when you don’t like the one you have just selected, or you can go back to where you were before a drill. These options are especially useful as you experiment with different visualizations.

To undo and redo visualization edits:

Click the Undo Last Edit or Redo Last Edit buttons on the project toolbar.

Reversing Visualization Edits

You can easily back out of the edits you make in a project. For example, if you move data elements to different drop targets in a visualization, and you decide you don’t like those changes, you can easily reverse your changes.

To reverse any edits that you made in a project since you last saved it, click Canvas Settings on the project toolbar and select Revert to Saved.

Refreshing Visualization Content

To see whether a newer set of data is available for exploration in a project, you can refresh the data source data and metadata.

To refresh the data and metadata displayed in a project:

- Click Canvas Settings on the project toolbar and select Refresh Data. This action clears the data cache and reruns queries to retrieve the latest data from the data sources to display on the canvas.

- Click Canvas Settings on the project toolbar and select Refresh Metadata and Report.
This action refreshes the data and also any project metadata that has changed since you started working in it. For example, a column is added to the subject area used by the project. You use this menu to bring the new column into the project.

Exploring Data Using Filters

This topic describes how you explore your content using filters.

Topics:

- About Filters

- About Filter Types

- About Automatically Applied Filters

- Creating Filters

- Moving Filter Panels

- Applying Range Filters

- Applying List Filters

- Applying Date Filters

- Building Expression Filters

About Filters

Filters reduce the amount of data shown in visualizations and determine the data set for all the visualizations on the canvas.

You can easily search for data filter elements using a variety of filter settings. For list filters, you can use case sensitive and pattern (wildcard) searches. Use the * and ? characters for the pattern match search. If you use \*, it will search for the * character in the text.

When you have multiple filters on the filter bar, you can re-order them by dragging them to different placements.

If visualizations are connected with a master-detail relationship, then you can click data in the master visualization to filter the detail visualization.

Note:
The filters on the filter bar at the top of the canvas filter all visualizations on the canvas. If you turn off Synchronize Visualizations, then a smaller filter bar is added above each visualization. This smaller filter bar applies only to that visualization. For more information, see Specifying How Visualizations Interact with One Another.

About Filters and Filter Types

Filters reduce the amount of data shown in visualizations, canvases, and projects. The types of filters you can use are Range, List, Date, and Expression.

Filter types are automatically determined based on the data elements you choose as filters.

- Range filters are generated for data elements that are number data types and that have an aggregation rule set to something other than none. Range filters are applied to data elements that are measures. Range filters limit data to a range of contiguous values, such as revenue of $100,000 to $500,000. Or you can create a range filter that excludes (as opposed to includes) a contiguous range of values. Such exclusive filters limit data to two incontiguous ranges (for example, revenue less than $100,000 or greater than $500,000). See Applying Range Filters.

- List filters are applied to data elements that are text data types and non-aggregatable number data types. See Applying List Filters.

- Date filters use calendar controls to adjust time or date selections. You can either select a single contiguous range of dates, or you can use a date range filter to exclude dates within the specified range. See Applying Date Filters.

- Expression filters enable you to define more complex filters using SQL expressions. See Building Expression Filters.

About Automatically Applied Filters

By default, the filters in the filter bar and filter drop target are automatically applied. However, you can turn this behavior off if you want to manually apply the filters.

When Auto-Apply Filters is selected, then the selections you make in the filters bar or filters drop target are immediately applied to the visualizations. When Auto-Apply Filters is off (unchecked), the selections you make in the filters bar or filters drop are not applied to the canvas until you click the Apply button in the list filter panel.

To turn off Auto-Apply, go to the filters bar, click Actions, and then select Auto-Apply Filters.

Creating Filters

You can create filters explicitly, but filters can also be created implicitly as a result of other actions such as drilling on a visualization.

To add a filter to a project:

- From the Data Elements pane, drag a data element to the filter bar.

- From the Data Elements pane, right-click a data element and select Create Filter.

- From the Explore pane, drag a data element to the filter bar.

- On the Filter bar, click Add Filter (plus sign) to display the data elements dialog, and then click a data element to add it.

- Optionally, add an expression filter as described in Building Expression Filters.

Note:
When you work with visualizations that are part of master-detail relationships, your data selections in the master visualization apply a filter to all the other visualizations on the canvas. For more information on master-detail relationships and synchronizing visualizations, see Specifying How Visualizations Interact with One Another.

Moving Filter Panels

You can move filter panels from the filter bar to a different spot on the canvas.

When you expand filters in the filter bar, it can block your view of the visualization you are filtering. Moving the panels makes it easy to specify filter values without having to collapse and reopen the filter selector.

- To detach a filter panel from the filter bar, place the cursor at the top of the filter panel until it changes to a scissors, then click it to detach the panel and drag it to another location on the canvas.

- To reattach the panel to the filter bar, click the reattach panel icon.

Applying Range Filters

Range filters are used for data elements that are number data types and that have an aggregation rule set to something other than none.

Range filters are applied to data elements that are measures. Range filters limit data to a range of contiguous values, such as revenue of $100,000 to $500,000. Or you can create a range filter that excludes (as opposed to includes) a contiguous range of values. Such exclusive filters limit data to two incontiguous ranges (for example, revenue less than $100,000 or greater than $500,000).

To use a range filter:

1. Click the filter to view the Range list.

2. In the Range list, click By to view the Selections list.
All members that are being filtered have check marks next to their names.

3. Optionally, in the Selections list, for any selected member you want to remove from the list of selections, click the member.
The check mark disappears next to the previously selected member.

4. Optionally, in the Selections list, for any non-selected member you want to add to the list of selections, click the member.
A check mark appears next to the selected member.

5. Optionally, set the range you want to filter on by moving the sliders in the histogram. The default range is from minimum to maximum, but as you move the sliders, the Start field and End field adjust to the range you set.

6. Click outside of the filter to close the filter panel.

Applying List Filters

List filters are applied to data elements that are text data types and non-aggregatable number data types. After you add a list filter, you can change the selected members that it includes and excludes.

To use a list filter:

1. Click the filter to view the Selections list.

2. Optionally, to the left of the Selections list, use the Search field to find the members you want to add to the filter.

3. Locate the member you want to include and click it to add it to the Selections list. You can locate members to include in two ways:

- Scroll through the list of members.

- Search for members. You can use the wildcards * and ? for searching.

4. Optionally, in the Selections list, you can click a member to remove it from the list.

5. Optionally, in the Selections list, you can click the eye icon next to a member to cause it to be filtered out but not removed from the selections list.

6. Optionally, in the Selections list, you can click the actions icon at the top, and select Exclude Selections to exclude the members in the selections list.

7. Optionally, click Add All or Remove All at the bottom of the filter panel to add or remove all members to or from the Selections list at once.

8. Click outside of the filter panel to close it.

9. Optionally, to clear the filter selections or remove all filters at once, right-click in the filter bar, and then select Clear Filter Selections or Remove All Filters.

10. Optionally, to remove a single filter, right-click the filter in the filter bar, and then select Remove Filter.

Applying Date Filters

Date filters use calendar controls to adjust time or date selections. You can either select a single contiguous range of dates, or you can use a date range filter to exclude dates within the specified range.

To use a date filter:

1. Click the filter to view the Calendar Date list.

2. In Start, select the date that begins the range you want to filter.
Use the Previous arrow and Next arrow to move backward or forward in time, or use the drop-down lists to change the month or year.

3. In End, select the date that ends the range you want to filter.

4. Optionally, to start over and select new dates, in the filter, click Action and then select Clear Filter Selections.

5. Click off the filter to close the filter panel.

Building Expression Filters

Expression filters enable you to define more complex filters using SQL expressions. Expression filters can reference zero or more data elements.

For example, you can create the expression filter "Sample Sales"."Base Facts"."Revenue" < "Sample Sales"."Base Facts"."Target Revenue". After applying the filter, you only see the items that did not achieve their target revenue.

You build expressions using the Expression Builder. You can drag and drop data elements to the Expression Builder and then choose operators to apply. Expressions are validated for you before you apply them.

To build an expression filter:

1. On the filter bar, click Action and then select Add Expression Filter.

2. In the Expression Filter panel, compose an expression. For more information, see About Composing Expressions.

3. In the Label field, give the expression a name.

4. Click Validate to check if the syntax is correct.

5. When the expression filter is valid, then click Apply. The expression is applied to the visualizations on the canvas.

Exploring Data in Other Ways

While adding filters to visualizations helps you narrow your focus on certain aspects of your data, you can take a variety of other analytic actions to explore your data—such as drilling, sorting, and selecting. When you take the analytic actions described in this topic, the filters are automatically applied for you.

Here are some of the analytic actions that you can take when you right-click content in visualizations:

- Use Sort to sort attributes in a visualization, such as product names from A to Z. If you are working with a table view, then the system always sorts the left column first. In some cases where specific values display in the left column, you cannot sort the center column. For example, if the left column is Product and the center column is Product Type, then you cannot sort the Product Type column. To work around this issue, swap the positions of the columns and try to sort again.

- Use Drill to drill to a data element, and drill through hierarchies in data elements, such as drilling to weeks within a quarter. You can also drill asymmetrically using multiple data elements. For example, you can select two separate year members that are columns in a pivot table, and drill into those members to see the details.

- Use Drill to [Attribute Name] to directly drill to a specific attribute within a visualization.

- Use Keep Selected to keep only the selected members and remove all others from the visualization and its linked visualizations. For example, you can keep only the sales that are generated by a specific sales associate.

- Use Remove Selected to remove selected members from the visualization and its linked visualizations. For example, you can remove the Eastern and Western regions from the selection.

- Use Add Reference Line or Band to add a reference line to highlight an important fact depicted in the visualization, such as a minimum or maximum value. For example, you might add a reference line across the visualization at the height of the maximum Revenue amount. You also might add a reference band to more clearly depict where the minimum and maximum Revenue amounts fall on the Revenue axis.

Note:
To add a reference band to a visualization, right-click it and select Add Reference Line to display the Properties dialog. On the Analytics tab, in the Method field, toggle Line to Band. For more information, see Adjusting Visualization Properties.

About Composing Expressions

You can compose an expression to use in an expression filter or in a calculation. For both expression filters and calculations, you use the Expression Builder. Expressions that you create for expression filters must be boolean (that is, they must evaluate to true or false). Expressions that you create for calculations are not limited in this way.

Note:
While you compose expressions for both expression filters and calculations, the end result is different. A calculation becomes a new data element that you can add to your visualization. An expression filter, on the other hand, only appears in the filter bar and cannot be added as a data element to a visualization. An expression filter can be created from a calculation, but a calculation cannot be created from an expression filter. For more information, see Creating Calculated Data Elements and Building Expression Filters.

You can compose an expression in various ways:

- You can directly enter text and functions in the Expression Builder by typing.

- You can add data elements from the Data Elements pane (drag and drop, or double-click).

- You can add functions from the function panel (drag and drop, or double-click).

For more information about expression elements, see Expression Editor Reference.

Creating Calculated Data Elements

You can use the Add Calculation dialog to create a new data element—typically a measure—to add to your visualization. For example, you can create a new measure called Profit. This new data element might involve the Revenue and Discount Amount measures.

To add a calculation:

1. Launch the Add Calculation dialog in one of two ways:

- At the bottom of the Data Elements pane, click Add Calculation.

- In the Data Elements pane, right-click the My Calculations folder and select Add Calculation.

2. In the Expression Builder, compose an expression. See About Composing Expressions.
For example, to create the new measure called profit, compose this expression: "Sample Sales"."Base Facts"."Revenue"-"Sample Sales"."Base Facts"."Discount Amount".

3. Optionally, click Validate.

4. In the Display field, enter a data element name.

5. Click Save.
The new data element is created and you can use it in your visualizations as you would any other data element. For example, in visualization drop targets or in filters.

Specifying How Visualizations Interact with One Another

You can specify how visualizations interact with each other. Such interactions often involve master-detail relationships.

You use the Synchronize Visualizations setting to specify how the visualizations on your canvas interact. By default, visualizations are linked for automatic synchronization. You can uncheck Synchronize Visualizations to unlink your visualizations for automatic synchronization.

- When Synchronize Visualizations is on (checked):

All filters and actions that produce filters (such as Drill, Keep Selected, Remove Selected) are applied to all visualizations on the canvas. For example, if you have a canvas with multiple visualizations and you drill in one of the visualizations, a corresponding filter is added to the filter bar and it affects all visualizations on the canvas.

- When Synchronize Visualizations is off (unchecked):

- The analytic actions such as Drill or Keep Selected affect only the visualization to which you applied the action. In this mode, the filters are displayed in a small filter bar above each visualization.

- There is an additional option, Use as Master, that is available from all visualizations’ context menu. If Use as Master is turned on for a given visualization, then that one becomes the master visualization for the canvas. This means that selecting data in the master applies a filter to all other visualizations on the canvas.

Note:
There can be zero or one master visualization per canvas.

When a visualization is set as the master, a circled blue M displays before its name.

Building Stories

This topic covers how you capture insights, group them into stories, and share them with others.

Topics:

- Capturing Insights

- Shaping Stories

- Sharing Stories

Capturing Insights

As you delve into data in visualizations, you can capture key information within an insight. Insights are live in that they can be changed and polished as many times as you need before you are ready to share them with others.

Insights enable you to take a snapshot of the information you see in a visualization, and help you remember “ah ha” moments while you work with the data. You can share insights in the form of a story, but you don’t have to. They can simply remain as a list of personal "ah ha" moments that you can use to go back to, and perhaps explore further. You can combine multiple insights in a story and you can link them to visualizations. For more information about linking insights to visualizations, see Adjusting Visualization Properties.

Note:
Insights don't take a snapshot of data. They only take a snapshot of the project definition at a certain point in time. If someone else views the same insight, but that person has different permissions to the data, they might see different results than you do.

To create an insight:

1. Perform one of the following actions:

a. Click the Insights tab in a project to display the Insights pane, and click Add Insight.

b. On the canvas toolbar, click Story Navigator, and in the Story Navigator pane, click Add Insight.

Note:
You can also press the control key and “I” on your keyboard to quickly create an insight.

2. In the Insight text box, click the down arrow, and select Edit.

3. In the Description field, enter text to describe the realization you have for the data shown in the visualization at that moment.

4. Continue adding insights to build a story about your data exploration.
The story builds in the Story Navigator pane, with each insight displayed as a blue circle.

Note:
If an insight has a solid triangle, this tells you that it matches the project’s current state. If you navigate away from the insight, the triangle becomes hollow. This is useful when you are creating and navigating a story. The same solid or hollow treatment is also applied to the circle representing the current step in the Story Navigator.

For more information about modifying and sharing stories, see Shaping Stories and Sharing Stories.

Shaping Stories

Once you begin creating insights within a story, you can cultivate the look and feel of that story. For example, you can include another insight or hide an insight title.

Note:
You can only have one story in a project.

To shape a story:

1. On the canvas toolbar, click Story Navigator.

2. In the Story Navigator pane, click Menu.

3. Shape the story in the following ways:

- Edit insights.

- Include or exclude insights.

- Show or hide insight titles or descriptions.

- Rearrange an insight within a story by dragging and dropping the insight in the Insights pane to the desired position. A dark blue line tells you where the insight will be positioned.

- Drag and drop insights between visualizations on the canvas.

Note:
You can modify canvas content for an insight, for example, add a trend line, change the chart type, or add a text visualization. After you make a change to an insight you are viewing, the wedge (in the Insight pane) or dot (in the Story Navigator) becomes hollow. If you select Update, it updates the insight with the changes, and the wedge or dot becomes solid blue again.

Sharing Stories

After you save a story, you can share it with others using the project URL.

The best way for users to see a story is in presentation mode. You can set a project to be view-only for all users by adding the parameter reportMode = presentation to the project URL, and then sharing that URL directly with others, for example, by e-mail or instant message. For more information about presentation mode, see Viewing Streamlined Content.

Note:
Project authors only see the Story Navigator if they launched it before they shifted into presentation mode.

Exploring Data Without Authoring

This topic covers how authors can interact with others in projects without worrying about non-authors compromising the data.

Topics:

- Investigating Data Only Using Interactions

- Viewing Streamlined Content

Investigating Data Only Using Interactions

Project content authors can interact with view-only users in projects while still maintaining project integrity. View-only users have an optimized view of the project data without seeing the clutter of unnecessary authoring content controls.

View-only users can’t perform authoring tasks such as creating projects, modifying data, editing visualizations, or modifying canvas layouts, so those controls are not displayed to them while they are investigating project content.

However, view-only users can still:

- Filter data in visualizations without any restrictions. For more information, see Exploring Data Using Filters.

- Perform analytic functions to delve into data provided by project authors such as sorting and drilling in data elements. For more information, see Exploring Data in Other Ways.

- Perform the undo and redo actions in projects. For more information, see Undoing and Redoing Edits.

Note:
View-only users can also use presentation mode to look at projects in an even more simplified mode, without the header, and with the filter bar controls limited to only opening and editing the existing filter selections. For more information on presentation mode, see Viewing Streamlined Content.

Viewing Streamlined Content

You can use presentation mode to explore and view projects in the most streamlined way possible, that is without the canvas toolbar or authoring options.

Presentation mode also enables you to easily share this view with others that don’t need to author the content.

To view content in presentation mode:

- Click Presentation Mode on the canvas toolbar.

In presentation mode, view-only users can still hide, open and edit current filter selections, and explore stories, insights and discussions, but they can’t change anything. View-only users can toggle presentation mode on or off.

Tip:
Collapse the filter bar before launching presentation mode to maximize the canvas space for viewing visualizations.

- To return to interaction mode, click Presentation Mode.
For more information on interaction mode, see Investigating Data Only Using Interactions.

Exploring Data on Mobile Devices

Explore your data at your desk and on the move. You can use mobile devices using Android, Windows, or Apple operating systems.

Topics:

- What You See on a Tablet

- What You See on a Mobile Phone

What You See on a Tablet

This topic covers the differences you see in projects when you explore data on a tablet.

- You can only search for and use existing data sources to use in projects. For more information on selecting data sources, see Choosing Data Sources.

- To create a project, on the Home page, tap Add Data on the canvas to display the Explore pane.

In the Explore pane, tap Auto-Add to select data elements. This action automatically positions the selected data elements and picks the best visualization type on the canvas.

For more information on adding data elements, see Adding Data Elements to Visualizations.

For more information on visualization types, see Changing Visualization Types.

- To create a filter, tap Filter to display the Filter pane, and add data elements to the filter.

For more information on creating filters, see Exploring Data Using Filters.

What You See on a Mobile Phone

This topic covers the differences you will see in projects when you explore data on a mobile phone.

- You can only search for and use existing data sources to use in projects. For more information on selecting data sources, see Choosing Data Sources.

- To create a project, on the Home page, tap the mobile slider, and then select VA Project.

In the Explore pane, tap Auto-Add to select data elements. This action automatically positions the selected data elements and picks the best visualization type on the canvas.

- When a project contains multiple visualizations on the canvas, they are each displayed as the same size in a summary view.

- A visualization can display an aggregated value of all measures within it. To set this display value, tap Visualization Properties to select the measure that you want to aggregate or to show or hide the value.

3 Adding Your Own Data

This topic describes how to add your own data for analysis and exploration.

Video

Topics:

- Typical Workflow for Adding Data from Data Soucres

- About Adding Your Own Data

- About Data Sources

- About Adding a Spreadsheet as a Data Source

- Connecting to Oracle Application Data Sources

- Connecting to Database Data Sources

- Adding Data from Data Sources

- Modifying Uploaded Data Sources

- Blending Data that You Added

- Changing Data Blending

- Refreshing Data that You Added

- Updating Details of Data You Added

- Controlling Sharing of Data You Added

- Removing Data that You Added

- Deleting Data that You Added

- Managing Data Sources

Typical Workflow for Adding Data from Data Sources

Here are the common tasks for adding data from data sources.

Task

Description

More Information

Add a connection

Create a connection if the data source you want to use is either Oracle Applications or a database.

Connecting to Oracle Applications Data Sources

Connecting to Database Data Sources

Create data source

Upload data from a file such as a spreadsheet. Retrieve data from Oracle Applications and from databases if the data is not already cached.

Creating a data source from Oracle Applications or a database requires you to create a new connection or use an existing connection.

Composing Data Sources from Databases

Blend data

Blend data from one data source with data from another data source.

Blending Data that You Added

Changing Data Blending

Refresh data

Refresh data for files when newer data is available. Or refresh cache for Oracle Applications and databases if the data is stale.

Refreshing Data that You Added

Extend uploaded data

Add new columns to the data source.

Modifying Uploaded Data Sources

Control sharing of data sources

Specify which users can access the data that you added.

Controlling Sharing of Data You Added

Remove data

Remove data that you added.

Removing Data that You Added

About Adding Your Own Data

It’s easy to add data from data sources. Adding your own data is sometimes referred to as “mash-up.”

You can add data in these ways:

- Add data from a single source, such as a spreadsheet, to analyze on its own. Or combine a source with other sources to broaden the scope of your analysis.

- Add your own data as an extension to an existing subject area.
You can load data to Visual Analyzer from a data source that is related to an existing Subject Area. You may need to identify the columns that have common values so that Visual Analyzer can match external and Subject Area rows appropriately. You can "Add Facts" where a table includes measures - columns that are typically summed or averaged, or you can "Extend Dimensions" where a table includes no measures.

- Add data from Oracle application data sources. For more information, see Connecting to Oracle Applications Data Sources.

- Add data from a database. For more information, see Connecting to Database Data Sources.

Note:
You can match multiple data sources to a subject area, but you can’t match a data source to another data source.

Suppose that you have a subject area that contains data about sales, such as Products, Brands, and Salespeople. You have a spreadsheet file that contains Target Revenue sales figures, which do not exist in the subject area. You’d like to create a visualization that combines Product and Brand values from the subject area with the Target Revenue figures from your spreadsheet. When you add the data, you match the Product and Brand columns from the spreadsheet with those in the subject area and add Target Revenue as a measure. The matching connects the spreadsheet with the subject area. When you drag the three columns to the canvas, Visual Analyzer treats the data as if it is part of one integrated system.

When you add data to projects, it uses the names and data types of the columns being added to guess the best way to blend the data for you. You can make manual adjustments if that guess is not appropriate. A data model is created as part of your workflow, and you do not need to create one explicitly. The system does the work for you, but you can make manual adjustments if you want to. For more information, see Blending Data that You Added.

When you blend Microsoft Excel spreadsheet files, the columns that you introduce behave as though they are part of the data model, even though you have not made any changes in Oracle Business Intelligence. The data that you add is saved by name in Oracle Business Intelligence. You can add the data to projects and share it with other users. You can delete the data when you need to preserve space. For more information, see Deleting Data that You Added.

About Data Sources

A data source is any tabular structure. The data source's data values are provided when you load a file or send a query to a service that returns results (for example, another Oracle Business Intelligence system or a database).

A data source can contain any of the following:

- Match columns containing values that are found in the match column of another source, which relates this source to the other (for example, Customer Id or Product ID).

- Attribute columns containing text, dates, or numbers that are required individually and are not aggregated (for example, Year, Category Country, Type, or Name).

- Measure columns containing values that should be aggregated (for example, Revenue or Miles driven).

You can analyze a data source on its own, or you can analyze two or more data sources together, depending on what the data source contains.

When you save a project, the permissions are synchronized between the project and the external sources that it uses. If you share the project with other users, then the external sources are also shared with those same users.

Combining Subject Areas and Data Sources

A subject area either extends a dimension by adding attributes or extends facts by adding measures and optional attributes. Hierarchies cannot be defined in external data sources.

A subject area organizes attributes into dimensions, often with hierarchies, and a set of measures, often with complex calculations, that can be analyzed against the dimension attributes. For example, the measure net revenue by customer segment for the current quarter and the same quarter a year ago.

When you use data from an external source such as an Excel file, it adds information that is new to the subject area. For example, suppose you purchased demographic information for postal areas or credit risk information for customers and want to use this data in an analysis before adding the data to the data warehouse or an existing subject area.

Using an external source as stand-alone means that the data from the external source is used independently of a subject area. It is either a single file used by itself or it is several files used together and in both cases a subject area is not involved.

Note the following criteria to extend a dimension by adding attributes from an external data source to a subject area:

- Matches can be made to a single dimension only.

- The set of values in matched columns must be unique in the external data source. For example, if the data source matches on ZIP code, then ZIP codes in the external source must be unique.

- Matches can be between one or composite columns. An example of a one column match is that product key matches product key. For composite columns, an example is that company matches company and business unit matches business unit.

- All other columns must be attributes.

Note the following criteria for adding measures from an external data source to a subject area:

- Matches can be made to one or more dimensions.

- The set of values in matched columns does not need to be unique in the external data source. For example, if the data source is a set of sales matched to date, customer, and product, then you can have multiple sales of a product to a customer on the same day.

- Matches can be between one or composite columns. An example of a one column match is that product key matches product key. For composite columns, an example is that company matches company and business unit matches business unit.

A data source that adds measures can include attributes. You can use these attributes only alongside the external measures and not alongside curated measures in visualizations. For example, when you add a source with the sales figures for a new business, you can match these new business sales to an existing time dimension and nothing else. The external data might include information about the products sold by this new business. You can show the sales for the existing business with those of the new business by time, but you can’t show the old business revenue by new business products, nor can you show new business revenue by old business products. You can show new business revenue by time and new business products.

Working With Sources With no Measures

Note the following if you are working with sources with no measures.

If a table has no measures, it is treated as a dimension. Note the following criteria for extending a dimension:

- Matches can be between one or composite columns. An example of a one column match is that product key matches product key. For composite columns, an example is that company matches company and business unit matches business unit.

- All other columns must be attributes.

Dimension tables can be matched to other dimensions or they can be matched to tables with measures. For example, a table with Customer attributes can be matched to a table with demographic attributes provided both dimensions have unique Customer key columns and Demographic key columns.

Working With Sources With Measures

Note the following if you are working with sources with measures.

- If a table has one or more measures, it is not a dimension even if it has attributes. There are very few considerations other than the rules that we already described for XLSX files earlier - starting in Row, column 1 etc. Note if you are working with a spreadsheet, then the spreadsheet must be structured correctly. For more information, see About Adding a Spreadsheet as a Data Source.

- Tables with measures can be matched to other tables with a measure, a dimension, or both.

- Tables matched to other tables with measure do not need to be at the same grain. For example, a table of daily sales can be matched to a table with sales by Quarter if the table with the daily sales also includes a Quarter column.

Working With Matching

If you will use multiple sources together, then at least one match column must exist in each source. The requirements for matching are:

- The sources contain common values (for example, Customer Id or Product ID).

- The match must be of the same data type (for example, number with number, date with date, or text with text).

About Adding a Spreadsheet as a Data Source

Data source files from a Microsoft Excel spreadsheet file must have the XLSX extension (signifying a Microsoft Office Open XML Workbook file) and be a maximum size of 50 MB.

Before you can upload a Microsoft Excel file as a data source, it must be structured in a data oriented way. Note the following rules for Excel tables:

- Tables need to start in Row 1 and Column 1 of the Excel file.

- Tables need to have a regular layout. There should be no gaps and inline headings. An example of an inline heading is a heading that repeats itself on every page of a printed report.

- Row 1 must contain the table’s column names. For example, Customer Given Name, Customer Surname, Year, Product Name, Amount Purchased, and so on. In this example:

- Column 1 has customer given names

- Column 2 has customer surnames

- Column 3 has year values

- Column 4 has product names

- Column 5 has the amount that each customer purchased for the named product

- The names in Row 1 must be unique. Note that if there are two columns that hold year values, you must add a second word to one or both of the column names to make them unique. For example, if you have two columns named Year Lease, then you can rename the columns to Year Lease Starts and Year Lease Expires.

- Rows 2 onward are the data for the table, and they cannot contain column names.

- Data in a column must be of the same kind because it is often processed together. For example, Amount Purchased should only have numbers (and possibly nulls) so it can be summed or averaged. Given Name and Surname should be text as they may need to be concatenated, and dates may need to be split into their months, quarters, or years.

- Data must be at the same grain. A table should not contain both aggregations and details for those aggregations. For example, suppose you have a sales table at the grain of Customer, Product, and Year, and contains the sum of Amount Purchased for each Product by each Customer by Year. In this case, you would not include Invoice level details or a Daily Summary in the same table, as the sum of Amount Purchased would not be calculated correctly. If you need to analyze at invoice level, day level, and month level, then you can do either of the following:

- Have a table of invoice details: Invoice number, invoice date, Customer, product and amount. These can be rolled up to day or month or quarter.

- Have multiple tables, one at each grain (invoice, day, month, quarter, and year).

Connecting to Oracle Applications Data Sources

This topic covers the process for connecting to and using Oracle Applications data sources.

Topics:

- Creating Oracle Applications Connections

- Composing Data Sources From Oracle Application Connections

- Editing Oracle Applications Connections

- Deleting Oracle Applications Connections

Creating Oracle Applications Connections

You can create connections to Oracle Applications and use those connections to source data in projects.

To create Oracle Applications connections:

1. Launch the Add a New Connection dialog using one of these actions:

- On the Data Sources page, click Connections, and then Add Connection.

- In the project Data Sources pane, click the Add Data Source link, then Create a New Source, and then From Oracle Applications.

- In the project Data Elements pane, right-click anywhere in the pane and select Add Data Source.

2. In the Add a New Connection dialog, enter the connection name, catalog URL, user name, and password.

Note:
Http and Https URLs are supported. Connection names must be unique and cannot contain any special characters.

Note:
You can get the connection URL by opening the Oracle Applications, displaying the catalog folders that contain the analysis you want to use as the data source for projects, and copying the browser URL into the New Connection dialog, making sure to strip off anything after /analytics. For example, http://www.example.com:9704/analytics.

3. Click Save.
You can now begin creating data sources from the connection. For more information, see Composing Data Sources From Oracle Application Connections.

Note:
The connection is only visible to you (the creator), but you can create and share data sources for it.

Composing Data Sources From Oracle Applications Connections

After you create Oracle Applications connections, you can begin creating data sources for those connections to use in projects.

To create data sources from Oracle Applications connections:

1. Launch the Select an Analysis dialog using one of these actions:

- On the Data Sources page, click Add Data Source, and then From Oracle Applications.

- In the project Data Sources pane, click the Add Data Source link, then Create a New Source, and then From Oracle Applications.

- In the project Data Elements pane, right-click the pane, select Add Data Source, then Create a New Source, and then From Oracle Applications.

Note:
You must create the Oracle Applications connection before you can create a data source for it. For more information, see Creating Connections.

2. From the connection drop-down list, select the Oracle Applications connection that you want to use.

3. Perform one of these actions:

- On the Analysis tab, browse catalog folders to search for and select the analysis that you want to use. You only see catalog folders that contain analyses from the connection you picked. The data in the data source will reflect any filters or selection steps included on the analysis you choose.

- Click Logical SQL to display the Logical SQL Statement box. Typically, users compose the SQL statement in the Oracle Applications catalog, and then copy and paste it here.

Note:
If you need take a step back to pick a different analysis or look at the logical SQL again, click the “back” button at the bottom of the dialog. For example, you can go back to remove an extra 0 column from the logical SQL statement.

4. Click OK.

5. Preview the data, update column characteristics, or exclude columns from the data source, and then click Add Data Source.

A cached copy of the data source is created, and you can refresh the data and metadata from that data source, as needed.

Editing Oracle Applications Connections

There may be times when you need to edit Oracle Applications connections. For example, the credentials or URL changed for the Oracle Applications.

To edit Oracle Applications connections:

1. On the Data Sources page, click Connections.

2. To the right of the connection that you want to edit, click Options, and then select Edit.

3. In the Edit Connection dialog, edit the connection details, and then click Save.

Note:
You cannot see current passwords for these connections. If you need to change the password, you must enter a new one.

Deleting Oracle Applications Connections

There may be times when you need to delete an Oracle Applications connection. For example, you may want to temporarily connect to Oracle Applications for testing, and then delete it later when the testing is complete.

To delete Oracle Applications connections:

1. On the Data Sources page, click Connections.

2. To the right of the connection that you want to delete, click Options, and then select Delete.

3. Click OK.

Note:
If the connection contains any data sources, you must delete the data sources before you can delete the connection. Oracle Applications connections are only visible to the user that creates them (connections are not shared), but a user can create data sources using those connections, and share the data sources with others.

Connecting to Database Data Sources

This topic covers the process for connecting to and using databases as data sources.

Topics:

- Creating Database Connections

- Composing Data Sources from Databases

- Editing Database Connections

- Deleting Database Connections

Creating Database Connections

You can create connections to databases and use those connections to source data in projects.

To create database connections:

1. Launch the Add a New Connection dialog using one of these actions:

- On the Data Sources page, click Connections, then Add Connection, and then From Database.

- In the project Data Sources pane, click the Add Data Source link, then Create a New Source, and then From Database.

- In the project Data Elements pane, right-click anywhere in the pane and select Add Data Source, then Create a New Source, and then From Database.

2. In the Add a New Connection dialog, enter the connection name and click Database Type to view a list of supported databases. Enter the required connection information, such as Host, Port, and so on.

3. Click Save.
You can now begin creating data sources from the connection. For more information, see Composing Data Sources from Databases.

Composing Data Sources from Databases

After you create database connections, you can begin creating data sources for those connections for use in projects.

To create data sources from database connections:

1. Launch the Select a Table dialog using one of these actions:

- On the Data Sources page, click Add Data Source, and then From Database.

- In the project Data Sources pane, click the Add Data Source link, then Create New Data Source, and then From Database.

- In the project Data Elements pane, right-click the pane, select Add Data Source, then Create New Data Source, and then From Database.

Note:
You must create the database connection before you can create a data source for it. For more information, see Creating Database Connections.

2. From the connection drop-down list, select the database connection that you want to use.

3. Perform one of these actions:

- On the Tables tab, browse to search for and select the database that you want to use. Click OK and then choose a table. The table you choose is treated as a live connection but the system doesn’t load the table. When you use columns from this table in a project, the system issues a database query to fetch the needed data.

- Click Logical SQL to display the Logical SQL Statement box. Type a SQL statement to select a specific set of columns. If you enter and run a SQL statement to create a virtual table, the results are loaded into the cache. Make sure that your SQL statement produces the most compact result set possible, otherwise the virtual table may be too large to cache. For example if you want to fetch City, State, Month, Year, and Revenue, then your SQL statement should select City, State, Month, Year, Sum(Revenue).

Note:
If you need take a step back to pick a different database or look at the logical SQL again, click the “back” button at the bottom of the dialog.

4. Click OK.

5. Preview the data or exclude columns from the data source, and then click Add to Project.

A cached copy of the data source is created, and you can refresh the data and metadata from that data source, as needed.

Editing Database Connections

There may be times when you need to edit database connections.

To edit database connections:

1. On the Data Sources page, click Connections.

2. Mouse over the connection that you want to edit. To the right of the highlighted connection, click Options, and select Edit.

3. In the Edit Connection dialog, edit the connection details, and then click Save.

Note:
You cannot see the current password, service name, or Logical SQL for your connections. If you need to change these, you must enter a new connection.

Deleting Database Connections

There may be times when you need to delete a database connection.

To delete database connections:

1. On the Data Sources, click Connections.

2. Mouse over the connection that you want to delete. To the right of the highlighted connection, click Options and select Delete.

3. Click OK.

Note:
If the connection contains any data sources, you must delete the data sources before you can delete the connection.

Adding Data from Data Sources

This topic covers adding data to projects.

Topics:

- Adding File Based Data

- Adding Oracle Application Data

- Adding Database Data

Adding File Based Data

You use uploaded data source files such as .xlsx to create visualizations in projects.

To upload file based data to projects:

1. From the Home page, in the Create section, click Project.

Note:
You can also use the Data Sources page to upload data files. For more information see Managing Data Sources.

2. In the Add Data Source dialog, select an existing data set, or click Create a New Source to upload a new file.

3. If you are uploading a new data file, select A File to search for and select a locally stored data file. Or you can drag the data file from your local drive and drop it on the dialog.

4. If the file contains multiple sheets, select the sheet with the data you want to load.

5. When uploading a data source for the first time, edit the source names and descriptions to be more meaningful to you.

6. Adjust the column types as needed. The application automatically assign column types as follows:

- Columns that contain decimals are imported as the Measure type.

- Primary keys, which are typically integers, are imported as the Attribute type.

- Integers such as Age, Region Code, and Product Code are imported as the Attribute type. However, in some cases integer columns might be measures and not attributes (for example, Quantity and Number of Employees). In these cases you will need to change the column type to Attribute.

7. To exclude a column, hover over the column name, and click the check mark.

Note:
A column that is unavailable and marked with a red information symbol is invalid and will be excluded. Typically, this happens because the column name is a duplicate or it contains illegal characters (leading or trailing spaces, or special characters). You can hover over the symbol to see the reason why the column is invalid.

8. Click Add to Project to accept the data associations. See Blending Data that You Added for details on manually editing data associations.

Adding Oracle Applications Data

You can add Oracle Applications data to your projects.

To add Oracle Applications data to projects:

1. From the Home page, in the Create section, click VA Project.

2. In the Add Data Source dialog, click Create a New Source.

3. Select the data source that you want to use.

4. Select the analysis you want to use or enter a logical SQL statement. For more information, see Composing Data Sources From Connections.

5. Preview the data, and make adjustments as needed.

6. Click Add to Project to accept the data associations. See Blending Data that You Added for details on manually editing data associations.

Note:
The Oracle Applications connection must be created before you add that data to projects. For more information, see Connecting to Oracle Application Data Sources.

Adding Database Data

You can add database data to your projects.

To add database data to your projects:

1. From the Home page, in the Create section, click VA Project.

2. In the Add Data Source dialog, select an existing database data source, or click Create a New Source.

3. Select the connection that you want to use.

4. Select the database and table you want to use or enter a logical SQL statement. For more information, see Composing Data Sources from Databases.

5. Preview the data, and make column exclusions as needed.

6. Optionally, change the Query Mode for a database table. The default is Live because database tables are typically large and shouldn’t be copied to cache. If your table is small, then choose Auto and the data is copied into the cache if possible. If you select Auto, you will have to refresh the data when it is stale.

7. Click Add to Project to accept the data associations. See Blending Data that You Added for details on manually editing data associations.

Note:
The database connection must be created before you add that data to projects. For more information, see Creating Database Connections.

Modifying Uploaded Data Sources

You can modify uploaded data sets to help you further curate data in projects. This is also sometimes referred to as “data wrangling”.

You can create new columns, edit columns, and hide and show columns for a data set. The column editing options depend on the column data type (date, strings, or numeric). These options do the work for you by invoking a logical SQL function that edits the current column or creates a new one in the selected data set.

For example, you can select the Convert to Text option for the Population column (number data type). It uses the formula of the Population column, and wraps it with a logical SQL function to convert the data to text and adds that newly converted data text column to the data set. Note that the original Population column is not altered.

Modifying data sets can be very helpful in cases where you may not have been able to perform joins between data sources because of “dirty data”. You can create a column group or build your own logical SQL statement to create a new column that essentially enables you to scrub the data.

To modify uploaded data sets:

1. On the project toolbar, click Stage.

2. If there are more than one uploaded data sets in the project, select the one you want to work with. Only the first 100 records in the selected data set are displayed.

3. Click Options for the column you want to work with, and then select an option.

- Concatenate takes two columns and concatenates them to create a new column.

- Edit Column edits the current column and can be used to reformat a source column without creating a second column and hiding the original column.

- Hide hides the column in the Data Elements pane and in visualizations on the canvas. If you want to see hidden columns, click Hidden columns (ghost icon) on the page header. You can then unhide individual columns or unhide them all at once.

- Group enables you to create your own custom groups. For example, you can group States together into custom Regions. Or you can categorize dollar amounts into groups indicating small, medium, and large.

- Replace enables you to replace bits of words in a column and create a new column with the string you entered.

- Split enables you to split a specific column value into parts. For example, you could split a column called Name into first and last name.

- Uppercase creates a column with the values in all capital letters and the Lowercase option creates a new column with the values all in lower case.

Data wrangling doesn't modify the original columns in the data set. Instead, duplicate columns are created.

4. Save your changes.

Note:
When you edit a data set in this way, it affects all projects that use the data set. So, for example, if another user has a project that uses the data set you modified, and they open the project after the you change the data set, they see a message in their project that indicates that the data set has been modified.

Blending Data that You Added

You might have a project where you added two subject areas. You can blend data from one subject area with the other.

For example, Subject Area B might contain new dimensions that extend the attributes of Subject Area A. Or Subject Area B might contain new facts that you can use alongside the measures that already exist in Subject Area A.
When you add more than one subject area to a project, the system tries to find matches for the data that is added. It automatically matches external dimensions where they share a common name and have a compatible data type with attributes in the existing subject area .

To blend data that you added:

1. Add data as described in Adding Data from External Sources.

2. In the Data Sources pane, click Source Diagram.

3. Click the number along the line that connects the external source to the subject area to display the Connect Sources dialog.

4. In the Connect Sources dialog, make changes as necessary.

a. To change the match for a column, click the name of each column to select a different column from the external data source from the subject area.

Note:
If columns have the same name and same data type, then they are recognized as a possible match. You can customize this and specify that one column matches another by explicitly selecting it even its name is not the same. You can select only those columns with a matching data type.

b. Click Add Another Match, and then select a column from the external source and from the subject area to match.

c. For a measure that you are uploading for the first time, specify the aggregation type such as Sum or Average.
See Specifying Aggregation for Measures in Fact Tables for descriptions of aggregation types.

d. Click the X to delete a match.

5. Click OK to save the matches from the external source to the data model on the server.

Changing Data Blending

If your project includes data from two data sources that contain a mixture of attributes and values, and there are match values in one source that do not exist in the other, then sometimes the system could omit rows of data that you may want to see.

In such cases, you need to specify which source takes precedence over the other for data blending.
For example, we have two data sources (Source A and Source B), which include the following rows. Note that Source A does not include IN-8 and Source B does not include IN-7.

The following results display if the All Rows data blending option is selected for Source A and the Matching Rows data blending option is selected for Source B. Because IN-7 does not exist in Source B, the results contain null Rep and null Bonus.

The following results display if the Matching Rows data blending option is selected for Source A and the All Rows data blending option is selected for Source B. Because IN-8 does not exist in Source A, the results contain null Date and null Revenue.

The visualization for Source A includes Date as an attribute, and Source B includes Rep as an attribute, and the match column is Inv#. Under dimensional rules, these attributes cannot be used with a measure from the opposite table unless the match column is also used.

There are two settings for blending tables that contain both attributes and measures. These are set independently in each visualization based on the what columns are used in the visualization. The settings are All Rows and Matching Rows and these describe what rows from a source the system will use when returning data to be visualized.

The system auto assigns data blending according to the following rules:

- If a match column is in the visualization, then the sources with the match column are set to All Rows.

- If an attribute is in the visualization, its source is set to All Rows and the other sources are set to Matching Rows.

- If multiple attributes are in the visualization and all come from the same source, that source is set to All Rows and the other sources are set to Matching Rows.

- If attributes come from multiple sources, then the source listed first in the project's elements panel is set to All Rows and the other sources are set to Matching Rows.

To change data blending:

1. Select a visualization on the canvas, and in the visualization toolbar click Menu and the click Properties.

2. In the Properties dialog, click Data Sets.

3. In the Data Sets tab, click the Auto link and then select Custom to view how the system determined blending.

4. Adjust the blending settings as necessary.

- At least one source needs to be assigned to All Rows.

- If both sources are All Rows, then the system assumes that the tables are purely dimensional.

- You cannot assign both sources to Matching Rows.

Refreshing Data that You Added

After you add data, the data might change and you will need to refresh the data from its source.

Note:

Rather than refresh a data source, you can replace it by loading a new data source with the same name as the existing one. However, replacing a data source can be destructive and is discouraged. Only replace a data source if you understand the consequences:

- Replacing a data source will break projects that use the existing data source if the old column names and data types are not all present in the new data source.

- Any data wrangling, that is, modified and new columns added in the data stage, will be lost and projects using the data source will probably break.

You can refresh data from all source types: databases, files, and Oracle Applications.

Databases

For databases, the SQL statement is re-run and the data is refreshed.

Excel

To refresh a Microsoft Excel file, you must ensure that the newer spreadsheet file contains a sheet with the same name as the original one. In addition, the sheet must contain the same columns that are already matched with the subject area.

Oracle Applications

You can reload data and metadata for Oracle Applications data sources, but if the Oracle Applications data source uses logical SQL, reloading data only reruns the statement, and any new columns or refreshed data won’t be pulled into the project. Any new columns come into projects as hidden so that existing projects that use the data source are not impacted. To be able to use the new columns in projects, you must unhide them in data sources after you do a refresh. This behavior is the same for file based data sources.

To refresh data that you added:

1. In the Data Sources pane, or the Subject Areas pane,

2. Click the Options menu and select Reload Data. The Reload Data dialog displays.

3. If you are reloading a spreadsheet and the file is no longer in the same location or has been deleted, then the Reload Data dialog prompts you to locate and select a new file to reload into the data source.

4. The Reload Data dialog indicates that your data was reloaded successfully. Click OK.

The original data is overwritten with new data, which is displayed in visualizations in the project or analysis, after the visualization is refreshed.

Updating Details of Data You Added

After you add data, you can inspect its properties and update details such as the description and aggregation.

1. In the Data Sources pane, right-click the data, and then select Inspect.

2. Inspect the properties and update the description of the data as appropriate.

3. Optionally, change the Query Mode for a database table. The default is Live because database tables are typically large and shouldn’t be copied to cache. If your table is small, then choose Auto and the data is copied into the cache if possible. If you select Auto, you will have to refresh the data when it is stale.

4. In the Columns area, specify whether to change a column to a measure or attribute as appropriate. For measures, specify the aggregation type, such as Sum or Average.
For more information, see Specifying Aggregation for Measures in Fact Tables for descriptions of aggregation types.

5. To specify if others can share the data, see Controlling Sharing of Data You Added.

6. Click OK to save your changes.

Note:
You can also inspect data sources on the Data Sources page. For more information, see Managing Data Sources.

Controlling Sharing of Data You Added

After you add data, the data is visible only to you as the user who uploaded and owns it. You as the owner or other users with appropriate permissions can specify the data as a shared resource that other users who have access to the server environment can include immediately in projects. You control which users can share the external data.

To control sharing of external data:

1. In the Data Sources pane, right-click the data source, and select Inspect.

2. On the Permissions tab, double-click a user or role to grant access.
Select the appropriate level of access: Full Control, Modify, Read, or No Access.

3. On the Permissions tab, click the X beside a user or role to remove it from the selection of permissions that you are managing.

Removing Data that You Added

You can remove data that you have added from an external source.

If you remove data, it is removed from the project or analysis. Removing data differs from deleting data, as described in Deleting Data that You Added.
To remove data that you added:

1. In the Data Sources pane in Visual Analyzer or the Subject Areas pane of Oracle Business Intelligence, right-click the data that you want to remove.

2. Select Remove from Project or Remove from Analysis to remove data from the data sources list.

Deleting Data Sources

You can delete data sources when you need to free up space on your system.

Deleting permanently removes the external source and any projects that use this data source will break. You can only delete external sources. You cannot delete subject areas that you have included in projects or analyses. Deleting data differs from removing data, as described in Removing Data that You Added.

To delete a data source:

1. In the Data Sources pane in Visual Analyzer or the Subject Areas pane of Oracle Business Intelligence, right-click the data that you want to remove.

2. Select Delete to erase the data from storage and delete the data source.

Managing Data Sources

You can use the Data Sources page to see all the data sources available for you to use in projects and analyses. This includes the data files you uploaded and the data files that others share with you.

You can also use the Data Sources page to examine data source properties, change column properties such as the aggregation type, set permissions, and delete data sets that you no longer need in order to free up space. Data storage quota and space usage information for the entire service are also displayed, so that you can quickly see how much space is free.
To manage data sources:

1. On the Home page, click Data Sources.

2. On the Data Sources page, to the right of the data source you want to manage, click Options. The options available in the drop-down list depend on the data source type.
Data sources that are based on Oracle application connections are indicated by the connection name. For more information, see Connecting to Oracle Application Data Sources.

3. Optionally, use the Inspect option to review data source columns and change the data source properties. For example, for an uploaded data source, you could change the Product Number column aggregation type to Minimum.

4. Optionally, change whether to treat data source columns as measures or attributes. You can't change how a column is treated if it is already matched to a measure or attribute in the data model. For more information on removing matches, see Blending Data That You Added.

5. Optionally, change the Query Mode for a database table. The default is Live because database tables are typically large and shouldn’t be copied to cache. If your table is small, then choose Auto and the data is copied into the cache if possible. If you select Auto, you will have to refresh the data when it is stale.

Note:
If you have Full Control permissions, you can grant permissions to others and delete uploaded data sets, but be careful not to delete a data file that is still a data source for reports. For more information, see Deleting Data that You Added.

A Expression Editor Reference

This topic describes the expression elements that you can use in the Expression Editor.

Topics:

- SQL Operators

- Conditional Expressions

- Functions

- Constants

- Types

SQL Operators

SQL operators are used to specify comparisons between expressions.

You can use various types of SQL operators.

Operator

Description

BETWEEN

Determines if a value is between two non-inclusive bounds. For example:

"COSTS"."UNIT_COST" BETWEEN 100.0 AND 5000.0

BETWEEN can be preceded with NOT to negate the condition.

IN

Determines if a value is present in a set of values. For example:

"COSTS"."UNIT_COST" IN(200, 600, 'A')

IS NULL

Determines if a value is null. For example:

"PRODUCTS"."PROD_NAME" IS NULL

LIKE

Determines if a value matches all or part of a string. Often used with wildcard characters to indicate any character string match of zero or more characters (%) or any single character match (_). For example:

"PRODUCTS"."PROD_NAME" LIKE 'prod%'

Conditional Expressions

You use conditional expressions to create expressions that convert values.

The conditional expressions described in this section are building blocks for creating expressions that convert a value from one form to another.

Note:

- In CASE statements, AND has precedence over OR

- Strings must be in single quotes

Expression

Example

Description

CASE (If)

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogey'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Evaluates each WHEN condition and if satisfied, assigns the value in the corresponding THEN expression.

If none of the WHEN conditions are satisfied, it assigns the default value specified in the ELSE expression. If no ELSE expression is specified, the system automatically adds an ELSE NULL.

CASE (Switch)

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Also referred to as CASE (Lookup). The value of the first expression is examined, then the WHEN expressions. If the first expression matches any WHEN expression, it assigns the value in the corresponding THEN expression.

If none of the WHEN expressions match, it assigns the default value specified in the ELSE expression. If no ELSE expression is specified, the system automatically adds an ELSE NULL.

If the first expression matches an expression in multiple WHEN clauses, only the expression following the first match is assigned.

Functions

There are various types of functions that you can use in expressions.

Topics:

- Aggregate Functions

- Analytics Functions

- Calendar Functions

- Conversion Functions

- Display Functions

- Evaluate Functions

- Mathematical Functions

- String Functions

- System Functions

- Time Series Functions

Aggregate Functions

Aggregate functions perform operations on multiple values to create summary results.

Function

Example

Description

Avg

Avg(Sales)

Calculates the average (mean) of a numeric set of values.

Bin

Bin(UnitPrice BY ProductName)

Selects any numeric attribute from a dimension, fact table, or measure containing data values and places them into a discrete number of bins. This function is treated like a new dimension attribute for purposes such as aggregation, filtering, and drilling.

Count

Count(Products)

Determines the number of items with a non-null value.

First

First(Sales)

Selects the first non-null returned value of the expression argument. The First function operates at the most detailed level specified in your explicitly defined dimension.

Last

Last(Sales)

Selects the last non-null returned value of the expression.

Max

Max(Revenue)

Calculates the maximum value (highest numeric value) of the rows satisfying the numeric expression argument.

Median

Median(Sales)

Calculates the median (middle) value of the rows satisfying the numeric expression argument. When there are an even number of rows, the median is the mean of the two middle rows. This function always returns a double.

Min

Min(Revenue)

Calculates the minimum value (lowest numeric value) of the rows satisfying the numeric expression argument.

StdDev

StdDev(Sales) StdDev(DISTINCT Sales)

Returns the standard deviation for a set of values. The return type is always a double.

StdDev_Pop

StdDev_Pop(Sales) StdDev_Pop(DISTINCT Sales)

Returns the standard deviation for a set of values using the computational formula for population variance and standard deviation.

Sum

Sum(Revenue)

Calculates the sum obtained by adding up all values satisfying the numeric expression argument.

Analytics Functions

Analytics functions allow you to explore data using models such as trendline and cluster.

Function

Example

Description

Trendline

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

Fits a linear or exponential model and returns the fitted values or model. The numeric_expr represents the Y value for the trend and the series (time columns) represent the X value.

Cluster

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

Collects a set of records into groups based on one or more input expressions using K-Means or Hierarchical Clustering.

Outlier

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=mvoutlier')

This function classifies a record as Outlier based on one or more input expressions using K-Means or Hierarchical Clustering or Multi-Variate Outlier detection Algorithms.

Regr

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

Fits a linear model and returns the fitted values or model. This function can be used to fit a linear curve on two measures.

Evaluate_Script

EVALUATE_SCRIPT('filerepo://obiee.Outliers.xml', 'isOutlier', 'algorithm=mvoutlier;id=%1;arg1=%2;arg2=%3;useRandomSeed=False;', customer_number, expected_revenue, customer_age)

Executes an R script as specified in the script_file_path, passing in one or more columns or literal expressions as input. The output of the function is determined by the output_column_name.

Calendar Functions

Calendar functions manipulate data of the data types DATE and DATETIME based on a calendar year.

Function

Example

Description

Current_Date

Current_Date

Returns the current date.

Current_Time

Current_Time(3)

Returns the current time to the specified number of digits of precision, for example: HH:MM:SS.SSS

If no argument is specified, the function returns the default precision.

Current_TimeStamp

Current_TimeStamp(3)

Returns the current date/timestamp to the specified number of digits of precision.

DayName

DayName(Order_Date)

Returns the name of the day of the week for a specified date expression.

DayOfMonth

DayOfMonth(Order_Date)

Returns the number corresponding to the day of the month for a specified date expression.

DayOfWeek

DayOfWeek(Order_Date)

Returns a number between 1 and 7 corresponding to the day of the week for a specified date expression. For example, 1 always corresponds to Sunday, 2 corresponds to Monday, and so on through to Saturday which returns 7.

DayOfYear

DayOfYear(Order_Date)

Returns the number (between 1 and 366) corresponding to the day of the year for a specified date expression.

Day_Of_Quarter

Day_Of_Quarter(Order_Date)

Returns a number (between 1 and 92) corresponding to the day of the quarter for the specified date expression.

Hour

Hour(Order_Time)

Returns a number (between 0 and 23) corresponding to the hour for a specified time expression. For example, 0 corresponds to 12 a.m. and 23 corresponds to 11 p.m.

Minute

Minute(Order_Time)

Returns a number (between 0 and 59) corresponding to the minute for a specified time expression.

Month

Month(Order_Time)

Returns the number (between 1 and 12) corresponding to the month for a specified date expression.

MonthName

MonthName(Order_Time)

Returns the name of the month for a specified date expression.

Month_Of_Quarter

Month_Of_Quarter(Order_Date)

Returns the number (between 1 and 3) corresponding to the month in the quarter for a specified date expression.

Now

Now()

Returns the current timestamp. The Now function is equivalent to the Current_Timestamp function.

Quater_Of_Year

Quarter_Of_Year(Order_Date)

Returns the number (between 1 and 4) corresponding to the quarter of the year for a specified date expression.

Second

Second(Order_Time)

Returns the number (between 0 and 59) corresponding to the seconds for a specified time expression.

TimeStampAdd

TimeStampAdd(SQL_TSI_MONTH, 12,Time."Order Date")

Adds a specified number of intervals to a timestamp, and returns a single timestamp.

Interval options are: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TimeStampDiff

TimeStampDiff(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Returns the total number of specified intervals between two timestamps.

Use the same intervals as TimeStampAdd.

Week_Of_Quarter

Week_Of_Quarter(Order_Date)

Returns a number (between 1 and 13) corresponding to the week of the quarter for the specified date expression.

Week_Of_Year

Week_Of_Year(Order_Date)

Returns a number (between 1 and 53) corresponding to the week of the year for the specified date expression.

Year

Year(Order_Date)

Returns the year for the specified date expression.

Conversion Functions

Conversion functions convert a value from one form to another.

Function

Example

Description

Cast

Cast(hiredate AS CHAR(40)) FROM employee

Changes the data type of an expression or a null literal to another data type. For example, you can cast a customer_name (a data type of Char or Varchar) or birthdate (a datetime literal).

Use Cast to change to a Date data type.

Do not use ToDate.

IfNull

IfNull(Sales, 0)

Tests if an expression evaluates to a null value, and if it does, assigns the specified value to the expression.

IndexCol

SELECT IndexCol(VALUEOF (NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Sales

Uses external information to return the appropriate column for the signed-in user to see.

NullIf

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

Compares two expressions. If they are equal, then the function returns null. If they are not equal, then the function returns the first expression. You cannot specify the literal NULL for the first expression.

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

Converts string literals of dateTime format to a DateTime data type.

Display Functions

Display functions operate on the result set of a query.

Function

Example

Description

BottomN

BottomN(Sales, 10)

Returns the n lowest values of expression, ranked from lowest to highest.

Filter

Filter(Sales USING Product = 'widgit')

Computes the expression using the given preaggregate filter.

Mavg

Mavg(Sales, 10)

Calculates a moving average (mean) for the last n rows of data in the result set, inclusive of the current row.

Msum

SELECT Month, Revenue, Msum(Revenue, 3) as 3_MO_SUM FROM Sales

Calculates a moving sum for the last n rows of data, inclusive of the current row.

The sum for the first row is equal to the numeric expression for the first row. The sum for the second row is calculated by taking the sum of the first two rows of data, and so on. When the nth row is reached, the sum is calculated based on the last n rows of data.

NTile

Ntile(Sales, 100)

Determines the rank of a value in terms of a user-specified range. It returns integers to represent any range of ranks. The example shows a range from 1 to 100, with the lowest sale = 1 and the highest sale = 100.

Percentile

Percentile(Sales)

Calculates a percent rank for each value satisfying the numeric expression argument. The percentile rank ranges are from 0 (1st percentile) to 1 (100th percentile), inclusive.

Rank

Rank(Sales)

Calculates the rank for each value satisfying the numeric expression argument. The highest number is assigned a rank of 1, and each successive rank is assigned the next consecutive integer (2, 3, 4,...). If certain values are equal, they are assigned the same rank (for example, 1, 1, 1, 4, 5, 5, 7...).

Rcount

SELECT month, profit, Rcount(profit) FROM sales WHERE profit > 200

Takes a set of records as input and counts the number of records encountered so far.

Rmax

SELECT month, profit, Rmax(profit) FROM sales

Takes a set of records as input and shows the maximum value based on records encountered so far. The specified data type must be one that can be ordered.

Rmin

SELECT month, profit, Rmin(profit) FROM sales

Takes a set of records as input and shows the minimum value based on records encountered so far. The specified data type must be one that can be ordered.

Rsum

SELECT month, revenue, Rsum(revenue) as RUNNING_SUM FROM sales

Calculates a running sum based on records encountered so far.

The sum for the first row is equal to the numeric expression for the first row. The sum for the second row is calculated by taking the sum of the first two rows of data, and so on.

TopN

TopN(Sales, 10)

Returns the n highest values of expression, ranked from highest to lowest.

Evaluate Functions

Evaluate functions are database functions that can be used to pass through expressions to get advanced calculations.

Embedded database functions can require one or more columns. These columns are referenced by %1 ... %N within the function. The actual columns must be listed after the function.

Function

Example

Description

Evaluate

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

Passes the specified database function with optional referenced columns as parameters to the database for evaluation.

Evaluate_Aggr

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

Passes the specified database function with optional referenced columns as parameters to the database for evaluation. This function is intended for aggregate functions with a GROUP BY clause.

Mathematical Functions

The mathematical functions described in this section perform mathematical operations.

Function

Example

Description

Abs

Abs(Profit)

Calculates the absolute value of a numeric expression.

Acos

Acos(1)

Calculates the arc cosine of a numeric expression.

Asin

Asin(1)

Calculates the arc sine of a numeric expression.

Atan

Atan(1)

Calculates the arc tangent of a numeric expression.

Atan2

Atan2(1, 2)

Calculates the arc tangent of y/x, where y is the first numeric expression and x is the second numeric expression.

Ceiling

Ceiling(Profit)

Rounds a noninteger numeric expression to the next highest integer. If the numeric expression evaluates to an integer, the CEILING function returns that integer.

Cos

Cos(1)

Calculates the cosine of a numeric expression.

Cot

Cot(1)

Calculates the cotangent of a numeric expression.

Degrees

Degrees(1)

Converts an expression from radians to degrees.

Exp

Exp(4)

Sends the value to the power specified. Calculates e raised to the n-th power, where e is the base of the natural logarithm.

ExtractBit

Int ExtractBit(1, 5)

Retrieves a bit at a particular position in an integer. It returns an integer of either 0 or 1 corresponding to the position of the bit.

Floor

Floor(Profit)

Rounds a noninteger numeric expression to the next lowest integer. If the numeric expression evaluates to an integer, the FLOOR function returns that integer.

Log

Log(1)

Calculates the natural logarithm of an expression.

Log10

Log10(1)

Calculates the base 10 logarithm of an expression.

Mod

Mod(10, 3)

Divides the first numeric expression by the second numeric expression and returns the remainder portion of the quotient.

Pi

Pi()

Returns the constant value of pi.

Power

Power(Profit, 2)

Takes the first numeric expression and raises it to the power specified in the second numeric expression.

Radians

Radians(30)

Converts an expression from degrees to radians.

Rand

Rand()

Returns a pseudo-random number between 0 and 1.

RandFromSeed

Rand(2)

Returns a pseudo-random number based on a seed value. For a given seed value, the same set of random numbers are generated.

Round

Round(2.166000, 2)

Rounds a numeric expression to n digits of precision.

Sign

Sign(Profit)

This function returns the following:

- 1 if the numeric expression evaluates to a positive number

- -1 if the numeric expression evaluates to a negative number

- 0 if the numeric expression evaluates to zero

Sin

Sin(1)

Calculates the sine of a numeric expression.

Sqrt

Sqrt(7)

Calculates the square root of the numeric expression argument. The numeric expression must evaluate to a nonnegative number.

Tan

Tan(1)

Calculates the tangent of a numeric expression.

Truncate

Truncate(45.12345, 2)

Truncates a decimal number to return a specified number of places from the decimal point.

String Functions

String functions perform various character manipulations. They operate on character strings.

Function

Example

Description

Ascii

Ascii('a')

Converts a single character string to its corresponding ASCII code, between 0 and 255. If the character expression evaluates to multiple characters, the ASCII code corresponding to the first character in the expression is returned.

Bit_Length

Bit_Length('abcdef')

Returns the length, in bits, of a specified string. Each Unicode character is 2 bytes in length (equal to 16 bits).

Char

Char(35)

Converts a numeric value between 0 and 255 to the character value corresponding to the ASCII code.

Char_Length

Char_Length(Customer_Name)

Returns the length, in number of characters, of a specified string. Leading and trailing blanks are not counted in the length of the string.

Concat

SELECT DISTINCT Concat ('abc', 'def') FROM employee

Concatenates two character strings.

Insert

SELECT Insert('123456', 2, 3, 'abcd') FROM table

Inserts a specified character string into a specified location in another character string.

Left

SELECT Left('123456', 3) FROM table

Returns a specified number of characters from the left of a string.

Length

Length(Customer_Name)

Returns the length, in number of characters, of a specified string. The length is returned excluding any trailing blank characters.

Locate

Locate('d' 'abcdef')

Returns the numeric position of a character string in another character string. If the character string is not found in the string being searched, the function returns a value of 0.

LocateN

Locate('d' 'abcdef', 3)

Like Locate, returns the numeric position of a character string in another character string. LocateN includes an integer argument that enables you to specify a starting position to begin the search.

Lower

Lower(Customer_Name)

Converts a character string to lowercase.

Octet_Length

Octet_Length('abcdef')

Returns the number of bytes of a specified string.

Position

Position('d', 'abcdef')

Returns the numeric position of strExpr1 in a character expression. If strExpr1 is not found, the function returns 0.

Repeat

Repeat('abc', 4)

Repeats a specified expression n times.

Replace

Replace('abcd1234', '123', 'zz')

Replaces one or more characters from a specified character expression with one or more other characters.

Right

SELECT Right('123456', 3) FROM table

Returns a specified number of characters from the right of a string.

Space

Space(2)

Inserts blank spaces.

Substring

Substring('abcdef' FROM 2)

Creates a new string starting from a fixed number of characters into the original string.

SubstringN

Substring('abcdef' FROM 2 FOR 3)

Like Substring, creates a new string starting from a fixed number of characters into the original string.

SubstringN includes an integer argument that enables you to specify the length of the new string, in number of characters.

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Strips specified leading and trailing characters from a character string.

TrimLeading

Trim(LEADING '_' FROM '_abcdef')

Strips specified leading characters from a character string.

TrimTrailing

Trim(TRAILING '_' FROM 'abcdef_')

Strips specified trailing characters from a character string.

Upper

Upper(Customer_Name)

Converts a character string to uppercase.

System Functions

The USER system function returns values relating to the session.

It returns the user name you signed in with.

Time Series Functions

Time series functions are aggregate functions that operate on time dimensions.

The time dimension members must be at or below the level of the function. Because of this, one or more columns that uniquely identify members at or below the given level must be projected in the query.

Function

Example

Description

Ago

SELECT Year_ID, Ago(sales, year, 1)

Calculates the aggregated value of a measure from the current time to a specified time period in the past. For example, AGO can produce sales for every month of the current quarter and the corresponding quarter-ago sales.

Periodrolling

SELECT Month_ID, Periodrolling (monthly_sales, -1, 1)

Computes the aggregate of a measure over the period starting x units of time and ending y units of time from the current time. For example, PERIODROLLING can compute sales for a period that starts at a quarter before and ends at a quarter after the current quarter.

ToDate

SELECT Year_ID, Month_ID, ToDate (sales, year)

Aggregates a measure from the beginning of a specified time period to the currently displayed time. For example, this function can calculate Year to Date sales.

Forecast

FORECAST(numeric_expr, ([series]), output_column_name, options, [runtime_binded_options])

Creates a time-series model of the specified measure over the series using either Exponential Smoothing or ARMIA and outputs a forecast for a set of periods as specified by numPeriods.

Constants

You can use constants in expressions.

Available constants include Date, Time, and Timestamp.

Constant

Example

Description

Date

DATE [2014-04-09]

Inserts a specific date.

Time

TIME [12:00:00]

Inserts a specific time.

TimeStamp

TIMESTAMP [2014-04-09 12:00:00]

Inserts a specific timestamp.

Types

You can use data types, such as CHAR, INT, and NUMERIC in expressions.

For example, you use types when creating CAST expressions that change the data type of an expression or a null literal to another data type.

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2018, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.