Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Product

Announcements
Qlik Connect 2025! Where innovative solutions turn your data visions into reality: REGISTER TODAY
cancel
Showing results for 
Search instead for 
Did you mean: 

Analytics

Forums for Qlik Analytic solutions. Ask questions, join discussions, find solutions, and access documentation and resources.

Data Integration & Quality

Forums for Qlik Data Integration solutions. Ask questions, join discussions, find solutions, and access documentation and resources

Explore Qlik Gallery

Qlik Gallery is meant to encourage Qlikkies everywhere to share their progress – from a first Qlik app – to a favorite Qlik app – and everything in-between.

Support

Chat with us, search Knowledge, open a Qlik or Talend Case, read the latest Updates Blog, find Release Notes, and learn about our Programs.

Events & Webinars

Learn about upcoming Qlik related events, webinars and local meetups.

Groups

Join a Group that is right for you and get more out of your collaborations. Some groups are closed. Closed Groups require approval to view and participate.

About Qlik Community

Get started on Qlik Community, find How-To documents, and join general non-product related discussions.

Blogs

This space offers a variety of blogs, all written by Qlik employees. Product and non product related.

Qlik Resources

Direct links to other resources within the Qlik ecosystem. We suggest you bookmark this page.

Qlik Academic Program

Qlik gives qualified university students, educators, and researchers free Qlik software and resources to prepare students for the data-driven workplace.

Community Sitemap

Here you will find a list of all the Qlik Community forums.

