Skip to main content Skip to complementary content

Accessing cloud databases directly with Direct Query

Use Direct Query to read SQL databases without having to import or load the data in memory.

Direct Query gives the user more options on how they want to access their data in order to suit their individual needs. Accessing the data through Direct Query allows the user to keep the data in its underlying data source. This increases the speed at which users can interact with their data in exchange for the flexibility that an in-memory Qlik Cloud app offers.

In general, it is recommended that you import your data into Qlik Cloud whenever possible. In-memory Qlik Cloud apps allow you to better customize your experience and get the most out of your data. However, if you find yourself in a situation where your goals cannot be met by importing data, Direct Query might be the solution for you. Due to their streamlined functionality, Direct Query apps can also help new users take their first step towards creating fully functional and fast in-memory apps.

You can create your Direct Query app using Data model manager to help select tables and fields, and define relationships between them. For more information, see Creating a Direct Query app.

You can also use custom SQL in the load script to define the data model for your Direct Query app. This allows you to use variables and Qlik expressions while building your data model. For more information, see Creating a Direct Query app with custom SQL.

Direct Query use case examples

You might consider using Direct Query instead of in-memory apps in the following cases:

Direct Query use cases
Use case Purpose and description
Big data sources Direct Query is faster to initialize and less resource intensive for apps with more than 20 million rows. This can be very helpful when your apps are used primarily for monitoring or status reporting, where only a few or no selections are made.
Efficient in-memory apps Direct Query provides functionality to quickly and easily extract data slices into the Qlik Cloud engine with filtering applied across all affected tables. For more information, see Exporting Direct Query app settings to a template app
Direct Query for writeback When writeback based on Qlik Application Automation is set up to modify underlying database data, Direct Query can show the modified database results directly. The same functionality in an in-memory app would require the user to import the modified tables again.
Exploring new databases and tables Direct Query can be used to explore new or unfamiliar databases and tables. This allows the user to make an informed decision on whether data needs to be imported from the underlying data source.

Tutorials

For a tutorial about how to use Qlik Sense apps, see Tutorial - Beginning with the Basics.

For a tutorial about Direct Query, see the following:

Information noteThe Direct Query capability in Qlik Cloud is different from the Direct Query statement in QlikView. For more information, see Direct Query.

Supported capabilities

Direct Query apps have different capabilities compared to in-memory apps.

Direct Query supports the following:

  • Data connection types:

    Information noteIt is not possible to use Qlik Data Gateway - Direct Access data connections in Direct Query.
    • Amazon Redshift

    • Azure SQL

    • Azure Synapse Analytics

    • Databricks

    • Google BigQuery

    • Microsoft SQL Server

    • PostgreSQL

    • Snowflake

    • Information noteA subset of scalar functions are supported in the data connections.
  • In-memory data analysis emulation:

    • A subset of set analysis.

    • Multi-table charts over arbitrary complex models. Existing model requirements for in-memory apps will still be in place. For example, association loops between tables are not allowed.

    • Basic aggregation types:

      • Sum

      • Count

      • Min

      • Max

      • Avg

      • Only

    • Pre- and post-aggregation calculations, based on function and operation set provided by the underlying database.

  • Table relationship types:

    • Inner join

    • Full outer join

  • Iterative modeling and dashboard creation.

  • Visualization features:

    • Standard charts:

      • Bar chart

      • Bullet chart

      • Button

      • Combo chart

      • Container

      • Filter pane

      • Gauge

      • KPI

      • Line chart

      • Map

      • Mekko chart

      • Pie chart

      • Scatter plot

      • Table

      • Text & image

      • Waterfall chart

    • Dashboard bundle:

      • Video player

      • Variable input

    • Visualization bundle:

      • Funnel

      • Multi KPI

      • Radar

      • Sankey Word cloud

  • A subset of field search capabilities:

    • A search string without special symbols (for example, "*" and "?" for pattern search, or "=" for expression-based search) is interpreted as a prefix search over full string value.

    • Pattern search symbols and capabilities:

      • "*" - any 0 or more symbols

      • "?" - any single symbol

    • Range-based search (based on ">", "<", ">=", "<="):

      • For numerical values, the lower/upper boundaries are detected based on the numerical value. For example, >10<100 is equivalent to <100>10. Both are interpreted as [SearchedField] > 10 AND [SearchedField] < 100.

      • For other data types, the lower/upper boundaries are detected by their order in the search condition. For example, >Value1<Value2 is not the same as <Value2>Value1. In the second case, Value2 is assumed to correspond to the lower boundary and will be interpreted as [SearchedField] < Value2 OR [SearchedField] > Value1.

    • Expression-based search, assuming the expression meets Direct Query limitations.

    Information noteFor a complete list of in-memory search capabilities, see Searching within selections or visualizations.

Learn more

 

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!