VOOZH about

URL: https://www.cdata.com/kb/tech/xml-odbc-cognos.rst

โ‡ฑ Create Data Visualizations in Cognos BI with XML Data


Create Data Visualizations in Cognos BI with XML Data

๐Ÿ‘ Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Access XML data as an ODBC data source in Cognos Business Intelligence and create data visualizations in Cognos Report Studio.

You can use the CData ODBC driver for XML to integrate XML data with the drag-and-drop style of Cognos Report Studio. This article describes both a graphical approach to create data visualizations, with no SQL required, as well as how to execute any SQL query supported by XML.

Configure and Publish the Data Source

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

Connecting to Local or Cloud-Stored (Box, Google Drive, Amazon S3, SharePoint) XML Files

CData Drivers let you work with XML files stored locally and stored in cloud storage services like Box, Amazon S3, Google Drive, or SharePoint, right where they are.

Setting connection properties for local files

Set the URI property to local folder path.

Setting connection properties for files stored in Amazon S3

To connect to XML file(s) within Amazon S3, set the URI property to the URI of the Bucket and Folder where the intended XML files exist. In addition, at least set these properties:

  • AWSAccessKey: AWS Access Key (username)
  • AWSSecretKey: AWS Secret Key

Setting connection properties for files stored in Box

To connect to XML file(s) within Box, set the URI property to the URI of the folder that includes the intended XML file(s). Use the OAuth authentication method to connect to Box.

Dropbox

To connect to XML file(s) within Dropbox, set the URI proprerty to the URI of the folder that includes the intended XML file(s). Use the OAuth authentication method to connect to Dropbox. Either User Account or Service Account can be used to authenticate.

SharePoint Online (SOAP)

To connect to XML file(s) within SharePoint with SOAP Schema, set the URI proprerty to the URI of the document library that includes the intended XML file. Set User, Password, and StorageBaseURL.

SharePoint Online REST

To connect to XML file(s) within SharePoint with REST Schema, set the URI proprerty to the URI of the document library that includes the intended XML file. StorageBaseURL is optional. If not set, the driver will use the root drive. OAuth is used to authenticate.

Google Drive

To connect to XML file(s) within Google Drive, set the URI property to the URI of the folder that includes the intended XML file(s). Use the OAuth authentication method to connect and set InitiateOAuth to GETANDREFRESH.

The property is the controlling property over how your data is represented into tables and toggles the following basic configurations.

  • Document (default): Model a top-level, document view of your XML data. The data provider returns nested elements as aggregates of data.
  • FlattenedDocuments: Implicitly join nested documents and their parents into a single table.
  • Relational: Return individual, related tables from hierarchical data. The tables contain a primary key and a foreign key that links to the parent document.

See the Modeling XML Data chapter for more information on configuring the relational representation. You will also find the sample data used in the following examples. The data includes entries for people, the cars they own, and various maintenance services performed on those cars.

When you configure the DSN, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

If you are running Cognos from a 64-bit machine and want to modify the DSN or create other XML DSNs, you must use a system DSN. You will also need to open the 32-bit ODBC Data Source Administrator. You can open it with the following command:

C:\Windows\sysWOW64\odbcad32.exe 

After creating a DSN, you can then publish the data source:

  1. Open Cognos Administration and click Data Source Connections to add a new data source:
  2. Select the ODBC option and enter the DSN, CData XML Sys, and a user-friendly name.

  3. Click Retrieve Objects and choose the CData XML database object. ๐Ÿ‘ The DSN used to add the data source. (Salesforce is shown.)

Add Data Visualizations to a Report

You can now create reports on XML data in Cognos Report Studio by dragging and dropping table columns from the Source Explorer onto report objects. The sections below show how to create a simple report with a chart that shows up-to-date data.

As you build the report, Cognos Report Studio will generate SQL queries and rely on the driver to execute them. The driver will convert queries into requests to the XML API. To execute queries to the live XML data, the driver depends on the capabilities of the underlying API.

Create a Chart Based on an Aggregate

You can populate almost any report object in Cognos with XML data by simply dragging and dropping columns from the Source Explorer onto the dimensions of the object. The column in the Series dimension of the chart is automatically grouped.

Additionally, Cognos sets a logical default aggregate function for the measure dimension based on the data type. For this example, override the default by clicking the [ personal.name.last ] column in the Data Items tab and set the Aggregate Function property to Not Applicable. The Rollup Aggregate Function property must be set to Automatic.

๐Ÿ‘ XML columns used in a pie chart. (Salesforce is shown.)

Convert a Query Object to SQL

When you know the query you need, or if you want to adjust the generated query, convert a query object into an SQL statement. After a query has been converted to SQL, the UI controls are not available for the query object. Follow the procedure below to populate a chart with user-defined SQL.

Cognos will rely on the driver to execute the user-defined query. Using the driver's SQL engine ensures that queries will always return up-to-date results, as there is no cached copy of the data.

  1. Hover over the Query Explorer and click the Queries folder to display the query objects in your report.
  2. If you want to edit the autogenerated query, click the button in the Generated SQL property for the query object. In the resulting dialog, click Convert.

    If you want to enter a new SQL statement, drop an SQL object in-line with the query object.

  3. Modify the properties for the SQL object: Select the XML data source in the SQL properties and set the SQL Syntax property to Native.
  4. Click the button in the SQL property and enter the SQL query in the resulting dialog. This example uses the query below:

    SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]
  5. Modify the properties for the query object: Set the Processing property to "Limited Local". This value is required to convert a query object to SQL.

    ๐Ÿ‘ A query object created from an SQL statement.

Fill a Chart with the Results of a Query

You can now access the results of the SQL query as objects in the Data Items tab. Follow the procedure below to create a chart with the results; for example, the [ personal.name.last ] for each [ personal.name.first ] from the people table.

  1. Return to the page by hovering over the Page Explorer and then clicking the page object.
  2. Drag a pie chart from the toolbox onto the workspace.
  3. In the properties for the chart, set the Query property to the name of the query you created above.
  4. Click the Data Items tab and drag columns onto the x- and y-axes. In this example, drag the [ personal.name.first ] column to the Series (pie slices) box and the [ personal.name.last ] column to the Default Measure box.
  5. Modify the default properties for the Default Measure (the [ personal.name.last ] values): In the Aggregate Function box, select the Total option.

๐Ÿ‘ A pie chart populated with the result of executing the SQL query. (Salesforce is shown.)

Run the report to add the results of the query.

๐Ÿ‘ The rendered report. (Salesforce is shown.)

Ready to get started?

Download a free trial of the XML ODBC Driver to get started:

 Download Now

Learn more:

๐Ÿ‘ XML Documents Icon
XML ODBC Driver

The XML ODBC Driver is a powerful tool that allows you to connect with live XML data stores, directly from any applications that support ODBC connectivity.

Access XML data like you would any standard database - read, write, and update etc. through a standard ODBC Driver interface.