Recent Blog Posts

  • Image Not found
    blog

    Qlik Digest

    Qlik Digest - February 2025

    Qlik Insider: Roadmap Edition Ready to do data differently this year? You’ve found the right place to accelerate your innovation journey. In a specia... Show More

    Qlik Insider: Roadmap Edition

    ElizabethKropp_2-1740515836997.png

    Ready to do data differently this year? You’ve found the right place to accelerate your innovation journey.

    In a special episode of Qlik Insider, we’ll explore where we are placing our data and analytics bets in 2025, to help your organization stay ahead of fast-moving industry trends dominated by the explosion of AI.

    Our hosts, Mary Kern and Dan Potter, are joined by Qlik product experts, Ian Crossland and Daniel Mayer, for an exclusive discussion on Qlik’s product roadmap, and the enterprise challenges it was built to solve.

    Register now!

     

    Techspert Talks - Advanced Qlik Sense System Monitoring

    ElizabethKropp_3-1740515991180.png

    This Techspert Talks session addresses what performance metrics can be measured, how to setup the Zabbix tool, integration and extendibility.

    You won’t want to miss this!

    Register now

     

    Qlik Acquires Upsolver

    ElizabethKropp_4-1740516050594.png

    Qlik Acquires Upsolver to Deliver Low-Latency Ingestion and Optimization for Apache Iceberg

    The acquisition expands Qlik’s end-to-end Data Integration platform for open lakehouses, delivering real-time data, optimization, and cost savings

    Learn more about what that means for you - Check out the recent Press Release and Drew’s blog on Embracing Iceberg at scale.

     

    Introducing Data Flow

    ElizabethKropp_5-1740516303629.png

    Qlik Cloud Analytics is introducing Data Flow a native no-code capabilities to simplify the last mile of data preparation for analytics, machine learning, and AI.

    These features address three key challenges:

    1. Time efficiency: Reducing the 80% of time analysts typically spend on data preparation.
    2. Skill gaps: Alleviating IT bottlenecks by balancing self-service for non-technical users with proper governance.
    3. Data complexity: Providing user-friendly tools to handle increasing data complexity and quality issues.

    Data Flow offers intuitive drag-and-drop interfaces for visually combining and shaping datasets, balancing self-service functionality with proper governance. This approach aims to democratize data preparation while maintaining data integrity and security.

    Read more

     

    The New Qlik Learning Is Here

    ElizabethKropp_6-1740516399222.png

     

    It’s convenient, extensive, and unlimited.
    We are thrilled to announce that the new Qlik Learning is now live and ready for you! It is a single, integrated learning platform designed to enhance your learning experience and help you get the most out of Qlik.

    To get started, simply log in to Qlik Learning with your Qlik account and complete the short Getting Started course. This will unlock the full range of opportunities available to you. Additionally, after finishing the course, you'll earn a digital badge that you can showcase within your network!

    Reach out to Qlik Learning at education@qlik.com if you have any questions.

     

     

     

     

     

    Show Less
  • Image Not found
    blog

    Product Innovation

    Upgrading Talend Studio Jobs to Java 17 and Camel 4: Your Comprehensive Guide

      Why is the Upgrade Necessary?   Qlik Talend operates within interconnected, constantly evolving ecosystems. The upgrade to Java 17 and Camel 4 is dr... Show More

     

    Why is the Upgrade Necessary?

     

    Qlik Talend operates within interconnected, constantly evolving ecosystems. The upgrade to Java 17 and Camel 4 is driven by multiple factors, as summarized below:

     

    Benefit from Java 17 and Camel 4 latest capabilities

    Upgrading to Java 17 and Apache Camel 4 offers significant benefits, such as faster startup times, reduced memory usage, and improved security with long-term support through 2030. Java 17 introduces modern language features like sealed classes, pattern matching for switch, and records, simplifying development processes.

    Apache Camel 4 further enhances routing and mediation capabilities with a modernized infrastructure aligned to Jakarta EE, optimized performance, and reduced overhead. It also offers new components for functionalities like AI integration, upgraded third-party dependencies for better security and reliability, and continued OSGi support for easier upgrade. These updates ensure a robust, secure, and future-proof environment for Qlik Talend users.

     

    Security and Extended Support

    Qlik Talend ecosystem must remain up to date with security patches to protect client data. Java 17, as a Long-Term Support (LTS) version, offers enhanced security features and extended support compared to Java 8.

     

    Third-Party Library and Packages Dependencies

    Many external libraries and packages that Qlik Talend relies on have dropped support for Java 8, making it imperative to upgrade to newer versions of Java.

     

    End of Life (EOL) for Camel 3

    Apache Camel 3 reached its end of life in December 2024. After this date, no further updates or support will be provided for Camel 3, necessitating a migration to Camel 4 (additional information from Apache project here).

     

    Significant Changes in Java 17

    Java 17 introduces significant changes that affect compatibility, with special focus on Java 8 artifacts which cannot run on a JVM using Java 17 due to the removal of previously included packages.

    These factors make the upgrade not just a recommendation but a requirement for continued functionality and support within the Qlik Talend ecosystem.

     

    Upgrade Path: Steps to Transition

     

    The upgrade process involves several key steps, starting with updates to runtime components and culminating in the rebuilding of all artifacts by December 2026. Previous articles and how-to guides are still partially valid but please, consider reading the following information first.

     

    Step 1: Upgrade your engines

     

    Update your Remote Engines or Job Servers to the January 2025 release minimum.

    Configure them to support multiple Java versions (8, 11, and 17) using the Adaptive JDK feature. This ensures that each artifact runs on its corresponding JVM version without requiring immediate rebuilding. More documentation is available here for JobServer and also here for Remote Engine Gen1 in addition to the Release notes.

     

    enhanced_upscaled_image.png

     

     

    Step 2: Upgrade Qlik Talend Runtime

     

    Upgrade Talend Runtime to at least the February 2025 release, installing the new version either by overriding the current setup or on a new compute resource (parallel installation)

    Note that this version only supports Java 17 and Camel 4. To manage both Camel 3 and Camel 4 artifacts during the transition period, please consider deploying multiple instances, based on one of following patterns:

     

    • 2 Talend Runtimes
    • 2 Job Servers + 2 Talend Runtimes
    • 2 Remote Engines + 2 Talend Runtimes

     

    Afterwards, only the Camel 4 deployment should be used.

     

    Step 3: Upgrade Qlik Talend Studio

     

    From February 2025 (R2025-02), Talend Studio will build Jobs and Services natively in Java 17 and Routes using Camel 4. A temporary maintenance branch will be available until July 2025 for users who need continued compatibility with Java 8 and Camel 3.

    On-premises customers can request download links for the new installer versions on the Qlik Talend Support Webpage after March 7th 2025. Cloud customers will receive in-app notifications and will also be able to download from their cloud tenant download page the new installer or patch archives.

    If your activities still rely on MDM, it’s important to note that MDM is removed from the Java 17 branch (R2025-02+). To maintain functionality, consider staying on the Java 8 branch (R2025-01+specific patch) temporarily. However, keep in mind that MDM has reached its end-of-life (EOL), and no further support or updates will be provided. Planning a transition away from MDM is strongly recommended to align with Qlik’s latest standards and supported features.

    To simplify the upgrade process and guide users effectively, Talend Studio includes a dedicated wizard to help choose the appropriate branch based on your project requirements. It explains whether to remain on the Java 8/Camel 3 maintenance branch (for legacy support) or to migrate to the Java 17/Camel 4 official branch for full compatibility with future updates. By offering tailored insights and clear guidance, the windows ensure that users can make informed decisions while reducing complexity during this critical transition phase.

     

    SimonSwan_2-1740623771392.png

     

     

    Enhance Upgrade Oversight with Audit Logs and Integrated Migration Features

    Talend Studio offers built-in audit logging capabilities that provide valuable insights into the upgrade process, enabling better tracking and governance. These audit logs offer detailed records of job executions, modifications, and user activities, facilitating comprehensive oversight during the transition to Java 17 and Camel 4. This is particularly crucial when managing complex upgrades involving numerous jobs and dependencies.

    In addition, Talend Studio includes integrated update features that guide users through the necessary steps, flagging potential compatibility issues and recommending solutions. By leveraging both audit logs and analysis report features, organizations can enhance transparency, accountability, and control, ensuring a smoother, more efficient, and well-documented upgrade process.

     

    Step 4: Gradually Rebuild Artifacts in Java 17 and Camel 4

     

    We encourage users to begin rebuilding Routes artifacts, as they rely on additional components (Camel 4). Be sure to review the impacted components listed in the Apache Camel project documentation (read the related KB article carefully).

    To ensure a smooth upgrade path to Java 17 and Camel 4, Qlik recommends a progressive, environment-based update process. This approach minimizes risks and ensures stability across development, pre-production, and production environments. Below is the step-by-step process:

     

    1. Identify complexities

     

    When migrating to Java 17 and Camel 4, it's essential to address potential compatibility issues with custom Java components, such as cProcessor and Beans, which may require adjustments. Here are some practical tips to help you identify and resolve these challenges effectively:

     

    a. Identify Artifacts with Custom Java Code - Use Talend Studio's search functionality to locate all Artifacts containing  components like tJava, cProcessor or other custom Java code. Pay special attention to Routes that rely on deprecated APIs or libraries that may not be compatible with Java 17 or Camel 4. Document these Routes for further analysis.

     

    b. Review and Update Beans - Beans are often used for encapsulating reusable logic in Talend Routes. Refer to the official Talend documentation (Using Beans) to ensure your Beans are properly configured and compatible with the new runtime environment. Replace any deprecated methods or libraries and test them thoroughly.

     

    c. Refactor Where Necessary - For complex custom logic embedded in cProcessor components or Beans, consider refactoring the code to align with modern Java 17 standards. This might involve replacing older constructs with newer language features like lambdas or streams.

     

    d. Engage Documentation and Community Resources - Consult Talend's official documentation and Qlik Community forums for guidance on resolving specific issues related to custom components (Qlik Help and Qlik Community). These resources often provide examples, best practices, and updates from other users facing similar challenges.

     

    By following these tips, you can ensure a smoother migration process while maintaining the stability and functionality of your custom Java components and Beans in Talend Routes.

     

    2. Proceed Environment by Environment

     

    Start with development environments to test and validate changes. Once validated, move progressively to pre-production and finally to production environments.

     

    3. Update and Build Artifacts Gradually

     

    For existing Java 8 artifacts:

    • If no updates are planned, keep them as-is. There is no urgency to rebuild or redeploy these artifacts unless required.
    • Only update them to native Java 17 (+ redeploy) when dictated by your internal processes or specific needs.

     

    For new or updated jobs: build them directly in Java 17 using the February 2025 Studio release (or newer).

     

    4. Publish, Deploy, and Promote

     

    • After updating or creating artifacts, publish them in your repository.
    • Deploy them progressively in the target environment (e.g., pre-production).
    • Promote them to production only after thorough validation, considering Talend Management Console SDLC features (promotion) or Talend Administration Center capabilities.

     

    5. Special Considerations for Data Services and Routes

     

    Routes transitioning from Camel 3 to Camel 4 require additional attention:

    • Perform non-regression tests to ensure compatibility and stability.
    • Validate all changes thoroughly before proceeding further in the deployment process.

     

    This structured approach ensures that all changes are tested thoroughly while minimizing disruptions in production environments.

     

    6. Bonus step: Leveraging CI/CD for a Smoother Upgrade

     

    Adopting a CI/CD approach with Qlik Talend can significantly streamline and de-risk the upgrade to Java 17 and Camel 4. By automating the build, test, and deployment processes, you can establish a robust pipeline that ensures consistent and repeatable results throughout the transition.

    This involves integrating Qlik Talend's command-line interface with CI/CD tools like Jenkins, GitLab CI, or Azure DevOps to automate job building and unit testing. You can create automated pipelines that trigger builds for jobs whenever there are code changes, running automated tests to quickly identify compatibility issues with Java 17 or Camel 4.

    Moreover, automated deployment to staging environments allows thorough pre-production testing, further minimizing the risk of production disruptions. By using CI/CD, teams can iterate faster, maintain higher code quality, and ensure a more predictable and efficient upgrade process.

     

    SimonSwan_3-1740623786537.png

     

     

    Studio Version Branching

     

    Starting from February 2025 (R2025-02), Talend Studio introduces two distinct branches:

     

    1. "Latest" Branch:

     

      • Full support for building Jobs and Services in Java 17 (native) and Routes in Camel 4.
      • Monthly releases with ongoing updates, like normal update path.
      • MDM is removed in Studio installer.

     

    2. Alternate Branch:

     

      • Limited support for production-only builds in Java 8/Camel 3.
      • Available until July 2025 for users requiring additional time before transitioning fully.
      • MDM still available (but EOL).

     

    This branching strategy ensures flexibility during the transition period while encouraging users to adopt modern standards.

     

     

    SimonSwan_4-1740623800959.png

     

     

     

    NB: customers of the on-premises offer can request on the Qlik Talend Support from March 7th as soonest to get download links to these new versions of the installer. Cloud customers will get in-app notifications or will be able to download from their cloud tenant download page the new installer or patch archives.

     

    Impacts of Upgrade

     

    The type of job you are running plays a crucial role in determining the best approach for upgrading. Each requires a tailored strategy to ensure compatibility, performance optimization, and a seamless transition to the latest technology.

     

    Data Integration Jobs

     

    For most Data Integration jobs, the impact is minimal unless custom code or third-party libraries are used. Testing is recommended to ensure compatibility with Java 17.

     

    Big Data Jobs

     

    Big Data jobs face unique challenges due to their reliance on Spark:

     

    • Spark remains tied to Java 8, as long as your Spark environment requires it to be.
    • Option to build them using Java 17 JDK when required by execution environment (Data Integration jobs).

     

    So no impact by default, the Big Data jobs are built using Java 8 on Spark, routines but the launcher is now compiled using Java 17.

     

    Data Services and Routes

     

    The transition from Camel 3 to Camel 4 has significant implications:

     

    1. Some components may evolve, become deprecated, or require replacements.    
    2. Newly built Routes will depend on Camel 4 libraries.
    3. Talend Runtime will include pre-installed OSGi features for Camel 4, so that Talend Runtime is not compatible with Camel 3 use cases.

     

    Key Takeaways

     

    Upgrading to Java 17 and Apache Camel 4 is not just a technical update—it’s a strategic move toward better performance, security, and future-proofing your data integration workflows. By following the outlined path and leveraging tools like Adaptive JDK, you can ensure a smooth transition while preparing your environment for long-term success.

     

    Start planning today by upgrading your engines, runtimes, and Studio versions—and remember that early testing is critical for minimizing disruptions during this transition period!

     

    For further questions please contact Qlik Talend Support and subscribe to our Support Blog for future updates. 

     

    Show Less
  • Image Not found
    blog

    Qlik Academic Program

    Future-Proof Your Career: Top Skills and Tools to Master in 2025

    As the job market rapidly evolves, professionals across industries are realizing the importance of upskilling to stay competitive. With technological ... Show More

    As the job market rapidly evolves, professionals across industries are realizing the importance of upskilling to stay competitive. With technological advancements and economic changes reshaping the workforce, it's more important than ever to focus on acquiring in-demand skills like AI, data analytics, cloud computing, and cybersecurity. Among these, data analytics stands out due to its broad applications and ability to secure your career's future. A Forbes expert emphasizes that data analysis skills are becoming essential as companies increasingly rely on data to make strategic decisions and maintain a competitive edge. The rise of AI-powered analytics and sophisticated data visualization is transforming unstructured data into actionable insights.

    For a deeper dive into “The Top 5 Skills to Learn in 2025,” check out the full article here.

    The Qlik Academic Program offers the resources you need to thrive in the digital economy. With access to powerful analytics software and comprehensive training materials, Qlik equips students and educators with the practical skills needed to excel in the data-driven world. Whether you're a student aiming to boost your data expertise or an educator seeking to provide your students with the latest tools, the Qlik Academic Program is a valuable asset for preparing the next generation of data-savvy professionals.

    Discover how to access free resources in data analytics as a student or educator by visiting the Qlik Academic Program

    Show Less
  • Image Not found
    blog

    Support Updates

    Coming March 2025: Making Qlik Cloud Analytics Data Alerts more relevant and acc...

    Within Qlik Cloud Analytics, the Data Alerts feature offers users the ability to be notified of exceptions in the data. When scheduling a data alert, ... Show More

    Within Qlik Cloud Analytics, the Data Alerts feature offers users the ability to be notified of exceptions in the data. When scheduling a data alert, users can define the data conditions of interest within an app and have the option to configure a schedule setting when data is refreshed by a reload of the app.

    There will be an improvement to this specific Schedule configuration setting in an upcoming release scheduled for the second half of March 2025.

     

    New to Data Alerts?

    Read more in Monitoring data with alerts.

     

    How Data Alerts currently work:

    Currently, the schedule configuration When data is refreshed (fig 1) by a reload of the app is evaluated every time the app is reloaded regardless of whether the data set within the app has changed.

    fig 1fig 1

    This has led to users receiving repetitive alerts for the same data status and risks "alert fatigue". It is also not the intended behavior of the feature as no alert should be sent if the underlying data set has not actually changed.

     

    What changes?

    With the upcoming change to the Data Alerts feature, the underlying evaluation behavior for this schedule configuration (When data is refreshed by a reload of the app) will be optimized to evaluate only when there is new data available in the app and the app is reloaded. The same alert status may still be sent for a given condition, but the condition will always have been evaluated from a new data state in the app.

     

    What impact will this have?

    The impact of this change will reduce the number of alerts delivered to users in the scenario that the underlying data has not changed (on a reload), making the alert delivery more impactful. Of course, users can still use the configuration Compare with: Last evaluation (fig 2) to further optimize their alert delivery.

    fig 2fig 2

    Users who prefer a reload-triggered and repetitive (same data state) data alert might consider:

    1. Change the data alert configuration to a Fixed Schedule
    2. In the case of system app monitoring, configure a notification on the app to communicate when the app is reloaded (App > Notification settings)
    3. Consider using Subscriptions on a scheduled basis to deliver the state of the data

     

    Thank you for choosing Qlik,
    Qlik Support

    Show Less
  • Image Not found
    blog

    Design

    6 Things You Might Not Know About Qlik-cli

    Qlik-cli, known on the command line simply as qlik, is a command line interface for Qlik cloud. It provides access to all public APIs through the comm... Show More

    Qlik-cli, known on the command line simply as qlik, is a command line interface for Qlik cloud. It provides access to all public APIs through the command line, making it easier to perform administrative tasks. 

    By now, working with Qlik-cli might be an obvious choice, to enhance your experience, here are six (6) things you might not know about Qlik-cli.

    1. The alias command: 

    The alias command is a customisable command that enables you to create short names for commands that are not easy to remember. For example, if you want to list 50 items you would call qlik item ls --limit 50 .  

    Instead, you can create an alias i  or use any word that makes it easier for you to remember. 

    To create the alias you can call:  qlik alias i item ls --limit 50
     
    Therefore, next time you want to list 50 items you simply call:

     

     

    qlik i

     

    To see existing aliases you can call:

     

    qlik alias ls

     

    For more details call:

     

    qlik alias --help

     

     

    2. The edit command: 

    This command fetches the resource and opens it in your integrated development environment (IDE). This is most likely
    the editor defined by your 'EDITOR' environment variable or fall back to 'vi' for Linux or 'notepad' for Windows.

    The resource will be updated according to the changes made in the editor, upon saving.
    To use this command, for instance on a space, simply call:

     

     

    qlik space edit <spaceid>

     

     

    3. The Raw Command: 

    This is an advanced command that can be used to send HTTP API requests to Qlik Cloud.
    When called, this command will return the full response from the server, including pagination links.

    Note:  The raw command can be used for any public API in Qlik Cloud, and not only the ones natively supported in qlik-cli.
     
    As an example, you can use this command to get a response from the server on items.
    To do this,  simply call:

     

     

    qlik raw get v1/items

     

     
    Additionally, query parameters are specified using the --query flag and a body can be specified using one of the body flags that is: body, body-file or body-values.
     
     

    4.  The verbose flag: 

    The verbose flag can be used to get detailed information regarding a request and response. It is very similar to what you get when you use the -v flag with curl.  To log more information about a command or operation simply add -v to the command.

    For example, you can get more information upon app creation by calling:

     

     

    qlik app create -v

     

     

    This is the response you get:

     

     

    Server-type not set, guessing "cloud"
    POST https://yourtenant.qlik.com/api/v1/apps
    * Establishing connection to: yourtenant.qlik.com:443
    * TLS Handshake started
    * TLS Handshake done (188ms), version: TLS v1.3
    * Connection established (410ms)
    > Host:yourtenant.qlik.com
    > User-Agent: qlik-cli/2.16.0 (darwin)
    > Transfer-Encoding: chunked
    > Authorization: Bearer **omitted**
    > Content-Type: application/json
    > Referer: https://yourtenant.qlik.com
    > Accept-Encoding: gzip
    PAYLOAD:               
    {}
    < Cache-Control: no-store
    < Connection: keep-alive
    < Content-Length: 979
    < Content-Type: application/json; charset=UTF-8
    < Date: Wed, 11 Jan 2023 13:48:17 GMT
    < Pragma: no-cache
    < Strict-Transport-Security: max-age=15724800; includeSubDomains
    Response time: 2s
    
    Status: 200 OK
    {
      "attributes": {
        "_resourcetype": "app",
        "createdDate": "2023-01-11T13:48:15.996Z",
        "custom": {},
        "description": "",
        "dynamicColor": "",
        "encrypted": true,
        "hasSectionAccess": false,
        "id": "514******",
        "isDirectQueryMode": false,
        "lastReloadTime": "",
        "modifiedDate": "2023-01-11T13:48:17.373Z",
        "name": "514fffd9-bf9c-4f95-9b59-93040211d014",
        "originAppId": "",
        "owner": "auth0|e43**********",
        "ownerId": "OwnerID",
        "publishTime": "",
        "published": false,
        "thumbnail": ""
      },
      "create": [
        {
          "canCreate": true,
          "resource": "sheet"
        },
        {
          "canCreate": true,
          "resource": "bookmark"
        },
        {
          "canCreate": true,
          "resource": "snapshot"
        },
        {
          "canCreate": true,
          "resource": "story"
        },
        {
          "canCreate": true,
          "resource": "dimension"
        },
        {
          "canCreate": true,
          "resource": "measure"
        },
        {
          "canCreate": true,
          "resource": "masterobject"
        },
        {
          "canCreate": true,
          "resource": "variable"
        }
      ],
      "privileges": [
        "read",
        "update",
        "delete",
        "reload",
        "export",
        "duplicate",
        "change_space",
        "export_reduced",
        "source"
      ]
    }

     

     

    And this is what you get when you create an app without the verbose flag (-v):

     

     

    {                      
      "attributes": {
        "_resourcetype": "app",
        "createdDate": "2023-01-11T13:52:39.099Z",
        "custom": {},
        "description": "",
        "dynamicColor": "",
        "encrypted": true,
        "hasSectionAccess": false,
        "id": "9d*********",
        "isDirectQueryMode": false,
        "lastReloadTime": "",
        "modifiedDate": "2023-01-11T13:52:40.044Z",
        "name": "9d4c0950-ccd7-4824-9a96-db8f04a23716",
        "originAppId": "",
        "owner": "auth0|e43*********",
        "ownerId": "63*********",
        "publishTime": "",
        "published": false,
        "thumbnail": ""
      },
      "create": [
        {
          "canCreate": true,
          "resource": "sheet"
        },
        {
          "canCreate": true,
          "resource": "bookmark"
        },
        {
          "canCreate": true,
          "resource": "snapshot"
        },
        {
          "canCreate": true,
          "resource": "story"
        },
        {
          "canCreate": true,
          "resource": "dimension"
        },
        {
          "canCreate": true,
          "resource": "measure"
        },
        {
          "canCreate": true,
          "resource": "masterobject"
        },
        {
          "canCreate": true,
          "resource": "variable"
        }
      ],
      "privileges": [
        "read",
        "update",
        "delete",
        "reload",
        "export",
        "duplicate",
        "change_space",
        "export_reduced",
        "source"
      ]
    }

     

     

    5.  The Quiet flag:

    The --quiet or -q flag is used for chaining commands. For example, to get the last updated app you can call:
     

     

     

    qlik app ls -q | head -n1 | qlik app get

     

    The quiet flag can also be used to only return the resource IDs for an operation. For instance, if you are creating an app and only want the appId, you can call:
     

     

    qlik app create -q

     

     

    6. Autocompletion: 

    The autocompletion provided in Qlik-cli does not only autocomplete the known commands but can also be used to list the resource id used for a specific command. If you have configured autocompletion in your shell you can use TAB to go through space IDs for instance.

    Note: Completion should be added after Qlik-cli installation. You can see this tutorial on how to add completion.

     

    If you are just getting started with Qlik-cli, you can learn more here or  watch this video for an introduction to qlik-cli

    Feel free to add more cool things we should know about qlik-cli.

    /Gertrude.

     

    Show Less
  • Image Not found
    blog

    Design

    Sn-table, Nebula.js' latest extension

    In my previous articles I talked about Nebula.js and the use with the existing extensions on major frameworks like React, Svelte and Angular. Since th... Show More

    In my previous articles I talked about Nebula.js and the use with the existing extensions on major frameworks like React, Svelte and Angular.

     

    Since the last one, a new extension was added, sn-table. Here is how to use it.

    First install it

     

     

    npm install @nebula.js/sn-table

     

     

     

    Then import it and add it into your configuration

     

     

    import table from '@nebula.js/sn-table';

     

     

     

     

     

    ...
          {
            name: 'table',
            load: () => Promise.resolve(table),
          },
    ...

     

     

    If you have issues, you can view the entire configuration at https://observablehq.com/@yianni-ververis/nebula-js

    Then, start adding dimensions and measures.

     

     

    n.render({
        element: chartElement,
          type: 'table',
          properties: {
            qHyperCubeDef: {
              qDimensions: [
                { qDef: { qFieldDefs: ['Case Owner Group'] }, qNullSuppression: true, qLabel: 'Department' },
                { qDef: { qFieldDefs: ['Priority'] }, qNullSuppression: true },
              ],
              qMeasures: [
                { qDef: { qDef: 'Avg([Case Duration Time])', autoSort: false }, qSortBy: { qSortByNumeric: -1 }, qLabel: 'Avg Duration' },
              ],
              qInterColumnSortOrder: [2, 0, 1],
              qInitialDataFetch: [{
                qWidth: 3,
                qHeight: 3000,
              }],
            },
            showTitles: true,
            title: 'Table',
            subtitle: 'Sample supernova table',
            footnote: '',
            totals: {
              show: true,
            },
          },
      });

     

     

     

    You should have something like this

    Yianni_Ververis_0-1612440698450.png

    View the entire example here
    https://observablehq.com/@yianni-ververis/nebula-js

    https://observablehq.com/@yianni-ververis/nebula-js-table

    Happy coding!

    /Yianni

    Show Less
  • Image Not found
    blog

    Design

    Qlik Cloud Monitoring Apps - App Analyzer Update - Session Level Data

    The latest update to the App Analyzer brings a new feature: session-level data. Now, the App Analyzer can answer vital questions, such as which users ... Show More

    The latest update to the App Analyzer brings a new feature: session-level data. Now, the App Analyzer can answer vital questions, such as which users are accessing which applications, how long they stay in each app, what sheets they use, the duration on each sheet, and the frequency of navigation between sheets. It also tracks the number of concurrent users within an app or across all apps in the tenant. The App Analyzer is released and updated by Master Principal Analytics Architect @Daniel_Pilla. He will monitor this thread should you have any questions. 

    In summary the App Analyzer’s key benefits include maintaining app size quotas, tracking user adoption, optimizing data models, and now analyzing user and session-level behavior.

    The app analyzer can be easily programmatically installed along with all of the other monitoring apps via an out of the box Qlik Application Automation template. Please visit the links below for more information and to get started using it. 

    Resources: 

     

     

    Show Less
  • Image Not found
    blog

    Qlik Academic Program

    Welcome back Dr. K Kalaiselvi-Qlik Educator Ambassador for 2025!

    With 16 years of experience in academia, Dr Kalaiselvi currently holds the position of Associate Professor Coordinator, Department of Computer Science... Show More

    With 16 years of experience in academia, Dr Kalaiselvi currently holds the position of Associate Professor Coordinator, Department of Computer Science at Kristu Jayanti College. Her background includes roles as a J2EE developer with the Ministry of Electronics and Information Technology, Government of India, and Singapore Telecommunications, under the Government of Singapore.

    Dr Kalaiselvi oversees courses in Data Analytics, specializing in Machine Learning, R and Python Programming, Data Visualization Technologies, and Process Mining Technologies, she manages specialized and certification courses for students, complementing the regular curriculum.

    Since 2019, Dr Kalaiselvi has been associated with the Qlik Academic Program and has earned the Qlik Sense Business Analyst Qualification offered under this program.

    By December 2023, around 300 students achieved the Qlik Sense Business Analyst Qualification and Data Literacy Certification from Kristu Jayanti College. Presently, 122 students are undergoing training under the Data Architect Qualification pathway. Dr Kalaiselvi is thrilled that her institution was recognized as a Centre of Excellence in Analytics of the Qlik Academic Program in 2023. Last year, a Qlik specific Datathon was organised to foster data-driven innovation and analytical problem-solving skills among participants. In 2024, 124 students completed their Data Architect Qualification that enabled students to perform seamless data integration, visualization, and decision-making by designing efficient, scalable data models and workflows.

    When contemplating her interest in the Qlik Academic Program, Dr Kalaiselvi says that she was drawn by its reputation about the comprehensive resources offered and tools geared towards learning data analytics and visualization. Krsitu Jayanti College recognizes the growing importance of these skills in various industries, and she was eager to find an opportunity that would provide a hands-on experience with real-world tools. The Qlik Academic Program stood out due to its commitment in offering free access to their powerful data analytics software, Qlik Sense under the academic program.

    Dr Kalaiselvi believes that the Qlik Academic Program's resources and learning materials will not only enhance our understanding of data analytics and visualization but also contribute significantly to students’ academic and professional growth. The opportunity to gain proficiency in using Qlik resources is one she finds both exciting and valuable, and she is enthusiastic about the potential it holds for students’ future endeavors.

    “The future of this engagement appears promising to me”, according to Dr Kalaiselvi. She further adds, “As students continue to benefit from the training and certifications of the academic program, they are likely to graduate with desirable skills in data analytics and visualization. This in turn could lead to increased job placements in roles such as Business Analysts, Data Scientists, and Data Visualization Designers. With a growing network and a reputation for producing skilled professionals, the engagement could contribute positively to both student careers and industry advancement”.

    Dr Kalaiselvi says that her journey with the Qlik Academic Program, especially after achieving the Qlik Sense Business Analyst Qualification, has deepened her understanding and appreciation for data literacy. She recognizes the critical role it plays in today's data-driven world and is eager to share this knowledge. Joining the program offered a structured platform to advocate for and elevate data literacy among students, preparing them for a future where data-informed decision-making is key. After becoming an Educator Ambassador, Dr Kalaiselvi aims to not only expand her own skills and understanding of Qlik technologies but also to stay at the forefront of BI and analytics innovations. It enables her to contribute to and learn from a like-minded community, further enriching the educational experiences she can offer and foster a collaborative spirit among students for global and cross-disciplinary projects.

    At present, Dr Kalaiselvi is engaged in developing an AI chatbot project tailored specifically for adolescents, aimed at addressing their psychological, physical, and academic inquiries. In addition to her teaching responsibilities, she has embarked on collaborative ventures with universities across the Asia Pacific, concentrating on facilitating exchange programs and fostering project collaborations.

    Dr Kalaiselvi says, “As a proud addition to our achievements, recently an industry visit to the Qlik office in Bangalore was organized as a part of the Faculty Development Programme, providing educators with valuable insights into cutting-edge data analytics and visualization technologies”

    She feels thrilled and grateful to be involved in this collaboration, as it allows her to learn and grow alongside her students.

    We are looking forward to working closely with Dr Kalaiselvi during her tenure as an ambassador yet again and creating more links with her education network.

    For more information about our Ambassador Program, please visit: qlik.com/us/company/academic-program/ambassadors

     

    Show Less
  • Image Not found
    blog

    Japan

    【3/27(木)15:00 開催】Qlik Sense で拓く、データ活用による業務とサービス革新

    企業のビジネス活動において、データはこれまで以上に必要不可欠な資産となっています。増え続けるデータを管理・統合・分析し、データでアクションを起こす必要性が増している現在、成功している企業はどのようなデータ戦略を実行しているのか?本 Web セミナーシリーズでは、Qlik でデータからアクションを起こ... Show More

    企業のビジネス活動において、データはこれまで以上に必要不可欠な資産となっています。増え続けるデータを管理・統合・分析し、データでアクションを起こす必要性が増している現在、成功している企業はどのようなデータ戦略を実行しているのか?

    本 Web セミナーシリーズでは、Qlik でデータからアクションを起こすデータ主導のビジネスで成功しているお客様より、課題から導入の経緯、デモンストレーション、活用例などをご紹介します。

    ※ 参加費無料。パソコン・タブレット・スマートフォンで、どこからでもご参加いただけます。

    【3/27(木)15:00 開催】
    Qlik Sense で拓く、データ活用による業務とサービス革新

    ヒューマンアカデミー株式会社は、データ活用を軸にした教育 DX を推進し、学習体験の革新と教育機関の運営効率向上を実現しました。その中核を担うのが 統合データベース(DB) です。売上、反響、営業履歴、学習履歴や成績データを一元管理し、蓄積されたデータをもとに最適な教育サービスを提供する環境を構築しました。このデータ基盤を活用するために業務に BI を導入し、営業プロセスを可視化・最適化。人的リソースの最適配分や迅速な意思決定が可能になりました。また、サービスの BI により受講生の学習状況を把握でき、学習者ごとに適切なサポートを実施しています。
    効率的な学務運営を可能にし、データドリブンなアプローチで次世代の教育サービスを実現した取り組みについて、デモを交えてご紹介します

    今すぐ申し込む

    Qlik_UserSuccess_Blog_HumanAcademy.jpg

    今すぐ申し込む

    Show Less
  • Image Not found
    blog

    Product Innovation

    The Cost of Bad Data: How Data Quality and Trust Impact Business Outcomes

    In this short, 5-part blog series, we will explore the crucial role that high-quality, trusted data plays in driving effective business outcomes. In t... Show More

    In this short, 5-part blog series, we will explore the crucial role that high-quality, trusted data plays in driving effective business outcomes. In this first part, we will explore the cost of bad data quality

    Bad data is expensive. According to Gartner, poor data quality costs organizations an average of $12.9 million annually. For individual businesses, the impacts ripple across every function: 

    1. Decision-Making: Flawed data leads to misguided strategies. Imagine a sales team targeting the wrong demographics because customer records are outdated.
    2. Compliance: Regulatory fines escalate when data inaccuracies lead to reporting errors (e.g., GDPR or CCPA violations).
    3. Customer Satisfaction: Duplicate records or incorrect contact details frustrate customers. Imagine running a loyalty program with duplicate profiles, causing a 30% spike in marketing costs and customers receiving repetitive promotion offers.
    4. Market Efficiency: Supply chain delays, inventory mismanagement, and missed sales opportunities stem from unreliable data.
    5. Competitive Advantage: Companies with trusted data outpace rivals by acting on insights faster.

    The bottom line - maintaining high standards for data quality and trust is crucial for building a reliable and successful business. Without trust in data, businesses operate in the dark—and the consequences are real. 

    Bad data isn’t just a nuisance—it’s a threat to survival. By decentralizing data quality and fostering a culture of trust, businesses can transform data into a driver of innovation and growth. With platforms like Qlik Talend Cloud, organizations don’t just manage data; they leverage it to stay ahead in a competitive landscape.

    Show Less
  • Image Not found
    blog

    Design

    DIY your Qlik Answers Experience with the new KB and Assistants APIs

    Qlik Answers transforms unstructured data into clear, AI-powered insights. Today, I'll show you how to integrate Qlik Answers directly into your web a... Show More

    Qlik Answers transforms unstructured data into clear, AI-powered insights. Today, I'll show you how to integrate Qlik Answers directly into your web app using the newly released Knowledgebases API and Assistants API.

    In this blog, we'll build a custom Football chat assistant from scratch powered by Qlik Answers.

    We’ll leverage the Assistants API to power real-time Q&A while the knowledge base is already set up in Qlik Sense.

    For those of you who prefer a ready-made solution, you can quickly embed the native Qlik Answers UI using qlik-embed:

     

    <qlik-embed
      ui="ai/assistant"
      assistant-id="<assistant-id>"
    ></qlik-embed>

     

    You can explore the ai/assistant parameters (and other UIs available in qlik-embed) on qlik.dev, or take a look at some of my previous blog posts here and here.

    For full documentation on the Knowledgebases API and Assistants API, visit qlik.dev/apis/rest/assistants/ and qlik.dev/apis/rest/knowledgebases/.

    Let’s dive in and see how you can take control of your Qlik Answers UI experience!

    What Are Qlik Answers Assistants and Knowledgebases?

    Before we start building our DIY solution, here’s a quick refresher:

    • Knowledgebases: Collections of individual data sources (like HTML, DOCX, TXT, PDFs) that power your Qlik Answers. (In our case, we built the KB in Qlik Sense!)

    • Assistants: The chat interface that interacts with users using retrieval-augmented generation (RAG). With generative AI in the mix, Qlik Answers delivers reliable, linked answers that help drive decision-making.

    DIY the Qlik Answers Experience

    Step 1: Get your data ready

    Since we already created our knowledge base directly in Qlik Sense, we skip the Knowledgebases API. If you’d like to build one from scratch, check out the knowledgebases API documentation.

    Screenshot 2025-02-14 172125.png

    Step 2: Configure your assistant

    With your knowledge base set, you create your assistant using the Assistants API. This is where the magic happens: you can manage conversation starters, customize follow-ups, and more. Visit the assistants API docs on qlik.dev. to learn more

    Step 3: Build Your Custom UI

    Now, let’s look at our custom chat UI code. We'll built a simple football-themed chat interface that lets users ask questions related to the NFL. The assistant’s answers stream in seamlessly to the interface.

    Screenshot 2025-02-14 171644.png

    HTML:

     

    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Football Assistant</title>
        <link rel="stylesheet" href="styles.css" />
      </head>
      <body>
        <div class="chat-container">
          <div class="chat-header">
            <h4>Let's talk Football</h4>
            <span class="header-span">You ask, Qlik answers.</span>
          </div>
    
          <div class="chat-body" id="chat-body">
            <div class="message assistant">
              <div class="bubble">
                <p>Hey there, champ! Ask me anything.</p>
              </div>
            </div>
          </div>
          <div class="chat-footer">
            <input
              type="text"
              id="chat-input"
              placeholder="Type your Football related question..."
            />
            <button id="send-btn">Send</button>
          </div>
        </div>
        <script src="scripts.js"></script>
      </body>
    </html>

     

    Frontend JS:

     

    document.addEventListener("DOMContentLoaded", () => {
      const chatBody = document.getElementById("chat-body");
      const chatInput = document.getElementById("chat-input");
      const sendButton = document.getElementById("send-btn");
    
      // Append a user message immediately
      function appendUserMessage(message) {
        const messageDiv = document.createElement("div");
        messageDiv.classList.add("message", "user");
        const bubbleDiv = document.createElement("div");
        bubbleDiv.classList.add("bubble");
        bubbleDiv.innerHTML = `<p>${message}</p>`;
        messageDiv.appendChild(bubbleDiv);
        chatBody.appendChild(messageDiv);
        chatBody.scrollTop = chatBody.scrollHeight;
      }
    
      // Create an assistant bubble that we update with streaming text
      function createAssistantBubble() {
        const messageDiv = document.createElement("div");
        messageDiv.classList.add("message", "assistant");
        const bubbleDiv = document.createElement("div");
        bubbleDiv.classList.add("bubble");
        bubbleDiv.innerHTML = "<p></p>";
        messageDiv.appendChild(bubbleDiv);
        chatBody.appendChild(messageDiv);
        chatBody.scrollTop = chatBody.scrollHeight;
        return bubbleDiv.querySelector("p");
      }
    
      // Send the question to the backend and stream the answer
      function sendQuestion() {
        const question = chatInput.value.trim();
        if (!question) return;
    
        // Append the user's message
        appendUserMessage(question);
        chatInput.value = "";
    
        // Create an assistant bubble for the answer
        const assistantTextElement = createAssistantBubble();
    
        // Open a connection to stream the answer
        const eventSource = new EventSource(
          `/stream-answers?question=${encodeURIComponent(question)}`
        );
    
        eventSource.onmessage = function (event) {
          if (event.data === "[DONE]") {
            eventSource.close();
          } else {
            assistantTextElement.innerHTML += event.data;
            chatBody.scrollTop = chatBody.scrollHeight;
          }
        };
    
        eventSource.onerror = function (event) {
          console.error("EventSource error:", event);
          eventSource.close();
          assistantTextElement.innerHTML += " [Error receiving stream]";
        };
      }
    
      sendButton.addEventListener("click", sendQuestion);
      chatInput.addEventListener("keydown", (event) => {
        if (event.key === "Enter") {
          event.preventDefault();
          sendQuestion();
        }
      });
    });

     

    Backend node.js script:

     

    import express from "express";
    import fetch from "node-fetch";
    import path from "path";
    import { fileURLToPath } from "url";
    
    // Setup __dirname for ES modules
    const __filename = fileURLToPath(import.meta.url);
    const __dirname = path.dirname(__filename);
    
    // Define port and initialize Express app
    const PORT = process.env.PORT || 3000;
    const app = express();
    app.use(express.static("public"));
    app.use(express.json());
    
    // Serve the frontend
    app.get("/", (req, res) => {
      res.sendFile(path.join(__dirname, "public", "index.html"));
    });
    
    // Endpoint to stream Qlik Answers output
    app.get("/stream-answers", async (req, res) => {
      const question = req.query.question;
      if (!question) {
        res.status(400).send("No question provided");
        return;
      }
    
      // Set headers for streaming response
      res.writeHead(200, {
        "Content-Type": "text/event-stream",
        "Cache-Control": "no-cache",
        Connection: "keep-alive",
      });
    
      const assistantId = "b82ae7a9-9911-4830-a4f3-f433e88496d2";
      const baseUrl = "https://sense-demo.us.qlikcloud.com/api/v1/assistants/";
      const bearerToken = process.env["apiKey"];
    
      try {
        // Create a new conversation thread
        const createThreadUrl = `${baseUrl}${assistantId}/threads`;
        const threadResponse = await fetch(createThreadUrl, {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
            Authorization: `Bearer ${bearerToken}`,
          },
          body: JSON.stringify({
            name: `Conversation for question: ${question}`,
          }),
        });
    
        if (!threadResponse.ok) {
          const errorData = await threadResponse.text();
          res.write(`data: ${JSON.stringify({ error: errorData })}\n\n`);
          res.end();
          return;
        }
    
        const threadData = await threadResponse.json();
        const threadId = threadData.id;
    
        // Invoke the Qlik Answers streaming endpoint
        const streamUrl = `${baseUrl}${assistantId}/threads/${threadId}/actions/stream`;
        const invokeResponse = await fetch(streamUrl, {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
            Authorization: `Bearer ${bearerToken}`,
          },
          body: JSON.stringify({
            input: {
              prompt: question,
              promptType: "thread",
              includeText: true,
            },
          }),
        });
    
        if (!invokeResponse.ok) {
          const errorData = await invokeResponse.text();
          res.write(`data: ${JSON.stringify({ error: errorData })}\n\n`);
          res.end();
          return;
        }
    
        // Process and stream the response text
        const decoder = new TextDecoder();
        for await (const chunk of invokeResponse.body) {
          let textChunk = decoder.decode(chunk);
          let parts = textChunk.split(/(?<=\})(?=\{)/);
          for (const part of parts) {
            let trimmedPart = part.trim();
            if (!trimmedPart) continue;
            try {
              const parsed = JSON.parse(trimmedPart);
              if (parsed.output && parsed.output.trim() !== "") {
                res.write(`data: ${parsed.output}\n\n`);
              }
            } catch (e) {
              if (trimmedPart && !trimmedPart.startsWith('{"sources"')) {
                res.write(`data: ${trimmedPart}\n\n`);
              }
            }
          }
        }
        res.write("data: [DONE]\n\n");
        res.end();
      } catch (error) {
        res.write(`data: ${JSON.stringify({ error: error.message })}\n\n`);
        res.end();
      }
    });
    
    // Start the backend server
    app.listen(PORT, () => {
      console.log(`Backend running on port ${PORT}`);
    });

     

    Breaking It Down

    Okay, that was a lot of code! Let’s break it down into bite-sized pieces so you can see exactly how our custom Qlik Answers chat interface works.

    1. The HTML

    Our index.html creates a custom chat UI. It sets up:

    • A chat body where messages appear (initially with a friendly greeting from the assistant).
    • A chat footer with an input field and a send button for users to type their questions.

    2. The Frontend JavaScript (scripts.js)

    This script handles the user interaction:

    • Appending messages: When you type a question and hit send (or press Enter), your message is added to the chat window.

    • Creating chat bubbles: It creates separate message bubbles for you (the user) and the assistant.

    • Streaming the answer: It opens a connection to our backend so that as soon as the assistant’s response is ready, it streams into the assistant’s bubble. This gives you a live, real-time feel without any manual “typing” effect.

    3. The Node.js Backend (index.js)

    Our backend does the heavy lifting:

    • Creating a conversation thread: It uses the Assistants API to start a new thread for each question.

    • Invoking the streaming endpoint: It then sends your question to Qlik Answers and streams the response back.

    • Processing the stream: As chunks of text come in, the backend cleans them up—splitting any concatenated JSON and only sending the useful text to the frontend.

    • Closing the stream: Once the complete answer is sent, it signals the end so your chat bubble doesn’t wait indefinitely.

    4. How It All Connects

    When you send a question:

    • Your message is displayed immediately in your custom chat bubble.

    • The backend creates a thread and requests an answer from Qlik Answers.

    • The response is streamed back to your UI in real time, making it look like the assistant is typing out the answer as it arrives.

    P.S: this is just a simple example to introduce you to the new Answers APIs and show you how to get started using them, you'll need to double check limitations and adhere to best practices when using the APIs in a production environment. 

    Screenshot 2025-02-14 173049.png

    You can find the full code here:
    https://replit.com/@ouadielimouni/QA-Test-APIs#public/index.html

     

    Happy coding - and, Go Birds 🦅!

    Show Less
  • qlik-productblogs.jpg
    blog

    Product Innovation

    Introducing ‘Custom Groups’ to Qlik Cloud Analytics!

    Managing users and groups just got easier. With our new Custom Groups capability, you now have more flexibility and control to handle user and group r... Show More

    Managing users and groups just got easier. With our new Custom Groups capability, you now have more flexibility and control to handle user and group relationships directly in Qlik Cloud, without needing to rely on an Identity Provider (IdP).

    Video: Introducing ‘Custom Groups’ to Qlik Cloud Analytics 

    What’s New?

    • Manage directly in Qlik Cloud

    No more back and forth with external systems. Now, you can manage users and their group memberships directly in Qlik Cloud. Everything is in one place for easy access control.

    • Create smoother group-based provisioning

    Assign users to groups in just a few clicks. Control both administrative access and feature permissions without hassle.

    • Made for your organization

    Custom Groups adapts to your unique structure, making access management easier and more aligned with the way your organization works.

    Use cases:

    • Public Sector flexibility

    Manage group memberships within Qlik Cloud and simplify integrations with third-party apps, without depending on IdP-provided groups.

    • Enterprise autonomy

    Gain full control over user and group assignments, without being tied to Active Directory or other IdP systems. Adapt faster to changing needs.

    Key Benefits:

    • More control over user roles and permissions
    • Less dependence on external systems
    • Better fit for your organization's needs

     

    Custom Groups makes managing access in Qlik Cloud simple and efficient, no matter the size or type of your organization. It saves you time, reduces complexity, and gives you full control over how users and groups are managed.

    Learn more here:

    Show Less
  • Image Not found
    blog

    Product Innovation

    Connector Factory – January and February 2025 releases

    Qlik Cloud Analytics New!   File Connector The File Connector for the Data Gateway provides a key capability to bridge on-premises file data to Qlik ... Show More

    Qlik Cloud Analytics

    New!   File Connector

    The File Connector for the Data Gateway provides a key capability to bridge on-premises file data to Qlik Cloud Analytics.  This new connector can help on-premises analytic customers transition to cloud-based analytics as it enables them to easily access and leverage existing on-premises file data, especially QVDs, in Qlik Cloud Analytics.  With familiar file access capabilities, the File Connector can also serve as a more robust replacement to the Qlik Data Transfer tool.

    Customers can use the File Connector to access network drives and file systems via the Gateway server and can preview a file using read-only access to ensure data security.  The File Connector can then load firewalled data files, of any currently supported file type, directly into Qlik Cloud.  

    The File Connector also utilizes predefined connection definitions for quick setup and supports wildcards when selecting files and folders.

    Learn more here:  Qlik Help:  File Connector | SaaS in 60 

     

    New versions of Direct Access gateway

    The Qlik Data Gateway - Direct Access allows Qlik Sense SaaS applications to securely access behind the firewall data, over a strictly outbound, encrypted, and mutually authenticated connection.

    We recently released Direct Access gateway 1.7.0 and 1.71.  1.7.0 introduced the File Connector mentioned above and 1.7.1 includes the integration of a REST Connector via the gateway.  It has the exact same capabilities as the REST Connector within Qlik Cloud, but it also provides access to sources based on REST APIs residing on-premises (behind a firewall).  We recommend that you use this REST Connector instead of the Qlik Data Transfer tool.

     

    New connectors for Qlik Answers

    Qlik Answers knowledge bases now support Google Drive and OneDrive connections as data sources. You can find more information about  creating knowledge bases here.

      

     

    Qlik Talend

    More capabilities in the Snowflake target connector

    The Snowflake target connector for data replication and data pipelines now supports configuration of advanced (additional) ODBC and JDBC connection properties. This allows users to have fine-grained control over connection definitions beyond standard parameters, including adding properties such as Role, Secondary Role, and more.

    You can find more information about these additional connection properties here.

     

    Qlik Application Automation

    New Connectors

    Qlik Answers - This Qlik-native connector that enables the creation of data sources in knowledge bases using existing data connections. It also allows users to interact with assistants by asking questions related to the data source and receive answers based on the existing data.  This blog discusses how to get started.

     

    Updated Connectors

    • Added media-files blocks to the Qlik Cloud Services & Qlik Platform Operations connectors.
    • Added a Copy Data File block to the Qlik Cloud Services connector.
    • Added input parameter to name the image generated in the Qlik chart image block.
    • Updated Slack connector to redirect URL to point to Qlik.
    • New and depreciated file-related blocks in the Slack Connector.  You can read more about the changes here.
    • Added CheckDataSource field to the Sendgrid connector.
    Show Less
  • Image Not found
    blog

    Support Updates

    Qlik Sense Enterprise for Windows - New Security Patches Available Now

    Edited December 5th: identified upgrades leading to complications with extensionsEdited December 6th: added workaround for extension complicationEdite... Show More

    Edited December 5th: identified upgrades leading to complications with extensions
    Edited December 6th: added workaround for extension complication
    Edited December 10th: added CVEs (CVE-2024-55579 and CVE-2024-55580)
    Edited December 12th, noon CET: added new patch versions and visualization and extension fix details; previous patches were removed from the download site

    Hello Qlik Users,

    New patches have been made available and have replaced the original six releases. They include the original security fixes (CVE-2024-55579 and CVE-2024-55580) as well as QB-30633 to resolve the extension and visualization defect.

    If you continue to experience issues with extensions or visualizations, see QB-30633: Visualizations and Extensions not loading after applying patch.

    Security issues in Qlik Sense Enterprise for Windows have been identified, and patches have been made available. Details can be found in Security Bulletin High Severity Security fixes for Qlik Sense Enterprise for Windows (CVE-2024-55579 and CVE-2024-55580).

    Today, we have released six service releases across the latest versions of Qlik Sense to patch the reported issue. All versions of Qlik Sense Enterprise for Windows prior to and including these releases are impacted:

    • May 2024 Patch 9
    • February 2024 Patch 13
    • November 2023 Patch 15
    • August 2023 Patch 15
    • May 2023 Patch 17
    • February 2023 Patch 14

     

    No workarounds can be provided. Customers should upgrade Qlik Sense Enterprise for Windows to a version containing fixes for these issues. November 2024 IR, released on the 26th of November, contains the fix as well

    • November 2024 Initial Release
    • May 2024 Patch 10 or 11 (both valid)
    • February 2024 Patch 14 or 15 (both valid)
    • November 2023 Patch 16 or 17 (both valid)
    • August 2023 Patch 16 or 17 (both valid)
    • May 2023 Patch 18 or 19 (both valid)
    • February 2023 Patch 15 or 16 (both valid)
    This issue only impacts Qlik Sense Enterprise for Windows. Other Qlik products including Qlik Cloud and QlikView are NOT impacted.

    All Qlik software can be downloaded from our official Qlik Download page (customer login required). Follow best practices when upgrading Qlik Sense.

    The information in this post and Security Bulletin High Severity Security fixes for Qlik Sense Enterprise for Windows (CVE-2024-55579 and CVE-2024-55580) are disclosed in accordance with our published Security and Vulnerability Policy.

     

    The Security Notice label is used to notify customers about security patches and upgrades that require a customer’s action. Please subscribe to the ‘Security Notice’ label to be notified of future updates. 

    Thank you for choosing Qlik,
    Qlik Global Support

    Show Less
  • qlik-productblogs.jpg
    blog

    Design

    Recipe for a Pareto Analysis – Revisited

    This type of question is common in all types of business intelligence. I say “type of question” since it appears in many different forms: Sometimes it... Show More

    This type of question is common in all types of business intelligence. I say “type of question” since it appears in many different forms: Sometimes it concerns products, but it can just as well concern any dimension, e.g. customer, supplier, sales person, etc. Further, here the question was about turnover, but it can just as well be e.g. number of support cases, or number of defect deliveries, etc.

     

    QV Bar chart.png

     

    It is called Pareto analysis or ABC analysis and I have already written a blog post on this topic. However, in the previous post I only explained how to create a measure which showed the Pareto class. I never showed how to create a dimension based on a Pareto classification – simply because it wasn’t possible.

     

    But now it is.

     

    But first things first. The logic for a Pareto analysis is that you first sort the products according to their sales numbers, then accumulate the numbers, and finally calculate the accumulated measure as a percentage of the total. The products contributing to the first 80% are your best, your “A” products. The next 10% are your “B” products, and the last 10% are your “C” products. In the above graph, these classes are shown as colors on the bars.

     

    The previous post shows how this can be done in a chart measure using the Above() function. However, if you use the same logic, but instead inside a sorted Aggr() function, you can achieve the same thing without relying on the chart sort order. The sorted Aggr() function is a fairly recent innovation, and you can read more about it here.

     

    The sorting is needed to calculate the proper accumulated percentages, which will give you the Pareto classes. So if you want to classify your products, the new expression to use is

     

    =Aggr(
        If(Rangesum(Above(Sum({1} Sales)/Sum({1} total Sales),1,RowNo()))<0.8, 'A',
            If(Rangesum(Above(Sum({1} Sales)/Sum({1} total Sales),1,RowNo()))<0.9, 'B',
                'C')),
        (Product,(=Sum({1} Sales),Desc))
        )

     

    The first parameter of the Aggr() – the nested If()-functions – is in principle the same as the measure in the previous post. Look there for an explanation.

     

    The second parameter of the Aggr(), the inner dimension, contains the magic of the sorted Aggr():

     

        (Product,(=Sum({1} Sales),Desc))

     

    This structured parameter specifies that the field Product should be used as dimension, and its values should be sorted descending according to Sum({1} Sales). Note the equals sign. This is necessary if you want to sort by expression.

     

    So the Products inside the Aggr() will be sorted descending, and for each Product the accumulated relative sales in percent will be calculated, which in turn is used to determine the Pareto classes.

     

    The set analysis {1} is necessary if you want the classification to be independent of the made selection. Without it, the classification will change every time the selection changes. But perhaps a better alternative is to use {$<Product= >}. Then a selection in Product (or in the Pareto class itself) will not affect the classification, but all other selections will.

     

    The expression can be used either as dimension in a chart, or in a list box. Below I have used the Pareto class as first dimension in a pivot table.

     

    QS Pivot.png

     

    If you use this expression in a list box, you can directly select the Pareto class you want to look at.

     

    QS List box.png

     

    The other measures in the pivot table are the exclusive and inclusive accumulated relative sales, respectively. I.e. the lower and upper bounds of the product sales share:

     

    Exclusive accumulated relative sales (lower bound):

     

    =Min(Aggr(
        Rangesum(Above(Sum({1} Sales)/Sum({1} total Sales),1,RowNo())),
        (Product,(=Sum({1} Sales),Desc))
      ))

     

    Inclusive accumulated relative sales (upper bound):

     

    =Max(Aggr(
        Rangesum(Above(Sum({1} Sales)/Sum({1} total Sales),0,RowNo())),
        (Product,(=Sum({1} Sales),Desc))
      ))

     

    Good luck in creating your Pareto dimension!

     

    HIC

     

    Further reading related to this topic:

    The sortable Aggr function is finally here!

    Recipe for a Pareto Analysis

    Recipe for an ABC Analysis

    Show Less
  • Image Not found
    blog

    Qlik Education

    Get Ready. A New Qlik Learning Experience is Coming!

    We are thrilled to announce that the new Qlik Learning will launch on February 17, 2025. What is coming?  A new Qlik Learning experience, consolidati... Show More

    We are thrilled to announce that the new Qlik Learning will launch on February 17, 2025.

    What is coming? 

    • A new Qlik Learning experience, consolidating the current Qlik Continuous Classroom and Talend Academy into one integrated learning platform.    
    • An unlimited Qlik Learning subscription designed to energize your learning experience, accelerate your success, and help you grow your skills and expertise throughout your career.   

    What can you expect with the new Qlik Learning experience:  

    • Gain hands-on Qlik Analytics and Data Integration experience in one spot with a single sign-on. 
    • Discover easy-to-follow learning journeys that are designed for you.   
    • Attend live webinars delivered on a regular basis on a variety of advanced topics.   
    • Access an extensive library of Qlik Learning Shorts. These short videos show you exactly how and why to perform common tasks, so you get it right the first time, every time.  
    • Use Qlik Certification resources and earn digital badges to help further your career and set new records for continuous learning.   

    What do we recommend to get prepared? 

    While Qlik is excited about this transition, there are actions we recommend: 

    There will be downtime while we prepare the new Qlik Learning experience for you. Downtime window starts at 8:00am ET on February 14 and ends on February 16 at 7:00pm ET. During this time, access to the current platform will be unavailable.

    Qlik Continuous Classroom users: 

    If you are in the middle of completing a course, we recommend you complete it ahead of the new Qlik Learning launch, so your completion data is transferred, and progress is not lost. 

    Any Achievement or qualifications badges for the 2019, 2020, and 2021 Business Analyst or Data Architect will not be migrated into the new Qlik Learning, so we recommend downloading and sharing these using your Badgr backpack; also see the Sharing Badges on Social Sites document. 

    Check out the Qlik Learning FAQ we’ve prepared for you. 

    Talend Academy users: 

    You will log into the new Qlik Learning with your Qlik account. Don’t have an account? Sign up for a Qlik Account ahead of the launch using the same email address you use on Talend Academy. 

    Check out the Qlik Learning FAQ we’ve prepared for you. 

    Reach out to Qlik Learning at education@qlik.com if you have any questions. We greatly appreciate your patience as we work to enrich your learning experience.  

    Stay tuned for exciting learning updates! 

    *Important note: While we are confident on the February 17, 2025, launch date, please note there is always a possibility of adjustments. We will keep you informed promptly should any changes occur.

    Show Less
  • Image Not found
    blog

    Qlik Education

    The New Qlik Learning Is Here!

    We are thrilled to announce that the new Qlik Learning is now live and ready for you! It is a single, integrated learning platform designed to enhance... Show More

    We are thrilled to announce that the new Qlik Learning is now live and ready for you! It is a single, integrated learning platform designed to enhance your learning experience and help you get the most out of Qlik.

    An Unlimited Qlik Learning subscription is designed to energize your learning experience, accelerate your success, and help you grow your skills and expertise throughout your career.

    What can you expect with the new Qlik Learning experience?

    • Gain hands-on analytics and data integration experience in one spot with a single sign-on.
    • Discover easy-to-follow learning journeys that are designed for you.
    • Earn badges to help further your career and set new records for continuous learning.
    • Attend live webinars delivered by our expert instructors on a variety of advanced topics.
    • Access an extensive library of Qlik Learning Shorts.
    • Pursue the ultimate recognition of your expertise: Qlik Certification! Access the resources and practice exams to help you prepare.

    How do you get started?

    To get started, simply log in to Qlik Learning with your Qlik account (Don't have an account? Sign up) and complete the short Getting Started course. This will unlock the full range of opportunities available to you. Additionally, after finishing the course, you'll earn a digital badge that you can showcase within your network!

    Check out the Qlik Learning FAQs we’ve prepared for you, and reach out to Qlik Learning at education@qlik.com if you have any additional questions.

    We can’t wait to hear about your experiences and what you love most about the new Qlik Learning!

    Show Less
  • Image Not found
    blog

    Support Updates

    Qlik Application Automation and Slack: Breaking changes March 11, 2025

    Starting March 11th, 2025, Slack will enforce changes in their APIs affecting file uploads. To accommodate these breaking changes, we have introduced ... Show More

    Starting March 11th, 2025, Slack will enforce changes in their APIs affecting file uploads. To accommodate these breaking changes, we have introduced new blocks in the Slack connector for Qlik Application Automation.

    What blocks are affected?

    • Upload File To Channel (new version)
    • Send Text Based file (new version)
    • Send Binary File (deprecated)

    What exactly is changing for Qlik Application Automation?

    The Send Binary File block will be deprecated. Instead, use the Upload File to Channel block to upload binary files. If you still want to send a base64 encoded string, use the Send Text Based File block and configure the encoding parameter to base64.

    The Upload File To Channel block and Send Text Based File block need to be updated to a new version. To perform this update, replace existing blocks with new blocks by dragging the blocks from the block library.

    What will I need to do to mitigate this?

    Any automation using affected blocks needs to be updated. 

    See Breaking changes for file support in the Slack connector: new blocks introduced for steps and details.

     

    Thank you for choosing Qlik,
    Qlik Support

     

    Show Less
  • Image Not found
    blog

    Qlik Academic Program

    India update: Data and AI related roles will dominate in 2025

    Indian IT hiring landscape is at a pivotal juncture as it transitions from a year of decline towards a more hopeful future. The focus on specialised s... Show More

    Indian IT hiring landscape is at a pivotal juncture as it transitions from a year of decline towards a more hopeful future. The focus on specialised skills, particularly in AI and data science, combined with geographical shifts towards Tier 2 cities, indicates a transformation within the sector. While the IT hiring landscape in India in 2024 was marked by delayed onboarding and a decline in overall hiring activity, the outlook for 2025 appears promising with expectations of recovery and growth fuelled by improvements in economic conditions and technological advancements.

     
    If you are a student or an educator, looking to get skilled in data analytics, leverage resources of the 
    Qlik Academic Program and get training, software, qualifications and certifications completely free!
    Show Less
  • Image Not found
    blog

    Product Innovation

    Qlik Sense November 2024 (Client-Managed) now available!

    Visualizations & Dashboards   Navigation Enhancements In July 2024 we introduced some major navigation enhancements across the platform, which are inc... Show More

    Visualizations & Dashboards

     

    Navigation Enhancements

    In July 2024 we introduced some major navigation enhancements across the platform, which are inclusive of both new features and existing enhancements. All of these components combined now allow for a more intuitive and fluid experience for everyone. The below bulleted items are the positively impacted areas by this release:

    • Navigation Menu
    • Sheet Navigation
    • Sheet Grouping
    • UI Settings

    QlikProductUpdates_0-1732573619684.png

     

    Our teams have been hard at work making robust accessible assets and resources to cover this topic in depth. For more information, whether high-level or the nitty-gritty, please check out the following:

    Pivot Table Improvements

    This is one of those times that we condone messing with a classic such as the Pivot Table, especially when you improve it with features just as classic, you know? Check out the new additions below!:

    • Add an image to a cell within the pivot table via URL
    • Copy a cell value
    • Export to image and PDF  
    • Monitor and snapshot your Pivot Tables
    • Ability to Subscribe!

    Cyclic Dimensions Improvements (based off customer feedback!)

    • Ability to now set an active field within the cyclic
    • Newly implemented expression based labels for both drill down dimensions and cyclic dimensions!

    Straight Table - Enhancements

    • Text styling by expression set the dimension or measure to any combination of bold, italic, underline, and strikethrough using a second expression with tags <b>, <i>, <u> and <s>.
    • Modifiers turn your measure into an accumulation, a moving average, a difference, or a relative number with a single drop down.
    • Image in cell via URL
    • Cell font styling

    QlikProductUpdates_1-1732573619930.png

     

    Improvements to Selection Bar

    • Custom themes can now be utilized to style the selection bar
    • Updates to how labels work with selection:
      • If the user has provided a label to a master dimension, then that label will be used rather than the field name in the underlying data model. This will improve usability and make it easier to create multilingual applications.

    QlikProductUpdates_2-1732573619886.png

     

    Combo Chart Updates

    • You now have the option to display labels on stacked measure segments
    • This new improvement was a special request from YOU! We are happy to announce we have now implemented adding labels to markers and a setting to toggle the grid.

    QlikProductUpdates_3-1732573619804.png

     

    Tab Container Changes + Bundled Charts

    • Tab Container: Please note that we have made changes to our container visualization within the viz bundle and you may now find it under the nomenclature: "Tab Container". The old container has moved over to the dashboard bundle and will shortly be deprecated.
    • Bundled Charts: All remaining dashboard and visualization bundle charts receive general styling!

     

    Data Prep

     

    Improved UX for Script Editing

    • The script editing experience has been improved in the Data load editor and now offers the same functionality as the Script editor. The editor now includes a data preview feature, allowing users to get better insight when writing script to load data.
    • Visual wizards have been added to easily write Store statements or include QVS files. The editor also adds usability improvements such as resizable panels and the possibility to preview the content of the included QVS files.

    New Functionality for Search & Replace

    • Users can now search and replace text within the expression editor in Qlik Sense apps, just as they can already do in the script editor and data load editor. This includes a "replace all" option, allowing for quick bulk edits within a single complex expression.
    • The usability of the expression editor has also been improved by adding a confirmation dialog when closing with unsaved changes.

    New Ability for Autocomplete Hints

    • Users can now enable or disable autocomplete hints when writing Qlik script in the script editor, data load editor, and expression editor.

     

    *Important Notice* 

    1) Attention Android Mobile Users

    If you are using an Android mobile device to access Qlik Sense through the mobile app, please do not upgrade to the November 2024 release just yet. The Android mobile client requires additional updates that weren’t ready in time for this release.

    Important Clarification -> Android users can still access Qlik Sense via a mobile web browser without any issues. This limitation only affects the Qlik Sense mobile app on Android.

    This update does not impact:

    • Users accessing Qlik Sense on iOS mobile devices.
    • Users accessing Qlik Sense on laptops, desktops, or other non-mobile platforms.
    • Android users using a web browser to connect to Qlik Sense.


    Only customers using Android mobile devices via the Qlik Sense mobile app are advised to delay upgrading until we release a patch to address this.

    We apologize for any inconvenience this may cause and appreciate your understanding. Our team is working diligently to complete the necessary updates, and we will notify you as soon as the patch is available.

     

    2) Add-on Upgrade Requirements

    View Support Updates for details on add-ons that must be upgraded, if you upgrade to Qlik Sense Enterprise on Windows November 2024.

    Thank you for your continued support! For questions or assistance, please reach out to our support team.

     

    Show Less