Qlik Community

Blogs

Hear directly from Qlik employees in our ten unique blogs.

Announcements
QlikWorld 2022, LIVE in Denver CO., May 16-19, 2022. REGISTER NOW TO RECEIVE EARLY BIRD PRICING
cancel
Showing results for 
Search instead for 
Did you mean: 

Qlik Academic Program Blog

This forum was created for professors and students using Qlik within academia.

Qlik Product Innovation Blog

Learn about what's new across all of the products in our growing Qlik product portfolio.

Support Updates Blog

Important and useful support information about end-of-product support, new service releases, and general support topics.

Qlik Design Blog

All about product and Qlik solutions: scripting, data modeling, visual design, extensions, best practices, etc.

Community News

Updates about Qlik Community Platform as well as news and announcements.

Qlik Education Blog

On this forum you can access and follow the latest updates of our courses and programs with the Qlik Education team.

Qlik Technical Bulletin Blog

Information on all new product releases, connectors, beta programs, and technical product information.

Qlik Architecture Deep Dive Blog

Deep dives into specific back-end technologies which allow for the extension of Qlik to fit the needs of the enterprise.

Qlik Customer Success Blog

All about Qlik's Voice of the Customer program and Customer Success initiatives

Product Insight Blog

Learn about what's new in the Qlik Product Insight & Ideas forum.

