Jupyter Integration with Cognos Analytics

In many organizations, data scientists using Python often work in isolation, with no simple means of delivering their results to the broader user population. This where IBM Cognos Analytics steps in with Jupyter Notebook Integration. Cognos serves as a central platform where governed data is not only managed but also made accessible to users who seek reliable information.

A Jupyter Notebook is an incredibly versatile tool that allows users to create documents combining live code, visualizations, and narrative explanations. While it supports various programming languages, it is most commonly used with Python, making it a staple in data science and research.

Integrating Jupyter Notebooks with IBM Cognos Analytics can unlock a host of benefits for organizations eager to harness the strengths of both tools. This seamless integration enables users to merge the powerful data visualization and reporting capabilities of Cognos with the interactive and exploratory features of Jupyter Notebooks. By doing so, it bridges the gap between data scientists and the broader user base, empowering them to:

  • Share notebooks and insights with others

  • Leverage governed data from uploaded files and data modules

  • Write output to data sources in My and Team Content

  • Make discoveries easy to access by both power and casual users

  • Easily upload existing notebooks and save them in the Cognos Content store

  • Conduct data science and machine learning models, among other advanced analytics tasks

Enhance Collaboration

Data science involves a range of activities, including exploration, prediction, and inference, all with the goal of extracting meaningful insights from data. Jupyter Notebooks excel in supporting these tasks by offering an interactive environment where data scientists can delve into data exploration, generate predictions from existing information, and assess the confidence of those predictions. This interactive nature fosters a dynamic "conversation" between the researcher and the data, resulting in more informed analyses and deeper insights.

By integrating Jupyter Notebooks with Cognos, organizations can create a more collaborative and interactive analytics environment, where users can easily share analyses, visualizations, and insights with their colleagues. This can help drive better decision-making and foster a culture of data-driven decision-making within the organization. 

Fully Integrated into Cognos Analytics 

Jupyter Notebook servers can be seamlessly integrated into Cognos Analytics providing users with the following capabilities: 

  • Notebooks are Secure in Team Content

  • Easily share Notebooks via email or Slack

  • Upload externally created Notebooks directly into the Cognos Portal

  • Schedule updates for Notebooks as need

For a more in-depth article on installation -> Installing Cognos Analytics for Jupyter Notebooks — PMsquare 

Application 

The integration of Jupyter Notebooks with Cognos Analytics opens a range of use cases, including:

  1. Sophisticated analysis: Conducting complex data analyses and modelling within the Cognos environment. 

    Example: Applying Machine Learning Models from sklearn and noting their accuracy scores.

2. Basic extract/transform/load (ETL): Performing data movement, adding additional columns (e.g., calculated fields), and cleaning data directly within Cognos Analytics.

3. Conduct Exploratory Data Analysis

Illustrations of EDA using visualisations from Python libraries such as Seaborn and Matplot Lib in Cognos:  

Categorical Data Plots  

Distribution Plots 

Joint Plot - jointplot() allows you to basically match up two distplots for bivariate data

Jumping into Cognos Analytics 

To start a new Notebook navigate to New then scroll down for Notebook.

 
 

The notebook interface looks like any other Jupyter Notebook with plenty of help options and ability to choose between code block and Markdowns. 

 
 

To read data from Cognos into the Notebook use the method CADataConnector.read_data()  or use the “Add data” button located in the top left corner of the UI. You can read Uploaded CSV or XLS files, Data sets, Data modules, Framework Manager packages, including OLAP data

CADataConnector.write_data() method Allows you to the write the file to any folder in Cognos Analytics use the ‘mode = w’ allows for overwriting if the file already exists. 

As see in this illustration we renamed the file to demo and saved it to the “My Content / Jupyter Demo /Titanic DEMO” folder. 

In the case were you might require the data to be update dated at a particular interval you have the ability to schedule a daily run of the Notebook keeping your data updated:  

  • Navigate to the Notebook you wish to schedule

  • Open the properties and select “Schedule” 

  • Click “Create Schedule”

Building a dashboard using a Jupyter Notebook

Why?

Jupyter Notebooks support multiple programming languages (Julia, Python and R to name a few), broadening the scope of analytical techniques within Cognos. They also enable seamless collaboration among teams, fostering transparency and reproducibility for enhanced data integrity and auditability. 

Limitations? 

While Jupyter Notebooks offer powerful visualization capabilities, they have limitations compared to Cognos out of box options: 

  • Ease of Use: Cognos provides a user-friendly drag-and-drop interface for creating visualizations, whereas Jupyter Notebooks require programming knowledge, which may be challenging for non-technical users. 

  • Interactivity: Cognos offers advanced interactive features like drill-through and dynamic filtering out-of-the-box, while achieving similar output in Jupyter Notebooks will require hard coding as notebook components are not compatible with Cognos prompts. 

Full Illustration:

In Cognos  once you have completed your analysis in Jupyter Notebook creating a dashboard and displaying your finding is simple.  

  • Click on “Widgets” 

  • “Advanced”

  • “Select a NoteBook” saved in your Cognos environment  

  • Then “Open” 

 
 

When you open this window, you can scroll through and select from the list of executed kernels in your notebook. You can use these kernels to create your Dashboard or Report, combining Cognos and Jupyter items to craft a custom and powerful insight. 

Conclusion

In conclusion, integrating Jupyter Notebooks with IBM Cognos Analytics opens up a world of exciting possibilities for data analysts and business intelligence professionals. This powerful combination enhances the analytical capabilities of organizations by merging the interactive, exploratory features of Jupyter Notebooks with the robust data visualization and reporting strengths of Cognos. By bridging these tools, users can unlock deeper insights, foster innovative data-driven decision-making, and drive transformative results across their organizations. The synergy between Jupyter and Cognos not only enriches the analytical process but also empowers teams to tackle complex challenges with unprecedented agility and precision.

Next Steps

If you need assistance with any aspect of integrating these tools or maximizing their potential, don't hesitate to contact the PMsquare team. We are here to help you achieve your data-driven goals with tailored solutions and support.

Be sure to subscribe to our newsletter for more PMsquare articles, updates, and insights delivered straight to your inbox.