Category Archives: Peak Indicators

Oracle BI Mobile App Designer – Version 2

By Anne Lavery

Oracle BI Mobile App Designer - Version 2

The long-awaited new version of Oracle Mobile App Designer has been released.  This is the first patch update from Oracle for Mobile App Designer, and it includes many new features and enhancements.  Throughout this blog, I will compare old with new where possible and highlight any new features that have been released.

Some interesting new features available with Version 2 include:

  • Map Visualisation
  • Custom Maps
  • Set of new functions with redesigned calculated fields

 

Other new features include components which have enhanced and improved functionality:

  • Redesigned authoring UI
  • Exploration template
  • Application level calculated fields
  • Filters


New Features and Enhancements

User Interface

The first major difference is the look and layout of the MAD interface. In the first release, the space available for development interface was restricted by the toolbar along the top.

image1

In V2 this has been removed and instead the components can be accessed from the expandable button which has maximised the space for developing the app.  Alongside this, the save and preview functions have been placed in one location at the top of the App Designer.

image2

From these expandable buttons developers can also add a new page, and while this core functionality was in the first release, the expandable button makes the user interface appear more simplistic and consistent.

image3

Another redesign that improves the development experiences is the new location of the properties pane at the side of the screen - users have the option of hiding the pane or having it viewable when developing apps.

image4

Calculated Field

In version 1 of MAD, calculated fields were created using the ‘Formula Editor’. In V2 this has been re-designed from the ground up to make the creation of custom calculated fields a lot more intuitive and simple, yet flexible with a set of newly introduced functions.  In the example below, I have created a field for the number of days from when an order was first placed to the current date.  According to your customer requirements, you can adjust this to close date of order; therefore you can view how long the order was open for.  Each calculated field you create can be saved and used within another page/component, whereas in V1 you had to setup your calculated field for each component.  Version 2 of Mobile App Designer has seen the introduction of new functions such as CASE logic, Date Related Calculations and Conversion Text, Math etc…

image5

Multiple Filters

With version 1 we had to set up the filter for each component, yet with version 2, within the filters section we can create a number of saved filters and apply them to a certain cell or field within the app.  We can also have multiple filters in place, which couldn’t be done with V1.  Not only can you have filters placed on a text field or a numeric field, you can also apply another filter without the first filter taking precedent.

image6

Users can drag and drop Filters or Calculated Fields to any component and assign filters from the newly re-designed property window.  Having the ability to save a number of Filters and Calculated Fields allows the user to apply these to different pages throughout the app.

Exploration Page

Another feature available with V2 is the ‘Exploration Page’.  This is only available when building a Tablet App.

image7

Within an exploration page, you can drag and drop the data fields into the filter area.  Based on the data type, the data becomes either an expandable drop down option for text fields, or a slider bar for numeric data.

image8

Sidebar

Another added bonus of the Exploration Page and to any type of page is the Sidebar feature.  This is so users can find point of interest information quickly without opening another page.  In the example screenshot, I have enabled this feature on the graph, so when the user selects data from the graph, the sidebar appears containing more information.

image9

image10

New Map Visualisation

New Map Visualisation has been included to help business users to easily visualise their data with maps and to interact on mobile devices, to zoom in and out, drill down and filter.

image11

From the example below we have been able to set the longitude and latitude by using the fields from the data subject area.  User can choose to select the data they wish to filter down into.

image12

Users can also customise the look of the markers and the way data is displayed on the map.  By selecting the field you wish to customise, you can edit this from within the properties pane.

image13

New Custom Map

In version 2, as well as the pre-seeded map types (e.g. US states) Version 2 allows customers to add their own regions and maps by simply uploading their own geoJSON files for polygon boundaries.  Flexible custom keyword matching is also included as well as support for native interaction and filtering.  Users should then add their new custom map file to the configuration file.

image14

From the example below, you can see ‘Peak Countries’ has been added to the list of types.

image15

Plugin’s

V1 of Mobile App Designer supported custom plug-ins to be added as new data visualization components.  In V2, the developers have added an SDK for easier development of custom plug-ins.  If you are to create your own custom plug-in, you will have to install Node.js.   The kit contains the plug-in javascript file, the development server, and sample data.  You can develop and test a plug-in from your desktop.  After you install the prerequisite software and set up your environment, you are ready to download the SDK with sample data. After you download the SDK you are ready to design you’re plug-in.

image16

You can test your plug-in on your desktop before deploying to your environment.  Once the plug-in is created, it must be uploaded so it becomes available in the gallery.

image17

Other Features

One problem I encountered during the first release was that each time I saved and previewed the app: the preview would reload the entire app. However, in V2 when I use the preview function it takes me to the page I have been editing. This is a simple feature but one I have found to be very useful.