Recent Blog Posts

  • qlik-community-blogs.jpg

    Qlik Technical Bulletin Blog

    Qlik Subprocessors General Data Protection Regulation (GDPR) - Version 2.5 - Dec...

    Version 2.5. Current as of: December 2nd 2021Qlik may from time to time use the following Qlik group companies and/or third parties (collectively, “Subprocessors”) to process personal data for purposes of providing Qlik Cloud, Support Services and/or Consulting Services.Qlik has relevant data transfer agreements in place with the Subprocessors (including group companies) to enable the lawful and secure transfer of personal data. You can receive u... Show More

    Version 2.5. Current as of: December 2nd 2021

    Qlik may from time to time use the following Qlik group companies and/or third parties (collectively, “Subprocessors”) to process personal data for purposes of providing Qlik Cloud, Support Services and/or Consulting Services.

    Qlik has relevant data transfer agreements in place with the Subprocessors (including group companies) to enable the lawful and secure transfer of personal data. You can receive updates to this Subprocessor list by subscribing to the blog or by enabling RSS feed notifications.  

    Third party subprocessors for Qlik Cloud:

      

    Amazon Web Services (AWS)

    If EU region is chosen:

    -        Ireland (Republic of);

    -        Paris, France (back-up); &

    -        Frankfurt, Germany (Blendr only).

    If US region is chosen:

    -        Virginia, US; &

    -        Ohio, US (back-up).

    Customer may select one of two APAC locations:

    -        Sydney, Australia (including back-up); or

    -         Singapore (back-up in South Korea).

    Qlik Cloud is hosted through Amazon Web Services ("AWS")

    Google

    Located in Australia if Sydney Australia server chosen.

    Secondary Qlik Cloud backups for Australia server.

    MongoDB

    If EU region is chosen for Qlik Cloud:

    -        Ireland (Republic of); &

    -        Paris, France (back-up).

    If US region is chosen for Qlik Cloud:

    -        Virginia, US; &

    -        Ohio, US (back-up).

    If APAC region is chosen for Qlik Cloud:

    -        Sydney, Australia (including back-up); or

    -        APAC if Singapore server chosen.

    Any data inputted into the Notes feature in Qlik Cloud

    Third party subprocessors for Support Services and/or Consulting Services:

      

     Salesforce

    United Kingdom

    Support case management tools

    Grazitti SearchUnify

    United States

    Support case management tools

    Microsoft

    United States

    Customer may send data through Office 365

    Jira

    Frankfurt, Germany

    Support case management tools

    Directly

    United States

    Support Portal Chatbot

    Persistent

    India

    R&D Support Services

    Altoros

    US

    R&D Support Services

    Amazon Web Services (AWS)

    United States

    Support case management tools 

    ISS Consult

    Romania

    Support services for Blendr only

    Third party subprocessors for mobile device apps

     

     

    Google Firebase

    United States

    Push notifications

     

    List of Qlik Affiliates

    These affiliates may provide services, such as Consulting or Support, depending on your location and agreement(s) with Qlik. Qlik’s Support Services are predominantly performed in the customer’s region: EMEA – Sweden, Spain, Israel; Americas – USA; APAC – Japan, Australia, India.

     

    QlikTech International AB

    Sweden

    QlikTech Nordic AB

    Sweden

     QlikTech Latam AB

    Sweden

    QlikTech Denmark ApS

    Denmark

    QlikTech Finland OY

    Finland

    QlikTech France SARL

    France

    QlikTech Iberica SL (Spain)

    Spain

    QlikTech Iberica SL (Portugal liaison office)

    Portugal

    QlikTech GmbH

    Germany

     QlikTech GmbH (Austria branch)

    Austria

    QlikTech GmbH (Swiss branch)

    Switzerland

    QlikTech Italy S.r.l.

    Italy

    QlikTech Netherlands BV

    Netherlands

    QlikTech Netherlands BV (Belgian branch)

    Belgium

    Blendr NV

    Belgium

    QlikTech UK Limited

    United Kingdom

    DataMarket ehf. (Iceland)

    Iceland

    Qlik Analytics (ISR) Ltd.

    Israel

    QlikTech Netherlands BV (Russian branch)

    Russia

    QlikTech International Markets AB (DMCC Branch)

    United Arab Emirates

    QlikTech Inc.

    United States

    QlikTech Corporation (Canada).

    Canada

    QlikTech México S. de R.L. de C.V.

    Mexico

    QlikTech Brasil Comercialização de Software Ltda.

    Brazil

    QlikTech Japan K.K.

    Japan

    QlikTech Singapore Pte. Ltd.

    Singapore

    QlikTech Hong Kong Limited

    Hong Kong

    Qlik Technology (Beijing) Limited Liability Company

    China

    QlikTech India Private Limited

    India

    QlikTech Australia Pty Ltd

    Australia

    QlikTech New Zealand Limited

    New Zealand

     

    Qlik reserves the right to amend its products and services from time to time. For more information, please see www.qlik.com/us/trust/privacy.

    Show Less
  • Image Not found

    Support Updates Blog

    Latest Version of Entitlement Analyzer for Qlik Sense Enterprise SaaS customers ...

    Hello Qlik Users!  How can I track the usage of my Tenant over time? How are my entitled users using the Tenant?  How can I better understand the usage of Analyzer Capacity vs. Analyzer & Professional Entitlements?  These are a couple of the questions we frequently hear. To enable you to find better answers for those, we are happy to share with you the new Entitlement Analyzer for Qlik Sense Enterprise SaaS!  The Entitlement Analyzer will help an... Show More

    Hello Qlik Users! 

    How can I track the usage of my Tenant over time? How are my entitled users using the Tenant? 

    How can I better understand the usage of Analyzer Capacity vs. Analyzer & Professional Entitlements? 

    These are a couple of the questions we frequently hear. To enable you to find better answers for those, we are happy to share with you the new Entitlement Analyzer for Qlik Sense Enterprise SaaS! 

    Entitlement Analyzer.pngThe Entitlement Analyzer will help answer those questions and more! The app provides insights on: 

    • Entitlement usage overview across the Tenant 
    • Analyzer Capacity – Detailed usage data and a predication if you have enough 
    • Understand how users are using the system and if they have the right Entitlement assigned to them 
    • Understand which Apps are used the most by using the NEW "App consumption overview" sheet
    • And much more! 

     

    Analyzer.JPG

     

    The Entitlement Analyzer uses a new API Endpoint to fetch all the required data and will store the history in QVD files to enable even better Analytics over time. 

     A few things to note: 

    • This app is provided as-is and is not supported by Qlik Support. 
    • It is recommended to always use the latest app. 
    • Information is not collected by Qlik when using this app. 

     

    The app as well as the configuration guide can be found at the bottom of this post. This app was created internally and will be supported by the developers of the app. They will be following this thread so be sure to post any questions or issues here so they can be addressed. 

    Be sure to subscribe to the Qlik Support Updates Blog by clicking the green Subscribe button to stay up-to-date with the latest Qlik Support announcements. Please give this post a like if you found it helpful! 

    Kind regards, 

    Qlik Digital Support Team 

    Edit as of Oct. 7, 2021: Updated and attached latest QVF file for Entitlement Analyzer. The new version contains details about open events and therefore allows customers to better understand their consumption of the tenant. 

     

    Show Less
  • Image Not found

    Qlik Education Blog

    Become a Data Expert in 15 weeks!

    Download the Analytics Expert Program Information
  • qlik-community-blogs.jpg

    Qlik Product Innovation Blog

    Task Rename

    Creating a Qlik Replicate task with the wrong name is an thing easy to do but to correct the name is less straight forward. 
  • Image Not found

    Support Updates Blog

    Techspert Talks - Troubleshooting Qlik Data Transfer

    Hi everyone, Want to stay a step ahead of important Qlik support issues? Then sign up for our monthly webinar series where you can get first-hand insights from Qlik experts.Next Thursday, December 9th Qlik Support will host another Techspert Talks session and this time we are looking at Troubleshooting Qlik Data Transfer. But wait, what is it exactly?Techspert Talks is a free webinar held on a monthly basis, where you can hear directly from Qlik ... Show More

    Hi everyone,
    Want to stay a step ahead of important Qlik support issues? Then sign up for our monthly webinar series where you can get first-hand insights from Qlik experts.
    Next Thursday, December 9th Qlik Support will host another Techspert Talks session and this time we are looking at Troubleshooting Qlik Data Transfer.

    But wait, what is it exactly?
    Techspert Talks is a free webinar held on a monthly basis, where you can hear directly from Qlik Techsperts on topics that are relevant to Customers and Partners today.

    In this session we will cover:

    • How it works
    • Deployment best practices
    • Troubleshooting common issues

    Click on this link to choose the webinar time that’s best for you.

    The webinar is hosted using ON24 in English and will last 30 minutes plus time for Q&A.
    Hope to see you there!!

    Show Less
  • Image Not found

    Qlik Education Blog

    Pre-Registration Now Available for Our Newest Certification exams: Qlik Compose ...

    Be among the first to be certified in Qlik Compose or Qlik Replicate!
  • Image Not found

    Qlik Design Blog

    Managing your Analytics lifecycle in Qlik Sense Enterprise SaaS

    Our Leigh Kennedy, Master Principal Enterprise Architect, is back sharing his in the trenches experience with you. In the attached document Leigh educates you on applying software development life cycle (SDLC) concepts to your Qlik Sense Enterprise SaaS tenants. Take it away Leigh!IntroductionThe majority of customers use some form of software development lifecycle in their organizations. When moving to SaaS customers are sometimes unsure of if o... Show More

    Our Leigh Kennedy, Master Principal Enterprise Architect, is back sharing his in the trenches experience with you. In the attached document Leigh educates you on applying software development life cycle (SDLC) concepts to your Qlik Sense Enterprise SaaS tenants. Take it away Leigh!

    Introduction

    The majority of customers use some form of software development lifecycle in their organizations. When moving to SaaS customers are sometimes unsure of if or how to apply these techniques to a Qlik Sense Enterprise SaaS environment.

    We will explore some of the technical processes that need to occur within or interacting with a Qlik Sense Enterprise SaaS tenant as part of a software development lifecycle. We look at a number of areas including setting up your SaaS tenant in a way that supports your SDLC, encouraging re-use, building context aware applications, and many other topics. This document covers Qlik Sense Enterprise SaaS only and does not focus on our Hybrid Data Delivery or Qlik Application Automation offerings - they deserve a doc of their own and we hope to bring you one in the near future!

    The aim of this document is not to provide a strict SDLC process for customers to follow, rather it aims to provide examples of how SDLC processes could work in a Qlik Sense Enterprise SaaS environment. We encourage you to implement or amend the parts or this you need so Qlik Sense Enterprise SaaS fits into your organization.

    PDF attached in this post.

    11-29-2021 3-10-02 PM.jpg

    Show Less
  • Image Not found

    Qlik Design Blog

    Charts in Tooltips

    Custom tooltips in visualizations keep getting better and better. Now, you can add a chart to a tooltip – it is like a chart within a chart. The ability to add master visualizations to tooltips enables users to drill down in the data in a different way. Charts can be added to custom tooltips for the following charts: Bar, Bullet, Combo, Line, Map, Scatter Plot and Treemap.When a chart is added to a tooltip, the chart picks up on the dimension tha... Show More

    Custom tooltips in visualizations keep getting better and better. Now, you can add a chart to a tooltip – it is like a chart within a chart. The ability to add master visualizations to tooltips enables users to drill down in the data in a different way. Charts can be added to custom tooltips for the following charts: Bar, Bullet, Combo, Line, Map, Scatter Plot and Treemap.

    When a chart is added to a tooltip, the chart picks up on the dimension that is being hovered over and displays the embedded visualization based on that dimension. It provides a nice way to see details, trends or supporting information about a data point in a visualization. The line chart below shows sales over time. The table that is added to the tooltip shows the products that were ordered on the respective order date as well as customers that placed the order. It is clean and simple and offers details in the moment.

    chart.png

    Adding a chart to a tooltip is easy to do. The first step is to create the chart that you would like to add to the tooltip. Make sure the chart is not too big and will fit in the tooltip. Add the chart to the master items. Then in the properties panel of the visualization under Appearance > Tooltip, toggle Basic to Custom. In the Chart section, click the Add chart button. Select the chart from the list of master items. Lastly, change the chart size, if necessary. Now, test it out. Exit edit mode and hover in the chart to see the tooltip. Make sure it looks as you expect and is fully visible. It’s that easy. Want to see more? Check out this video on adding a chart to a custom tooltip.

     Things to be aware of when considering using a chart in a tooltip:

    • The chart that is added to the tooltip must be a master visualization.
    • You cannot interact with the tooltip chart so make sure the whole chart is visible because there is not the option to scroll.
    • You can select the size for the chart (small, medium, or large) so keep that in mind if you have a larger chart that may not be fully visible when set to small or medium.
    • When using a touch device, charts will not appear in custom tooltips.
    • If using a Treemap chart in a custom tooltip, you can only have one dimension in the Treemap.
    • Container and Trellis container charts are not supported in custom tooltips.
    • Charts in tooltips are not supported in Storytelling.

     

    Charts in tooltips is a helpful new feature that can enhance your visualizations and provide further insights. To view some examples, check out the Charts in Tooltips sheet in the What’s New App on the Demo Site that was released earlier this month.

    Thanks,

    Jennell

     

     

    Show Less
  • Image Not found

    Support Updates Blog

    RESOLVED - Case Portal Defect, Troubleshooting in Progress

    Hello Qlik Users,  We are currently investigating a case portal defect during the case creation process.  All users are still able to submit a case, but are not able to select additional options that will categorize your request. Therefore, all submissions are currently showing incorrect product in the Case Details. To help identify your request and ensure it reaches the correct queue, please be sure to hashtag the product or account area of con... Show More

    Hello Qlik Users, 

    We are currently investigating a case portal defect during the case creation process. 

    All users are still able to submit a case, but are not able to select additional options that will categorize your request. Therefore, all submissions are currently showing incorrect product in the Case Details.

    Katie_Davis_0-1636462798781.png

    To help identify your request and ensure it reaches the correct queue, please be sure to hashtag the product or account area of concern in the case description. 

     

    Katie_Davis_0-1636464881778.png

    After submitting a case, if you'd like to "Update Case Details" you can still do so in order to add in additional fields. 

    We will be sharing updates regarding this issue on this blog thread; please subscribe if you wish to receive notifications.

    Apologies for the inconvenience,

    Qlik Global Support

     

    Update 12:13 pm Eastern 11/9/2021 - This issue has been resolved. Support Case creation is working as expected. 

    Show Less
  • Image Not found

    Qlik Academic Program Blog

    Qlik Educator Ambassador

    Unlock exclusive benefits by joining the Qlik Academic Program and applying to be an Educator Ambassador!
  • Image Not found

    Qlik Design Blog

    Nebula.js Plugins — customize your visualizations.

    Nebula.js is a collection of product & framework-agnostic JS library that helps developers achieve the following goals:allows for developing visualization extensions (e.g. non-native charts in Qlik Sense client)develop mashups (e.g. creating/embedding Qlik Sense visualizations to web applications) For this tutorial, we will focus on the 2nd use case.BTW if you are just getting started with Nebula, here is an introductory video.Now, if you have us... Show More

    Nebula.js is a collection of product & framework-agnostic JS library that helps developers achieve the following goals:

    • allows for developing visualization extensions (e.g. non-native charts in Qlik Sense client)
    • develop mashups (e.g. creating/embedding Qlik Sense visualizations to web applications)

     

    For this tutorial, we will focus on the 2nd use case.

    BTW if you are just getting started with Nebula, here is an introductory video.

    Now, if you have used Nebula.js to build a mashup by either creating Nebula charts on the fly or embedding visualizations from your Qlik Sense client, you might have realized that the charts do not really present many customization abilities and they are rendered as it is in the client. Enter “plugins”!

     

    Background:

    Before we delve into what plugins specifically allow you to do, please note that they involve dealing with Picasso.jscomponents that run under the hood. Components are the visual building blocks that make up the chart & by combining them in various forms virtually any chart can be created. Typically components can be — axes, grid lines, data points, etc. So, using Nebula plugins we would essentially be interacting with these components to customize our chart. I have tried summing this up in the image below.

    Dipankar_Mazumdar_1-1637602862636.png

     

    What do plugin allows us to do?

    • Modify an existing chart component. For instance, changing the interpolation of a line chart from linear to monotone in the below chart.

    Dipankar_Mazumdar_2-1637602862588.png

     

    • Add a new chart component. Note that the new component can either be a standard Picasso component(native Picasso) or a custom one(your own). For instance, below we add a reference line at the median of frequency in a bar chart. This is an example of adding a standard component.

    Dipankar_Mazumdar_3-1637602862426.png

     

    Now that we know the usability & background behind Nebula plugins, let’s try to develop some. 

    1. Modifying an existing component:

    For our first implementation, we will try to modify an existing Picasso component in a Nebula line chart. Currently, this is how our chart looks like -

    Dipankar_Mazumdar_4-1637602862682.png

     

    Our aim is to simply change the interpolation of the line from linear  to monotone.

    Step 1: Define the plugin

    To be able to use a plugin, we need to first define it. Let’s do that as shown below.

     

    const linePluginNew = {
      info: {
        name: "line-plugin",
        type: "component-definition"
      },
      fn: ({ layout, keys }) => {
        const componentDefinition = {
          type: "line",
          key: keys.COMPONENT.LINE,
          settings: {
            layers: { curve: "monotone", line: { strokeWidth: 3 } }
          }
        };
        return componentDefinition;
      }
    };

     

     

    Important things to note:

    • A plugin definition is an object, with two properties info and fn. The  fn property returns a picasso.js component.
    • The info property has an attribute called type which should specify whether you are developing a custom plugin or a standard one. For standard components, the value will be 'component-definition' & for custom ones the value will be 'custom-component'.
    • To override an existing component, fn should return a picasso.js component that has the same key as the existing component (keys.COMPONENT.LINE in this example)
    • Finally, we change the curve to monotone inside our settings and set stroke-width as per our requirement.

     

    Step 2: Using the plugin

    In the next step, we just have to use the defined plugin by passing the name inside the plugins attribute like below.

     

        nuked.render({
          type: "line-chart",
          element: document.querySelector(".object"),
          plugins: [linePluginNew],
          fields: ["Decade", "=Max(Length)", "=Avg(Length)"],
    
          properties: {
            title: "Line Chart",
            dataPoint: {
              show: false,
              showLabels: true
            },
            gridLine: {
              auto: false
            },
            dimensionAxis: {
              show: "all",
              dock: "near"
            },
            measureAxis: {
              show: "all",
              logarithmic: true
            }
          }
        }),

     

    Here’s our customized visualization.

    Dipankar_Mazumdar_5-1637602862550.png

     

    2. Add a new component:

    As mentioned before, adding a new component can have 2 scenarios — adding a standard component or adding a custom one. We will cover both of them through two implementations below.

    Adding a standard component

    In this example, our goal is to add a native ‘line’ component to a bar chart that goes through the end of the bars. Currently, this is how our chart looks like.

    Dipankar_Mazumdar_6-1637602862681.png

     

    Let us start building our plugin. 

    • First, since our goal is to add a native line component, our Picasso fn should know about it. We will use the type attribute to pass that info.

     

    fn: ({ keys, layout }) => {
        const componentDefinition = {
          key: "sum-line",
          type: "line",
    }
    return componentDefinition;

     

     

    • Next, we need to know the value of each bar, so we can draw our line based on that. Therefore, we have to define the data we want to work with.

     

    const componentDefinition = {
          key: "sum-line",
          type: "line",
          layout: { displayOrder: 10 },
          data: { collection: keys.COLLECTION.MAIN },
    }

     

     

    • Finally, each component uses a settings object that is specific to the component. In this case, we will pass the end value of each of our bars to SCALE.MAIN.MINOR. We also control the aesthetics of the line we are drawing using  layers attribute like below.

     

    settings: {
            coordinates: {
              minor: {
                scale: keys.SCALE.MAIN.MINOR,
                fn: d => d.scale(d.datum.end.value)
              },
              major: { scale: keys.SCALE.MAIN.MAJOR,
                     }
            },
            layers: {
              line: {
                stroke: "black",
                strokeWidth: 2,
                opacity: 0.5,
                strokeDasharray: "5 10"
              }
            }
          }

     

     

    Finally, after applying our plugin to the bar chart, here’s what it looks like.

    Dipankar_Mazumdar_7-1637602862376.png

     

    Adding a custom component

    Our final use case is to develop a custom plugin and add it as a component in our native chart. The goal here is to incorporate some custom labels to the min & max positions of one of the lines in our line chart. Remember we changed the native line chart to have monotone interpolation in the 1st use case. 

    Dipankar_Mazumdar_8-1637602862436.png

     

    We will try to add the labels in this chart now. Let’s start!

    Step 1: Implement the custom plugin.

    As discussed before, since we are developing a custom plugin, we will need to specify that in the info property by passing the custom-component to the type attribute.

     

    const minMaxLabelsPluginImplementation = {
      info: {
        componentName: "custom-labels-plugin",
        name: "custom-labels-plugin",
        type: "custom-component"
      }
    }

     

     

    Next, we use the require property to pull in our dependencies. In this case, we will pull the ‘chart’ instance for getting our component-related data and scales as seen below.

     

    const implementation = {
          require: ["chart"],
          render() {
            const items = this.chart
              .component(keys.COMPONENT.LINE)
              .data.items.filter(
                item => item.line.value === 1 && item.label >= "1950's"
              );
            const scale = this.chart.scales();
     }
    }

     

     

    Each component has a type property that identifies the type of component to create. In this case, since we want to just create a label, we will pass a ‘text’ type. The other relevant properties are then added to our code as below.

     

    if (item.end.value === min) {
                labels.push({
                  type: "text",
                  text: `min: ${item.end.label}`,
                  x: timeScale(item.major.value) * width,
                  y: lineScale(item.end.value) * height + 15,
                  anchor: "middle",
                  fontFamily: "Helvetica, san-serif",
                  fontSize: "15px",
                  fill: "darkred"
                });
    }

     

     

    Step 2: Define the plugin

    Now that we have implemented the functionality for our custom plugin, we will use it to define a plugin so it can be used with Nebula charts. 

     

    const minMaxLabelsPlugin = {
      info: {
        name: "labels",
        type: "component-definition"
      },
      fn: ({ keys }) => {
        const componentDefinition = {
          type: "custom-labels-plugin",
          key: "my-labels"
        };
        return componentDefinition;
      }
    };

     

    Note how the type property inside the fn:( ) changes from standard ones like ‘line’, ‘point’, etc. to ‘custom-labels-plugin’. The type value has to exactly match with the componentName of the plugin defined above.

    Step 3: Use the plugin

    The final step is to apply the custom plugin to our line chart. 

     

    nuked.render({
          type: "line-chart",
          element: document.querySelector(".object"),
          plugins: [linePluginNew, minMaxLabelsPluginImplementation, minMaxLabelsPlugin],
          fields: ["Decade", "=Max(Length)", "=Avg(Length)"],
    // Overrides default properties
          properties: {
            title: "Line Chart",
            dataPoint: {
              show: false,
              showLabels: true
            },
            gridLine: {
              auto: false
            },
            dimensionAxis: {
              show: "all",
              dock: "near"
            },
            measureAxis: {
              show: "all",
              logarithmic: true
            }
          }
        }),

     

     

    And here’s our visualization with the custom labels.

    Dipankar_Mazumdar_9-1637602862591.png

     

    All the code related to this tutorial can be found in this Glitch or my Github.

    Hope this tutorial will allow developers to take their first step towards building plugins in Nebula. 

    ~Dipankar, Qlik R&D

    Show Less
  • Image Not found

    Qlik Academic Program Blog

    Qlik Academic Program inks MOU with Gurukul Kangri University

    The Gurukul Kangri University and the Qlik Academic Program entered into an MOU on 16 November 2021 to skill students and professors of the University in data analytics.Gurukula Kangri University was founded on 4 March 1902 by the Arya Samaj sannyasi Swami Shraddhanand, with the sole aim to revive the ancient Indian gurukula system of education. The University functions through its five campuses spread across the state of Uttarakhand. Gurukula Ka... Show More

    The Gurukul Kangri University and the Qlik Academic Program entered into an MOU on 16 November 2021 to skill students and professors of the University in data analytics.

    Gurukula Kangri University was founded on 4 March 1902 by the Arya Samaj sannyasi Swami Shraddhanand, with the sole aim to revive the ancient Indian gurukula system of education. The University functions through its five campuses spread across the state of Uttarakhand. Gurukula Kangri has 24 academic departments covering Engineering, Applied Sciences, Vedic Sciences, Humanities and Social Sciences and Management programs. The University has more than 4000 students enrolled in its various courses.

    The Qlik Academic Program offers the most complete and updated resources in data analytics for professors and students, completely free. The se resources include Qlik Sense Business software, online training (worth $3000), qualifications, certifications, and a host of offerings to enable the academic community in analytics. More than 36,000 students from 2600 plus universities and institutions are benefitting from this program.  For more information about the Qlik Academic Program, visit: qlik.com/academicprogram

    The virtual MOU signing ceremony was attended by the Vice Chancellor of the University, Professor Roop Kishore Shastri, Hon. Registrar Prof. Sunil Kumar, Prof. Pankaj Madan, Dean FET and various department Heads and Professors. Professor Namit Khanduja will the SPOC of this engagement on behalf of the University.

    Dr. Mayank Agarwal who led this initiative says, “Gurukul Kangri University is committed to providing state of the art technologies to its students . The MoU with Qlik in the field of data analytics is a step forward in our mission to contribute to build  a new and developed India. Qlik is a pioneer in data analytics and the Qlik Academic Program resources shall definitely make our students excel in the field of analytics and data science” 

    In view of the increased need for students to be skilled in data analytics, this is an important milestone for the University and the Qlik Academic Program is happy to support this initiative of the Gurukul Kangri University.

    Show Less
  • qlik-community-blogs.jpg

    Qlik Design Blog

    Replace() Function

    The Replace() function can be used in the script or a chart to replace all occurrences of a sub-string with another sub-string within an input string.  Basically, you can replace a character or string of characters in a field or input string.  The syntax from Qlik Help looks like this: Replace(text, from_str, to_str) The first parameter, text, is a string.  This can be a field or some text.  The second parameter, from_str, is the string you would... Show More

    The Replace() function can be used in the script or a chart to replace all occurrences of a sub-string with another sub-string within an input string.  Basically, you can replace a character or string of characters in a field or input string.  The syntax from Qlik Help looks like this:

     

    Replace(text, from_str, to_str)

     

    The first parameter, text, is a string.  This can be a field or some text.  The second parameter, from_str, is the string you would like to replace in the input string.  This can be a single character or a string of characters.  The third parameter, to_str, is the string that should replace the second parameter.  If the from_str is not found in the text then nothing is replaced.  The Replace() function works from left to right.

     

    I have used the Replace() function when I have a field that has some characters that I do not need.  For example, I was loading names in a recent project and some of the names had a leading underscore character (_).  Since this was the case with only some of the names and not all, I used the Replace() function to replace the underscore with an empty string using syntax like this:

    replace.png

    You can also nest the Replace() function.  I have used this if there is more than one character I would like to replace in a string.  The nesting works from the inside out so keep this in mind as it may affect your results.  In the table below are a few examples of how Replace() can be used.

    table.png

    • Column 1 - shows the original text string for Product.  This is the first parameter for all the Replace() examples.
    • Column 2 – replaces the underscore with a space.
    • Column 3 – is an example of a nested Replace() function.  First it replaces the underscore with an empty string.  Then it looks at the result of that string and replaces the question mark with an empty string.  The last step is to look at the results of that string and replace underscore question mark (_?) with a space (which will not be found in the Column 3 example).
    • Column 4 – is another example of a nested Replace() function but notice how the order affects the results for the input string “Product_?E”.  Since the first Replace() function to be evaluated replaces the “_?” with a space, the next two Replace() functions do not find the second parameter to replace.  Therefore, the result is “Product E” with a space before “E.”  In Column 3, the result is “ProductE,” without a space, since the underscore and the question mark were replaced individually with an empty string before the Replace(‘_?’, ‘ ‘) part of the expression was executed.

     

    While my example shows how the Replace() function can be used in a chart expression, I always use it in the script to handle any replacements as I load the data.  What is nice about the Replace() function is it does not modify the text if the sub-string cannot be found.  With that in mind, you should make sure you want to replace all occurrences of the sub-string because there is not an option to pick and choose which sub-string occurrences to replace - all of them will be replaced.

     

    Thanks,

    Jennell

    Show Less
  • Image Not found

    Qlik Design Blog

    Sentiment Analysis in Qlik Sense using Advanced analytics integration(Amazon Com...

    In recent years we have seen tremendous growth in the generation of textual data online. Analyzing such textual data can prove to be extremely beneficial for businesses in today’s digital world which would allow them to make critical decisions. For instance, for a company selling a product, it is crucial to understand the consumer’s viewpoint, and therefore analyzing the ‘reviews’ can be a great starting point. However, this also leads to an intr... Show More

    In recent years we have seen tremendous growth in the generation of textual data online. Analyzing such textual data can prove to be extremely beneficial for businesses in today’s digital world which would allow them to make critical decisions. For instance, for a company selling a product, it is crucial to understand the consumer’s viewpoint, and therefore analyzing the ‘reviews’ can be a great starting point. However, this also leads to an intrinsic problem — How do we analyze such constantly generating huge volume of text and interpret their meaning?

    Ideally, the solution would be to break down sentences and phrases into specific components and then analyze these components by using a technique such as Natural Language Processing(NLP). NLP comprises features such as sentiment analysis, entity recognition, syntax parsing, part-of-speech tagging, etc. that can help us break down unstructured data to a granular level and allow for deeper analysis. There is a handful of toolkit such as NLTK, SpaCy, Amazon Comprehend, Google Cloud NL API, etc. that allows to process and derive insights from texts.

    Scenario: Imagine your organization leverages Qlik Sense’s data analytics platform for visually understanding data & key metrics and Amazon Comprehend for text analysis. Your requirement is to be able to analyze some textual data, understand sentiments & most importantly be able to visualize the processed texts and extract any hidden insights. How would you achieve this using the two?

    This is where Qlik Sense’s augmented analytics capabilities come into play. Now, as a Qlik Sense application developer, you can integrate the Qlik data model with Amazon Comprehend using the native connector for Qlik Sense. This would allow you to send a dataset from a Qlik reload script or a chart expression to Comprehend and derive inferences back to Qlik.

    Dipankar_Mazumdar_0-1634733224535.png

    Now before we focus on ‘sentiment analysis’ specifically, let us get some background behind using any 3rd-party ML connectors in Qlik Sense(including Amazon Comprehend for this specific use case). This would help you understand the things running behind the hood and set the base for using any analytic connector.

    1. Analytic connections:

    The first step to start communicating with any 3rd-party Machine Learning endpoint from Qlik Sense is to establish an analytic connection. This can be created in the Data load editor and is native to the Qlik Sense client.

    Dipankar_Mazumdar_1-1634733278448.png

    2. Server Side Extension(SSE) functions:

    After a connection has been created, the next step is to integrate Qlik’s data model with the 3rd-party ML platform using the connection. This would allow for:

    • sending data from Qlik’s data model & getting the inferences back using the load script
    • performing real-time calculations in chart expressions

    To achieve the above two use cases, we rely on the SSE functions. SSE is used to extend the built-in Qlik expression library with functionality from external calculation engines. If you are not aware of the SSE syntax, you can read more about them here. Our focus in this blog would primarily be 2 functions:

    • ScriptEval — used with data load script. Here, you can send a single table to the ML model, and a single data table is returned. We can then use LOAD … EXTENSION statement to load the data back to Qlik.
    • ScriptAggrStr — used with chart expression. Here, we cannot consume a table returned from the SSE function call and only the first column returned will be used by Qlik Sense.

    The entire workflow for any Machine Learning connection integration within Qlik Sense comprises of the below steps:

    1. the SSE functions and parameters are first processed within Qlik Sense.
    2. they are then converted into REST requests.
    3. the REST requests are sent to 3rd-party ML models for processing.
    4. ML models process the request and send inference back to Qlik.

    The image below depicts the entire flow.

    Dipankar_Mazumdar_2-1634733326578.png

    Prerequisites:

    • Analytic connections for machine learning endpoints must be enabled by a tenant administrator in the Management Console.
    • Need to have access to 3rd-party ML models that exposes REST-based API endpoints.

    Alright, now that we have an understanding of the background and things required for us to get started with text analysis, let us deep dive into the steps.

     For this tutorial, we will use a part of the Datafiniti’s hotel reviews dataset and our goal would be to understand the sentiments from hotel reviews.

    1. Load Data: First, we will load our dataset, which is in a CSV file using a folder connection. The script in the Data Load editor looks like below. Please note we also add a new field ‘RowNo( ) as RowID’ in our table [Hotel_review]. The purpose of this is to create associations between this and the tables returned by the 3rd-party ML systems(comprehend in this case) so we can take advantage of Qlik’s unique associative engine during analysis.

    Dipankar_Mazumdar_3-1634733387947.png

     

    2. Create connection: Since we plan to use Amazon Comprehend for text analysis, we will create a new connection in the Data Load editor. Amazon Comprehend provides the following 5 services for text analysis -

    Dipankar_Mazumdar_4-1634733510657.png

    Since in this case, our goal is to do sentiment analysis, we will select the highlighted service from the dropdown. You will also need to provide Amazon-specific details for the connection (for details read here) and finally a name (‘Amazon_Comprehend_demo’). 

    3. Send data to Comprehend: Next, we will use the ‘Select data’ button from our connection to send a table and a field from Qlik Sense to the Amazon Comprehend system for sentiment analysis. The table should be the name of the table with source data that you have loaded into your app. In our case, the table is ‘Hotel_Review’ and the field is ‘Reviews’.

    Dipankar_Mazumdar_5-1634733550968.png

     

    4. Load returned table: After a table & field name is sent from Qlik Sense to Comprehend, the available return table will automatically appear under the ‘Tables’ section(as seen below). When selecting the table, you can select or deselect the columns to load. In our case, we will select all the 5 fields under the ‘Sentiments’ table returned by Comprehend and click ‘Insert script’.

    Dipankar_Mazumdar_6-1634733586805.png

    Below is how the script looks like. Similar to Step 1, we also add a ‘RowNo( ) as RowID’ field to maintain the associations and then reload our app. Note that when reload of an app occurs it will first expect to load the source data as a resident table and use this as input to the request made to Amazon Comprehend endpoints.

    Dipankar_Mazumdar_7-1634733618596.png

     

    For the purpose of simplicity, let’s breakdown the SSE function visually.

    Dipankar_Mazumdar_8-1634733636622.png

    Now quickly check the Data model viewer. We can see that the associations has rightly been made and everything is as expected.

    Dipankar_Mazumdar_9-1634733660258.png

     

    5. Analysis: Our final step is to build a dashboard and do some analysis so we can understand the sentiments of the hotel reviews processed by Comprehend.

    First, I want to know the count of each predicted sentiment category. So, I create a bar chart by using ‘Sentiment’ as a dimension and ‘Count(RowID)’ as a measure. Notice, how we can use a field returned by Comprehend system along with the available Qlik sense data to derive insights.

    Dipankar_Mazumdar_10-1634733694948.png

     

    So, looks like there are a lot of ‘mixed’ reviews for the hotels. Out of curiosity, I wanted to know why there were so many mixed reviews about these hotels. Therefore, I created a table object with detailed reviews, titles and selected only ‘Mixed’ from my bar chart as a filter. The result is below:

    Dipankar_Mazumdar_11-1634733723432.png

    The reason is that most of these reviews have both the ‘bad’ and ‘good’ context in the text. So, the sentiments are mixed. The ability to derive these kinds of insights using Qlik Sense is crucial so it has the right impact on your analysis.

    I also wanted to visualize the predicted sentiments by the original ratings of the hotels. So, I decided to create a Mekko chart that would allow me to visualize ratings for each segment of sentiment. To do so, I use ‘Sentiment’ as a dimension, ‘Ratings’ as cells, and ‘Count(RowID)’ as a measure.

    Dipankar_Mazumdar_12-1634733750232.png

     

    We can infer some things from here. For e.g. out of all the Positive sentiments, 71.3% were 5-star ratings, which aligns with our general understanding. The Negative sentiments are composed of ratings ranging between 2.5–2.9. So, they turned out to be negative. 

    Finally, let’s build a real-time sentiment analysis sheet in our Qlik Sense app. This is very interesting as it facilitates the following:

    • provides a user interface experience to input any text.
    • allows inferring sentiments in real-time.

    To build the sheet, we will use the ‘Variable input’ object from Qlik’s dashboard bundle that can serve as a text field. We create a new variable called vText to be used with this variable input.

    Dipankar_Mazumdar_13-1634733777779.png

    We then drag & drop the object to our sheet and the result is below:

    Dipankar_Mazumdar_14-1634733804138.png

     

    Next, we need to pass the input text to Amazon Comprehend and get the result back in real-time. To do so, we will take advantage of SSE-based chart expression. Since we need to create an expression, we basically need an object that can show us ‘Measures’. The KPI object is a natural choice for this purpose. So, we drag & drop a KPI object and write our expression.

    endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Amz_comprehend_sentiment","parameters":{"languagecode":"$(vLanguage)"}}}',vText)

    The result can be seen below.

    Dipankar_Mazumdar_15-1634733847739.png

     

    To enhance user experience, we will also display the result as an emoji placed inside a KPI object. The expression for passing the input text & deriving sentiment remains the same. However, we use a pick-match function to get the right emoji. Below is the expression.

    pick(match(endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Amazon_Comprehend_Sentiment","parameters":{"languagecode":"$(vLanguage)"}}}',vText),
    'POSITIVE','NEUTRAL','NEGATIVE','MIXED'),
    '😀','😐','🙁','🙄')

     

    After putting everything together, the final result can be seen below -

    Dipankar_Mazumdar_16-1634733888332.png

     

    Here’s the dashboard in action.

    Dipankar_Mazumdar_17-1634733909676.gif

     

    The idea behind this blog was to give a starting point to Qlik Sense users who plan to integrate 3rd-party ML systems and do advanced analytics seamlessly. There are also certain limitations specific to the Amazon Comprehend & the connector, which you can read about here. In the next couple of blogs, we will extend this tutorial to some more interesting use-cases using the various analytics connector available in Qlik Sense SaaS. 

    If you wanted to check out this demo app, here is a link — https://github.com/dipankarqlik/QlikSenseApps

    Let me know what you think of this amazing augmented analytics capability within Qlik Sense.

     

    ~Dipankar, R&D Developer Advocate

     

     

    Show Less
  • qlik-community-blogs.jpg

    Support Updates Blog

    Qlik Replicate & Qlik Enterprise Manager – November 2021 Release Now Available

    We are pleased to announce that the November 2021 release for both Qlik Replicate and Qlik Enterprise Manager are now available.
  • Image Not found

    Qlik Academic Program Blog

    The future wordplace needs YOU!

    Exploring something like the Qlik Academic Program can empower you to make an informed choice about what kind of role you’d like to explore after your studies and give you more opportunities in a workplace that is already looking for you!
  • Image Not found

    Qlik Design Blog

    Qlik Cloud Wordpress plugin

    Happy Friday everyone. If you have a Wordpress website and you want to incorporate visualizations from our Qlik Cloud, then you are at the right place. Below are the steps needed to install, configure and use the plugin by iframing an entire app sheet or creating a page with nebula.js and pulling just by ids. Installation into WordPressLogin to your WordPress Admin Portal.On the left navigation panel, select "Plugins".Towards the top of the plugi... Show More

    Happy Friday everyone. If you have a Wordpress website and you want to incorporate visualizations from our Qlik Cloud, then you are at the right place. Below are the steps needed to install, configure and use the plugin by iframing an entire app sheet or creating a page with nebula.js and pulling just by ids.

     

    Installation into WordPress

    1. Login to your WordPress Admin Portal.
    2. On the left navigation panel, select "Plugins".
    3. Towards the top of the plugins list, click the "Add New" button.
    4. In the search box towards the right-hand side, type "Qlik" and hit enter to search.
    5. The Qlik Saas plugin is currently one of only two results returned. Click the "Install Now" button next to it.
    6. WordPress will then download and install the plugin for you. Once complete, "Install Now" button will change to "Activate". Click the "Activate" button to complete the installation.

     

    Configure Qlik Cloud

    1. Create a public / private key pair for signing JWTs

    https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization#create-a-public--private-key-pair-for-signing-jwts

    1. Configure JWT identity provider

    https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization#configure-jwt-identity-provider

    1. Add the public key to the configuration

    https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization#add-the-public-key-to-the-configuration

    1. Input Issuer & Key ID

    https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization#input-issuer-and-key-id-values

     

    Configure plugin

    1. Add Host of Qlik Saas as <tenant>.<region>.qlikcloud.com
    2. Add your WebIntegrationID

    https://qlik.dev/tutorials/implement-jwt-authorization#configure-a-web-integration-id

    1. Add you AppID
    2. Add your Private key from previous step “Create a public / private key pair for signing JWTs”

    https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization#create-a-public--private-key-pair-for-signing-jwts

    1. Add the Key ID created from previous step

    https://qlik.dev/tutorials/create-signed-tokens-for-jwt-authorization#input-issuer-and-key-id-values

    admin.PNG

     

    Using the plugin

    • iFrame an entire sheet by adding the shortcode into your page

     

    [qlik-saas-single-sheet id="1ff88551-9c4d-41e0-b790-37f4c11d3df8" height="400" width="500"]

     

    • Add object by adding the object id or "selections" for the current selections toolbar, with a shortcode into your page    

     

    [qlik_saas_object id="selections" height="50"]​
    [qlik_saas_object id="CSxZqS" height="400"]​

     

     

    iFrame sheet shortcode
    iframe-sheet-shortcode.png
     
    iFrame sheet preview
    iframe-sheet-preview.png
     
     
    Mashup shortcodes
    mashup-shortcodes.png
     
     
    Mashup Helpdesk sheet 1 and 2 with nebula.js and object IDs
    mashup-helpdesk-sheet1.png
     
    Sheet 2
    mashup-helpdesk-sheet2.png
     
    That's it!
    /Yianni
    Show Less
  • Image Not found

    Support Updates Blog

    Qlik Forts Now Available - Bring Cloud Analytics to your Data!

    We are excited to unveil Qlik Forts, available now!  Qlik Forts are new hybrid services that securely extend Qlik Sense SaaS capabilities to wherever your data must reside – on-premises, in a private cloud, or a public cloud. Qlik Forts enables businesses to benefit from the convenience of SaaS as well as the flexibility of a hybrid deployment that supports data governance and regulatory requirements, data locality needs, and investments in exist... Show More

    We are excited to unveil Qlik Forts, available now!  Qlik Forts are new hybrid services that securely extend Qlik Sense SaaS capabilities to wherever your data must reside – on-premises, in a private cloud, or a public cloud. Qlik Forts enables businesses to benefit from the convenience of SaaS as well as the flexibility of a hybrid deployment that supports data governance and regulatory requirements, data locality needs, and investments in existing data infrastructure. ​ 

    Qlik Forts are pre-packaged, pre-configured virtual appliances, ready to run in your virtualization/IaaS platform of choice.  The complexity of maintaining a Fort is handled by Qlik - we ensure that Qlik Forts are always up to date with the latest updates so your IT team never have to worry about ongoing maintenance or updates.  

    Qlik Forts and Qlik Cloud work together as a single solution, so users get a seamless experience with a single point-of-entry to all analytics content​.  

    • Qlik Forts run securely behind your firewall 
    • All data and apps remain local in the Fort, and there is no ingress required  
    • Users can access Qlik Forts any time when securely connected to your network.​ 

     

    Get Started Tutorial here!

     

    Other resources:  

    Visit our website here  

    Join our Do More with Qlik - Introduction to Qlik Forts webinar on November 10.

    Engage with our experts and ask questions in our support portal or Qlik Sense product Forum.    

     

    Thank you for choosing Qlik! 

    Show Less
  • qlik-community-blogs.jpg

    Qlik Gallery

    Active Clinical Trials at RPCI

    Active Clinical Trials at RPCI AnyChart — Extensions for QS Grab a clear picture of the active clinical research studies conducted at Roswell Park Cancer Institute (RPCI) and how they progress. For each of the five most common types of cancer by primary anatomic site of origin, learn what trials are ongoing and intuitively understand which ones are closer to completion than others. Explore by cancer type, current phase, protocol, principal ... Show More

    🔗 >> LEARN MORE & DOWNLOAD THIS APP (.QVF) <<

    🔗 >> SEE MORE APPS <<

    Show Less
  • Image Not found

    Qlik Design Blog

    Send Customer Email Notifications without a Qlik Sense App using Qlik App Automa...

     Part 2 of Qlik App Automation Sending Customer Email Notifications. This video shows you how to send a mail message to customers using the READ FILE and Send Mail blocks without a Qlik Sense App.Bonus:  Also I show how to simply call the Automation from an action Button in a Qlik Sense App.Part 1:https://community.qlik.com/t5/Qlik-Design-Blog/Sending-Personalized-Email-Messages-from-a-Qlik-Sense-App-using/ba-p/1856811