In this blog post, we'll cover two new features of Qlik Answers that you may not be aware of.
Fast mode
Download conversation as PDF
Fast Mode
Qlik Answers Fast mode delivers quick, concise responses to simple questions using your structured data. It is ideal for questions that can be answered directly, without deep analysis. For complex questions that require more analysis, use Thinking mode. And don’t worry, if you ask a question in Fast mode that requires more analysis, Qlik Answers will recommend that you switch to Thinking mode. Fast mode and Thinking mode can be used interchangeably in a single conversation.
You can learn more about Fast mode here:
Demo Tour
Video
Download Conversations as PDF
Now, you can download your Qlik conversations for future reference or to share with others. There are two ways you can do this. You can download a chat once Answers has responded to your question. The download button will appear as shown below. When you click it, a PDF of the Qlik Answers chat will be downloaded. The download feature is available for chats created after this feature’s release.
Qlik Answers chats can also be downloaded from the Feedback tab in an assistant, but this requires the audit admin role. To view chats, open an assistant and go to the Feedback tab. Click on the three ellipses at the end of a row and select View answer details. From here, you can review and download the chat.
Fast mode and chat downloads are both live in Qlik Answers today, and they're built to make your workflow quicker and your insights easier to share. Ask a question in Fast mode next time you need a quick answer and download a chat any time you want to keep a record or bring a colleague up to speed.
Thanks,
Jennell
...View More
If you have worked with point maps in Qlik, you are probably familiar with how selections normally work. You zoom into an area, use the lasso tool to draw around the points you want, confirm the selection, and repeat the process if you want to explore somewhere else.
Qlik Cloud now supports another option for point layers called Auto select visible:Instead of manually selecting points, you move around the map and Qlik updates the selection based on the area you are viewing. Zoom into Philadelphia and the locations in that area are selected. Pan over to another city and the selection changes with the map.
There is a little more happening behind the scenes, though. Before you turn on Auto select visible, you first need to create a Spatial Index for your location data. In this post, I’ll walk through what that means and how you can try it yourself with a simple example.
What changed?
The idea of selecting visible locations is not completely new to Qlik. Auto Select Visible existed in the GeoAnalytics map extension before it became available in the native Qlik Cloud map.
What changed recently is that you can now use this behavior directly in the native Qlik map chart. You no longer need the old GeoAnalytics map extension, but you still use GeoOperations to create the Spatial Index that the map relies on.
The easiest way to think about the workflow is that there are two parts. During reload, GeoOperations prepares the Spatial Index and adds it to your data model. Once the app is loaded, the native Qlik map uses that index as the user pans and zooms.
What is a Spatial Index?
A Spatial Index is a way of organizing geographic data so Qlik has a more efficient way to understand where points are located.
Imagine a grid placed over your map. Each location belongs to one or more cells in that grid, depending on the level of detail. Qlik creates several levels of these cells so it has smaller cells for detailed views and larger cells for wider geographic views.
When GeoOperations creates the index, you will see fields such as SpatialIndex, SpatialIndexLevel2, SpatialIndexLevel3, and so on. These values represent cells in the spatial grid.
This is useful because Qlik does not need to treat every map movement as a completely new geographic calculation across all of your points. It already has a spatial structure that tells it how those locations are grouped geographically.
Why does this need to happen in the load script?
The reason is that the map setting and the Spatial Index have different jobs. The Spatial Index prepares your location data during reload. "Auto select visible" then uses that prepared information while interacting with the map.
So the Spatial Index is created once when the app reloads instead of being rebuilt every time somebody pans or zooms the map.
GeoOperations connection
You need GeoOperations to create the Spatial Index, but you do not have to build the script manually.
If you create a Qlik GeoOperations connection, you can select Spatial Index from the available operations, choose your fields, and let Qlik generate the script for you. This is probably the easiest option if you are using the feature for the first time.
You can also write the GeoOperations ScriptEval call directly in the Data load editor.
Try it with a simple example
Attached to the post is a QVF that uses a demo dataset containing SiteID, SiteName, Metro, State, Latitude, Longitude, MonthlyRevenue, and Customers.
Step 1: Load the locations
First, upload the CSV into DataFiles in your Qlik Cloud app or space. Then load it using the following script:
Sites:
LOAD
SiteID,
SiteName,
Metro,
State,
Num#(Latitude, '0.000000', '.', ',') as Latitude,
Num#(Longitude, '0.000000', '.', ',') as Longitude,
Num#(MonthlyRevenue, '0.00', '.', ',') as MonthlyRevenue,
Num#(Customers, '0', '.', ',') as Customers,
GeoMakePoint(
Num#(Latitude, '0.000000', '.', ','),
Num#(Longitude, '0.000000', '.', ',')
) as SitePoint
FROM [lib://DataFiles/qlik_spatial_index_demo_20k.csv]
(txt, codepage is 28591, embedded labels, delimiter is ',', msq);
The important part here is SitePoint. Our CSV stores latitude and longitude separately, so GeoMakePoint combines them into the geographic point field we will use on the map and pass to GeoOperations.
Step 2: Create the Spatial Index
Once the Sites table is loaded, we can pass it through the GeoOperations Spatial Index operation.
[SiteSpatialIndex]:
LOAD *
EXTENSION GeoOperations.ScriptEval('
SELECT
SiteID,
SpatialIndex,
SpatialIndexLevel2,
SpatialIndexLevel3,
SpatialIndexLevel4,
SpatialIndexLevel5,
SpatialIndexLevel6
FROM SpatialIndex(
gridSize="0.002",
gridWidthHeightRatio="1.5",
nLevels="6",
levelFactor="4"
)
DATASOURCE dataset INTABLE
keyField="SiteID",
pointField="SitePoint",
crs="auto"
', Sites);
The two fields that matter most here are keyField and pointField. SiteID connects the generated index back to the original Sites table, while SitePoint tells GeoOperations which geographic field should be indexed.
For this example, I am also using a gridSize of 0.002. I originally tested the default value of 0.04, but at a detailed street-level zoom it grouped too many nearby locations into the same grid cell. Reducing it to a lower number gave the demo much more precise selections when zooming into individual points.
After the reload, your data model will contain the original Sites table and the SiteSpatialIndex table, associated through SiteID.
Step 3: Create the map
Now add a native Map chart and create a Point layer. Use SiteID as the dimension and SitePoint as the location field.
Once the point layer is working, go into Map settings and change Zoom behavior from Auto zoom to Auto select visible. A Spatial index option will appear underneath it. Select SpatialIndex.
At this point, start zooming and panning around the map. Qlik will update the selection as the visible area changes.
Auto zoom versus Auto select visible
It is also worth understanding how this differs from the default Auto zoom behavior.
With Auto zoom, you make a selection somewhere in the app and the map moves to show the selected locations. Auto select visible works in the opposite direction. You move the map yourself, and the map view drives the selection.
Why might I see more selected sites than visible points?
Spatial Index selections work with grid cells, not individual screen pixels. If several locations fall inside the same spatial index cell, those sites can all become associated with the selection even when only one point appears inside a tightly zoomed map view.
That is where gridSize becomes important. A larger grid size creates larger cells, which is useful when users normally work at wider geographic views. A smaller grid creates more detailed cells and gives you more precise behavior when users zoom down to individual streets or locations.I attached the sample CSV and complete load script so you can try the same setup in your own Qlik Cloud tenant.
Thank you for reading!
...View More
In this blog post, I will cover three new features in Qlik Cloud:
Subtotals in the straight table
Exit error
Creating text and image objects from pasted images
These are small features, but useful improvements that can be used when building your analytics apps.
Subtotals in the Straight Table
The first is the ability to add a subtotal row to a straight table. This is something we are used to seeing in a pivot table but not a straight table. Developers can now toggle on Show subtotals in a dimension field of their straight table to add subtotal rows.
Once Show subtotals is toggled on, the Label property becomes available allowing the developer to rename the label. In the table, a subtotal row is added for each asset class.
Exit Error
The second new feature is Exit Error, which is used in the script to end the execution of the script with a user defined error message. The syntax as found in Qlik Help looks like this:
Exit Error expression [(when | unless condition)]
For example, assume you are loading data in a table, and you want to exit the script execution if no data has been loaded. Using Exit Error, a variable can be checked (or some other condition) to determine if there are rows in a table that was previously loaded. If there are, continue with the script; if not, exit the script with a message. In this example, the vOpenOrders variable will be 0 if there are no rows in the table.
If the variable vOpenOrders is equal to 0, then exit the script and show the message “No open orders were loaded.” This is how the error will appear.
Creating Text and Image Objects from Pasted Images
The last new feature is a cool shortcut to create a text object or an image object. Simply paste text or an image onto an empty area on a sheet and a new text object or image object will be created. In the case of images, the pasted image will be automatically saved to the media library – a time saver. On the sheet below, I pasted this text: “I am going to create an image with this text.” and this image:
And a text object and image object were created without any additional work from me.
Note that the developer will need upload permissions for the image to be added to the media library.
That's three new ways Qlik Cloud is making app development easier — smarter subtotals, cleaner error handling, and a slick shortcut for pasted content. Small features, big time savings. Try them out in your next app and stay tuned for more updates coming soon.
Thanks,
Jennell
...View More
The 2026 World Cup kicks off today!
A few weeks ago, I published a post on how we built Choose Your Champion 2026, a World Cup bracket app powered by Qlik. That post went into the technical details: the data model, the ML experiment in Qlik Predict, the React front end. If you haven't read it, start there.
So far, 90+ brackets have been submitted. One of them wasn't filled out by a person at all. It was generated by the machine learning model we trained with Qlik Predict, using FIFA rankings, player ratings, and head-to-head history. The model has Spain winning it all!
Here's mine, and here's Qlik Predict's.
If you haven't filled one out yet, do it here. Once you're in, use the Compare button on the leaderboard to see where your picks differ from mine, or from the model's. Brackets get scored automatically as matches are played, so the leaderboard will keep moving all the way to the final on July 19.
We also opened up a Choose Your Champion space on Qlik Community. That's where we'll be posting leaderboard updates during the tournament, and where you can share your bracket, ask questions about the app, or make your case for why the model got it wrong.
If you're interested in the broader question of when models beat human intuition (and when they don't), take a look at Model vs. Mastery.
Enjoy the tournament!!
...View More
Our Data Products Storylane has been given a revamp!
TAKE THE TOUR
Data Products are highly trusted, re-usable, and consumable data assets. Data elements such as raw data, transformations, data quality rules, contracts, access patterns, and infrastructure have been organized into a single cohesive unit to align with specific requirements and objectives of a business to create a Data Product.
Data Products come with the Qlik Trust Score, a score given to data products based on seven factors, Validity, Completeness, Discoverability, Usage, Timeliness, Accuracy, and Diversity. The Qlik Trust Score ™ gives you confidence in the quality and health of your Data Products so you can be empowered when using them throughout your business. You can also view the Data Product Lineage, which is a flow chart that shows you the origin of the Data Product, so you can track it down to its source. Available Data Products can be found in the Data Marketplace, a collection of Data Products that are ready for use.
If you want to learn even more about Data Products, Datasets, Data Quality and Data Validation Rules check out Mike Tarallo's video series here:Data Products for Qlik Analytics
...View More
A table recipe is an easy, no-code way to prepare a data set for an app, data flow, script or ML experiment. It is a great way for new users to prepare their data and get started building an app without having to write the script to transform the data. It can also be used by experienced users for quick data prep. Table recipe is available in Qlik Cloud Analytics from the Analytics activity center > Prepare data. You can also access it from the + Create menu option or + Create New button in the catalog. To begin using it, open table recipe, give it a name and select the space you would like to create it in. Once that is done, you will be prompted to select the data set. Note - the table recipe processes one data set at a time.
Once a data file is selected, you can view the fields to confirm it is the correct data set and then you can load it into table recipe. Once it is loaded, you will see a pop up indicating the number of rows and columns in the dataset. Note that all the rows may not be loaded into the table recipe editor, but the recipe will be applied to the entire data set when it is run. Below is a look at the table recipe. On the left is the functions panel that includes several functions that can be used to prepare the data. Functions are grouped as general, columns, strings, dates, numbers and math. On the right is where the steps in our recipe will be added.
Let’s begin with a simple step like deleting a column. I have a Fax column that I do not need so to delete the column; I can click on the column menu (three vertical dots) and select Delete column.
The step will appear on the right in the table recipe, and I can click Apply to remove the Fax column.
Next, let’s split a column into two new columns. I have a Contact Name field with the contact’s full name. I would like to split the name into two fields – one for first name and one for last name. To do this, I will select the Split column function from the list of string functions on the left. Then I can update the details and apply the step. I will change the separator to a space since that is what separates the first and last name in the ContactName column.
Once I apply that step, I can see the two new fields it generated.
I will open the column menu and select Rename column to change the names of the new columns. Once I apply those steps, the columns and the recipe look like the image below. Keep in mind that the table recipe has steps that flow in a specific order. If those steps were to change, you may not get the expected results. For example, if I moved the rename column step above the split column step it would not work because the column I am renaming does not exist yet.
It is also easy to reorder the columns with the table recipe. The Reorder column function is found in the function group named Columns. Simply, select the column you would like to move and click on the Reorder column function. To move the Address column to the left of the City column, I will select the City column from the Anchor column drop down and then click Apply.
We are also able to apply filters to the data if we want to focus on specific rows. In this example, Country has two different values for the United States – USA and US. I would like to change the US values to USA.
After applying the filter, I can see that I have 6 rows with US as the Country. I can use the string Search and replace function to replace US with USA.
This step included my filter, so it only applied it to the rows I have filtered on.
Let’s perform one more step that I use all the time when loading data. We will extract date parts from the OrderDate field. This will allow us to create other date fields such as month and year fields. If I select the OrderDate field and then select the date function Extract date parts, I am presented with all the possible date part fields I can add as a column to my data set. I simply can toggle on any new fields I would like to add.
Once this step is applied, I can see the 4 new date fields I added.
When all the steps have been added to the table recipe, the next steps are to set the target and run the recipe. Setting the target is nothing more than giving the target file a name and file type (qvd, parquet, txt or csv) and selecting the space to create it in.
What is nice about the table recipe is the steps are applied and stored in a new file, separate from the original data set, so you do not have to worry about incorrectly modifying the data set. Once the target is set, the Incomplete recipe message at the top of the page will change to Valid recipe and the Run recipe button will be enabled. Once the recipe is run, you can view your new data set and use it accordingly. The target data set will be stored in the desired space and can be accessed anytime via the catalog.
Notice how all these steps we are creating are very easy and intuitive to build. You do not have to be an expert to perform these steps, and the editor is very user friendly and has a clean flow. What is also nice is that you can see that each step is working as expected when you apply it. Take this product tour to get a feel for the table recipe and then try it for yourself. To learn more, check out Qlik Help.
Thanks,
Jennell
...View More
Hey guys join @Jennell_Yorkmanand I for a quick community resource update as we highlight some of the latest ideas, enhancements, and best practices being shared across the Qlik Design Blog and Qlik Community.
From dashboard design and developer capabilities to visualization techniques and platform improvements, this session is a fast-paced roundup of useful content and community-driven insights to help you get more out of Qlik. Whether you’re building apps, designing dashboards, or exploring new capabilities, this is a great way to stay connected with what’s happening across the Qlik ecosystem.
Register here LinkedIn Live
...View More
Today I want to introduce you to a gem that you may be missing out on. It is the Do More with Qlik community forum lead by @Michael_Tarallo. This forum is made up of concise videos that cover everything from Qlik capabilities to innovative ways to solve business challenges. It is for users of all levels, beginners to seasoned Qlik users, with a wide range of topics. Check out this introductory video to learn more and bookmark the forum. You do not want to miss out on this!
Thanks,
Jennell
...View More