Another theme has been added in V2:

image18

An issue I have encountered when developing Apps for clients occurred when I had placed a graph component on a page then dragged a numeric field to display on the graph.  For example, if there were any Null values contained in the data then we would use a Line Graph for display, the line would create a space for that Null value then continue with Line graph data.

image19

As a workaround I created a data model and created the tables and columns I wanted to use within the App.  I then applied a filter so that there were no Null values appearing in the data.  With version 2, this has been solved; instead we have a tick box which enables developers to prevent end users seeing Null values.

image20

Another feature which has been included is the ability to search for an app within the Apps Library or within your Apps section.  This feature is very useful as there can be a large number of apps in the library and this functionality makes finding a particular app easier and faster.  Users also have the ability to share QR codes by copying and embedding these within web pages or blog posts.

image21

In conclusion, after looking through and developing some apps myself, I have observed many beneficial enhancements in version 2 of mobile app designer.  When building and developing apps, the extra space for adding components within the main body is one of the main benefits for me; I am not constantly using the scroll bar to move through the page.  The additional features included with this upgrade, such as the exploration page, sidebar, and the extended drill down functionality improve the end user’s interactive experience.   Features such as multiple filters, and easier control of the appearance of nulls on tables and graphs really improves the developer experience too.  Therefore in my opinion this version has improved upon an already great tool.

 

Oracle DB 12c “In-Memory” : How to achieve 1 billion rows/sec?


by Antony Heljula
Normally when software vendors make announcements about performance you hear claims such as "50x Faster" but they never say exactly what "Fast" actually is.   The marketing behind the recent Oracle Database 12c "In-Memory" option has been different, not only are we hearing "1000x Faster for Analytical queries" but we have also been told how fast it can work i.e. "billions of rows per second".   So our expectations have been truly set!
Ever since this Oracle Database 12c "In-Memory" option was first announced I have been keen to see how easy it was to achieve the advertised level of performance.  After all, there's little point boasting about such speed if it is only possible with a whole bunch of tricks and a cluster of super-computers.
So here are the results of a simple test just to see how easy it was to achieve a scan rate of 1 billion rows per second. Please note that, as an Oracle Partner, we are not allowed to release our own benchmarking information so we can't share all the precise details unfortunately.   So here are the general setup steps:
We installed an Oracle 12c database on an Oracle Sun server, using the standard "Data Warehouse" template option
We imported a table "FACT_SALES" which contained 1 billion records (40GB data) and gathered statistics
The INMEMORY_SIZE database parameter was set to around 50GB  (big enough to store our test table in-memory)
Parallel Query (Auto DOP) was enabled using the default settings
No other tuning was performed (no partitioning etc)
All database data was stored on 1 mirrored disk, using the default USERS tablespace
Now that the data had been loaded we could build its in-memory column store using this basic command:   ALTER TABLE fact_sales INMEMORY;
Building the entire in-memory store for all 1 billion rows was surprisingly quick, no more than 90 seconds!   Quite impressive.
But now for the big test:  is it now possible to scan 1 billion rows in less than a second?   To do the test we used a SQL query with a filter that made sure the database had to read values from the table whilst scanning:
SELECT COUNT(*) FROM fact_sales WHERE sales_value>0;
And here's the result:  a billion rows scanned in half a second!
THIS ARTICLE IT IS FOR INFORMATIONAL PURPOSES ONLY - IT DOES NOT CONTAIN ANY OFFICIAL ORACLE BENCHMARKING DATA AND SHOULD NOT BE TREATED AS SUCH

THIS ARTICLE IT IS FOR INFORMATIONAL PURPOSES ONLY - IT DOES NOT CONTAIN ANY OFFICIAL ORACLE BENCHMARKING DATA AND SHOULD NOT BE TREATED AS SUCH.  FOR OFFICIAL DETAILS ABOUT ORACLE DATABASE 12C PLEASE VISIT ORACLE.COM


by Antony Heljula

Ever since the Oracle Database 12c "In-Memory" option was first announced I have been keen to see how easy it was to achieve the "billions of rows per second" level of performance which was being claimed.  After all, there's little point boasting about such speed if it is only possible with a whole bunch of tricks and a cluster of super-computers.

So here are the results of a test just to see if the "in-memory" option can deliver a scan rate of >1 billion rows per second without lots of tuning and magic tricks.  Please note that, as an Oracle Partner, we are not allowed to release "benchmarking" information so we can't share all the precise details unfortunately.   But here are the general setup steps:

  • We installed Oracle Database 12c on a single-node Oracle Sun server (X3 generation), using the standard "Data Warehouse" template option
  • We imported a table "FACT_SALES" which contained 1 billion records (40GB data storage) and gathered statistics
  • No indexes were created
  • All database data was stored on 1 mirrored SSD disk, using the default USERS tablespace
  • The following 3 database parameters were set:
    • INMEMORY_SIZE = 50G (big enough to store our test table in-memory)
    • INMEMORY_MAX_POPULATE_SERVERS = 20  (pick a large number)
    • PARALLEL_DEGREE_POLICY = AUTO  (to enable auto-parallel query using the default settings)
  • No other tuning was performed (no partitioning etc)

Now that the data had been loaded we could build its in-memory column store using this basic command:

ALTER TABLE fact_sales INMEMORY;

Building the entire in-memory store for all 1 billion rows was surprisingly quick, no more than 90 seconds!   Quite impressive.

But now for the big test:  is it now possible to scan 1 billion rows in less than a second?   To do the test we added a filter to the SQL query to make sure the database had to read values from the table whilst scanning:

SELECT COUNT(*) FROM fact_sales WHERE sales_value>0;

And here's the result:  a billion rows scanned in just half a second:


Note: Before the "in-memory" option was enabled, this query was previously taking over 4 minutes.


THIS ARTICLE IT IS FOR INFORMATIONAL PURPOSES ONLY - IT DOES NOT CONTAIN ANY OFFICIAL ORACLE BENCHMARKING DATA AND SHOULD NOT BE TREATED AS SUCH.  FOR OFFICIAL DETAILS ABOUT ORACLE DATABASE 12C PLEASE VISIT ORACLE.COM

 

Tuning TimesTen for Star-Query and Agg. Persistence

by Alastair Burgess and Antony Heljula

The TimesTen 11.2.2.6.3 release introduces enhancements that significantly improve the performance of analytical "star-join" queries (the type of query typically issued by Oracle BI).

This presentation (presented at the BI Forum 2014) provides the details of how to enable the new performance features and also outlines serveral tips and techniques for further optimising your TimesTen queries with OBIEE 11.1.1.7 onwards.

Our performance tests run on an Exalytics X-3 server show that BI queries run many times faster than before, and in a lot of cases beat the Oracle Database on like-for-like hardware, so this is certainly significant development for TimesTen.

Please click here or on the image to open the presentation and feel free to submit any comments or feedback using the form below.

timesten

Connecting OBIEE to MySQL on Linux

by Antony Heljula

If you wish to connect OBIEE 11.1.1.7+ to a MySQL database then the good news is that OBIEE now comes with native support for MySQL.    This means you no longer have to install extra odbc drivers, change library paths or make configuration changes to opmn.xml.

Here is how to configure MySQL connectivity on Linux:

1) Open up the odbc.ini file for editing:

[FMW_HOME]/instances/instance1/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini

2) Add a new line underneath [ODBC Data Sources].   For example, if your new ODBC connection is going to be called "MySQL_DB":

[ODBC Data Sources]
MySQL_DB = MySQL ODBC DRIVER
[ODBC Data Sources]
AnalyticsWeb=Oracle BI Server
Cluster=Oracle BI Server
SSL_Sample=Oracle BI Server
Ecell_MySQL = MySQL ODBC DRIVER


3) Paste in the connection details for your new "MySQL_DB" ODBC driver:

[MySQL_DB]
Driver = [FMW_HOME]/Oracle_BI1/bifoundation/odbc/lib/SEmysql23.so
Description = Connector ODBC 3.51 Driver DSN
HostName = [HOST or IP ADDRESS]
PortNumber = 3306
Database = [NAME OF MYSQL DATABASE]


4) Restart Oracle BI Server

5) You can now connect your RPD to the new data source, using the following settings:

Database Type:
Connection Pool "Call Interface":
Connection Pool "Data Source Name":
MySQL
ODBC 3.5
MySQL_DB (or whatever you specified in the odbc.ini file)

 

 

Analytics as a Service – Go Outdoors

By Antony Heljula

This presentation provides a high-level overview of a Business Analytics success story at GO Outdoors, it was presented at the Oracle Business Analytics Summit 2014, London.

The slides will describe how Peak Indicators worked with GO Outdoors to design and deploy an innovative “private cloud” using the latest hardware, software and virtualization technologies from Oracle.

The infrastructure delivered some significant performance gains:
  • Overnight ETL reduced from 5.5 hours to 2 hours
  • OBI Aggregates load reduced from 30 minutes to 5 minutes
  • Some OBI reports reduced from 27 minutes down to 45 seconds

plugin_image

To view the presentation please click the image below, and please feel free to leave any comments or questions using the form underneath.


Analytics as a Service - Go Outdoors