Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
After a long wait, Qlik Cloud has finally introduced a feature that can save a LOT of time for developers! 🙌
When loading data, if a field is duplicated, Qlik now tells you exactly which field is causing the problem. 🎯
Before this update, I had to manually search for the duplicated field — and sometimes there were hundreds of fields to go through. 😩🔎
Now? Qlik simply shows you the exact name of the duplicated field. 💥
Less manual work.
Less frustration.
More time to focus on what really matters: building things. 👨💻⚡
This may look like a small improvement, but for anyone working with large data loads, it’s a BIG deal! 🚀
This month, all eyes are on André, whose journey from New Zealand's insurance industry to the heart of London's data community shows exactly the kind of curiosity and drive that makes a great Qlik Community member. A dedicated Qlik customer for years, André brings real, hands-on experience to every thread he touches, and he's not shy about sharing it. We're thrilled to name him our Featured Member for September 2026!
André spent the last decade working in general insurance in New Zealand, starting out in underwriting before moving into BI and data. Most recently, he worked at Ando Insurance, where he worked across Qlik Cloud, Snowflake, and Salesforce, and embedded AI into BI workflows. While there, André had the opportunity to speak at Qlik Connect in 2024, and in 2025, Ando Insurance was recognized with the Qlik Organizational Transformation award at the Qlik Digital Transformation Awards Australia & New Zealand in Sydney.
“Explaining a set analysis expression, a load script pattern, or an automation block to someone else forces me to properly understand it.”
— André
For André, the Community has always been more than a resource, it's where he's worked through some of his toughest Qlik challenges over the years, usually by finding a thread where someone had already hit the same wall. Now, he pays it forward by answering questions himself, and he says he picks up plenty from other people's answers along the way too.
Outside of Qlik, André loves building things just for the fun of it, from a Raspberry Pi dev server to small apps and even a Qlik extension or two. He's also working on learning French (even after two months living in Lyon), and he's an avid tennis fan.
Thank you for bringing your expertise and generosity to the Qlik Community. Please join us in celebrating André as our September 2026 Featured Member, leave a comment below!
Hi All,
Basically am looking out for dynamic message box popup functionality where I can display any dynamic message externally.
There should not be any dependency on script/code changes from backend or front end in app.
I am trying to make changes in .txt or .xlsx external file which will be directly visible into app.
If i enter and dynamic message in .txt file and enable show option then it will show popup message on dashboard homepage and if i disable show option then popup message will be disappeared.
Regards,
KK
Hi All,
I want to pass a value in Search String of the Select in Field Action, which is dynamic and changes frequently.
Let's say, the field name is Product and it has value is in format 'Medicine_*'. Today it can be 'Medicine_Tablet', the next day it can be 'Medicine_Capsule', some other day it can be 'Medicine_Cream'.
Each day has a unique 'Medicine_*' value.
What Function/How would be the value/function in Search String value?
Select in Field - PRODUCT
Search String - 'Medicine_*'
i am looking to setup a couple interactive QlikSense dashboards per business request and would like to use Windows 10 Kiosk mode. i am not familiar enough with the program to know if it would be best to use the app or browser interface. my users are using via browser (chrome i believe).
@support any advisement on Kiosk configuration?
I have two jobs, that each have a tRestRequest in it. They both (via tRestRequest) listen to different paths (/api/test1 and /api/test2), but on the same port.
Is it possible to get these two jobs running on one Runtime, on the same port, and listening to the different paths?
When I'm deploying them right now, I get messages in the runtime about port conflicts.
On the tRestRequest component URL field, I have the port specified right now, the same port as the org.osgi.service.http.port setting in the org.ops4j.pax.web.cfg file under Runtime service.
Hi,
We were wondering if it's necessary to manage the "attrep" control tables (such as "attrep_apply_exceptions" and "attrep_history"), or if Qlik Replicate handles the flushing of these tables automatically?
Hi All,
I've noticed that after the reload of today that a lot of records are not loaded in the dashboard.
The selection is the same as the previous days and also the file was available.
This is a part of the log of Yesterday.
I load 2 files in the table.
In the first file are 33,598,635 records.
The second file 56,329,459 - 33,598,635 = 22,730,824 records.
33,598,635 lines fetched
20260903T112456.545+0200 1230 next
20260903T112456.546+0200 1180 let vFile = 'TRX_H_' & 2026 & '.QVD'
20260903T112456.550+0200 1181 concatenate
20260903T112456.550+0200 1182 TRX_H:
20260903T112456.550+0200 1183 LOAD
20260903T112456.550+0200 1184 AutoNumber(TRX_H_TYPE & TRX_H_DTME & TRX_H_DTMJ & TRX_H_DTMM & TRX_H_DTMD & TRX_H_UURT & TRX_H_STNR & TRX_H_REF & TRX_H_SEQ,'Key_TRXD') as Key_TRXD,
20260903T112456.550+0200 1185 AutoNumber(TRX_H_TYPE & TRX_H_DTME & TRX_H_DTMJ & TRX_H_DTMM & TRX_H_DTMD & TRX_H_UURT & TRX_H_STNR & TRX_H_REF & TRX_H_SEQ,'Key_TRXF') as Key_TRXF,
20260903T112456.550+0200 1186
20260903T112456.550+0200 1187
20260903T112456.550+0200 1188
20260903T112456.550+0200 1189
20260903T112456.550+0200 1190
20260903T112456.550+0200 1191 num(makedate(TRX_H_DTME & num(TRX_H_DTMJ,'00'),TRX_H_DTMM,TRX_H_DTMD)) as Datumtransactie,
20260903T112456.550+0200 1192
20260903T112456.550+0200 1193 if(0 = 1,
20260903T112456.550+0200 1194 Applymap('PBY_Map',num(TRX_H_STNR,'00000') & Left(num(TRX_H_REF,'0000000000'),4),num(Today())),
20260903T112456.550+0200 1195 num(makedate(TRX_H_DTME & num(TRX_H_DTMJ,'00') ,TRX_H_DTMM , TRX_H_DTMD))) as DatumNum,
20260903T112456.550+0200 1196
20260903T112456.550+0200 1197
20260903T112456.550+0200 1198 Left(num(TRX_H_UURT,'000000'),2) & ':' & Mid(num(TRX_H_UURT,'000000'),3,2) as Uur_Getankt,
20260903T112456.550+0200 1199
20260903T112456.550+0200 1200 Left(num(TRX_H_UURT,'000000'),2) as Uur,
20260903T112456.550+0200 1201 Left(num(TRX_H_UURT,'000000'),2) & ':' & mid(num(TRX_H_UURT,'000000'),3,2) & ':' & left(num(TRX_H_UURT,'000000'),2) as UurSec,
20260903T112456.550+0200 1202 num(TRX_H_STNR,'00000') as Stationnummer,
20260903T112456.550+0200 1203
20260903T112456.550+0200 1204
20260903T112456.550+0200 1205
20260903T112456.550+0200 1206 if(TRX_H_SHF=0, 'Terminal', TRX_H_SHF) as Shift_Id,
20260903T112456.550+0200 1207 TRX_H_STNR & '-' & if(len(trim(TRX_H_OPID)) = 0 or TRX_H_OPID = ' ' ,'Terminal', trim(TRX_H_OPID)) as Operator_Id,
20260903T112456.550+0200 1208 if(len(trim(TRX_H_OPID)) = 0 or TRX_H_OPID = ' ' ,'Terminal', 'Shop') as Terminal_Shop,
20260903T112456.550+0200 1209
20260903T112456.550+0200 1210
20260903T112456.550+0200 1211
20260903T112456.550+0200 1212
20260903T112456.550+0200 1213 TRX_H_CUST as KeyCust,
20260903T112456.550+0200 1214 if(len(trim(TRX_H_ID)) > 0,TRX_H_ID, TRX_H_PAN) as Firmakaart,
20260903T112456.550+0200 1215 'KL' & num(TRX_H_CUST,'00000') as Klant_Lev_Nummer,
20260903T112456.550+0200 1216 applymap('KLANT_MAP', 'KL' & num(TRX_H_CUST,'00000'),'UNKNOWN') as Klant_Naamtest,
20260903T112456.550+0200 1217 TRX_H_PAN,
20260903T112456.550+0200 1218
20260903T112456.550+0200 1219 TRX_H_ODO as Km_Stand,
20260903T112456.550+0200 1220
20260903T112456.550+0200 1221 TRX_H_CARR as Plaatnummer,
20260903T112456.550+0200 1222 TRX_H_TTNA as TRXHTotal
20260903T112456.550+0200 1223 FROM
20260903T112456.550+0200 1224 [..\03_QVD\TRX_H_2026.QVD]
20260903T112456.550+0200 1225 (qvd)
20260903T112456.550+0200 1226 where num(makedate(TRX_H_DTME & num(TRX_H_DTMJ,'00'), TRX_H_DTMM,TRX_H_DTMD)) >= 45658 and len(trim(TRX_H_STNR)) > 0 and TRX_H_STNR <= '1000'
20260903T112456.555+0200 19 fields found: Key_TRXD, Key_TRXF, Datumtransactie, DatumNum, Uur_Getankt, Uur, UurSec, Stationnummer, Shift_Id, Operator_Id, Terminal_Shop, KeyCust, Firmakaart, Klant_Lev_Nummer, Klant_Naamtest, TRX_H_PAN, Km_Stand, Plaatnummer, TRXHTotal,
20260903T114353.975+0200 56,329,459 lines fetched
This is the a part of the log of the reload of today.
Also in the first file I have less records then the day before (it should be more)
And in the second file I have almost no records loaded.
30,883,385 lines fetched
20260904T062431.542+0200 1230 next
20260904T062431.559+0200 1180 let vFile = 'TRX_H_' & 2026 & '.QVD'
20260904T062431.590+0200 1181 concatenate
20260904T062431.590+0200 1182 TRX_H:
20260904T062431.590+0200 1183 LOAD
20260904T062431.590+0200 1184 AutoNumber(TRX_H_TYPE & TRX_H_DTME & TRX_H_DTMJ & TRX_H_DTMM & TRX_H_DTMD & TRX_H_UURT & TRX_H_STNR & TRX_H_REF & TRX_H_SEQ,'Key_TRXD') as Key_TRXD,
20260904T062431.590+0200 1185 AutoNumber(TRX_H_TYPE & TRX_H_DTME & TRX_H_DTMJ & TRX_H_DTMM & TRX_H_DTMD & TRX_H_UURT & TRX_H_STNR & TRX_H_REF & TRX_H_SEQ,'Key_TRXF') as Key_TRXF,
20260904T062431.590+0200 1186
20260904T062431.590+0200 1187
20260904T062431.590+0200 1188
20260904T062431.590+0200 1189
20260904T062431.590+0200 1190
20260904T062431.590+0200 1191 num(makedate(TRX_H_DTME & num(TRX_H_DTMJ,'00'),TRX_H_DTMM,TRX_H_DTMD)) as Datumtransactie,
20260904T062431.590+0200 1192
20260904T062431.590+0200 1193 if(0 = 1,
20260904T062431.590+0200 1194 Applymap('PBY_Map',num(TRX_H_STNR,'00000') & Left(num(TRX_H_REF,'0000000000'),4),num(Today())),
20260904T062431.590+0200 1195 num(makedate(TRX_H_DTME & num(TRX_H_DTMJ,'00') ,TRX_H_DTMM , TRX_H_DTMD))) as DatumNum,
20260904T062431.591+0200 1196
20260904T062431.591+0200 1197
20260904T062431.591+0200 1198 Left(num(TRX_H_UURT,'000000'),2) & ':' & Mid(num(TRX_H_UURT,'000000'),3,2) as Uur_Getankt,
20260904T062431.591+0200 1199
20260904T062431.591+0200 1200 Left(num(TRX_H_UURT,'000000'),2) as Uur,
20260904T062431.591+0200 1201 Left(num(TRX_H_UURT,'000000'),2) & ':' & mid(num(TRX_H_UURT,'000000'),3,2) & ':' & left(num(TRX_H_UURT,'000000'),2) as UurSec,
20260904T062431.591+0200 1202 num(TRX_H_STNR,'00000') as Stationnummer,
20260904T062431.591+0200 1203
20260904T062431.591+0200 1204
20260904T062431.591+0200 1205
20260904T062431.591+0200 1206 if(TRX_H_SHF=0, 'Terminal', TRX_H_SHF) as Shift_Id,
20260904T062431.591+0200 1207 TRX_H_STNR & '-' & if(len(trim(TRX_H_OPID)) = 0 or TRX_H_OPID = ' ' ,'Terminal', trim(TRX_H_OPID)) as Operator_Id,
20260904T062431.591+0200 1208 if(len(trim(TRX_H_OPID)) = 0 or TRX_H_OPID = ' ' ,'Terminal', 'Shop') as Terminal_Shop,
20260904T062431.591+0200 1209
20260904T062431.591+0200 1210
20260904T062431.591+0200 1211
20260904T062431.591+0200 1212
20260904T062431.591+0200 1213 TRX_H_CUST as KeyCust,
20260904T062431.591+0200 1214 if(len(trim(TRX_H_ID)) > 0,TRX_H_ID, TRX_H_PAN) as Firmakaart,
20260904T062431.591+0200 1215 'KL' & num(TRX_H_CUST,'00000') as Klant_Lev_Nummer,
20260904T062431.591+0200 1216 applymap('KLANT_MAP', 'KL' & num(TRX_H_CUST,'00000'),'UNKNOWN') as Klant_Naamtest,
20260904T062431.591+0200 1217 TRX_H_PAN,
20260904T062431.591+0200 1218
20260904T062431.591+0200 1219 TRX_H_ODO as Km_Stand,
20260904T062431.591+0200 1220
20260904T062431.591+0200 1221 TRX_H_CARR as Plaatnummer,
20260904T062431.591+0200 1222 TRX_H_TTNA as TRXHTotal
20260904T062431.591+0200 1223 FROM
20260904T062431.591+0200 1224 [..\03_QVD\TRX_H_2026.QVD]
20260904T062431.591+0200 1225 (qvd)
20260904T062431.591+0200 1226 where num(makedate(TRX_H_DTME & num(TRX_H_DTMJ,'00'), TRX_H_DTMM,TRX_H_DTMD)) >= 45658 and len(trim(TRX_H_STNR)) > 0 and TRX_H_STNR <= '1000'
20260904T062431.629+0200 19 fields found: Key_TRXD, Key_TRXF, Datumtransactie, DatumNum, Uur_Getankt, Uur, UurSec, Stationnummer, Shift_Id, Operator_Id, Terminal_Shop, KeyCust, Firmakaart, Klant_Lev_Nummer, Klant_Naamtest, TRX_H_PAN, Km_Stand, Plaatnummer, TRXHTotal,
20260904T062456.643+0200 31,170,105 lines fetched
Who has an idea why he is not loading all data?
The data is the transaction header out of a shop. So every day there should be more records.
If I doe now a reload of the trx_h_2026 with the same selections in my desktop, this is the result.
Who can help me with this?
Hy everyone! I am participatin in a university hachathon where we are analyzing public disaster relief funds alongside socieconomic indicators like HDI and population size.
As a data analysis student, I`d like to ask: What are the best practices or recommended data modeling techniques in Qlik Sense to combine public financial records with demographic indicators without causing synthetic keys or circular references? Thanks in advance!
Hi All,
I need to calculate Age based on Date of birth("DOB") column, but it should change dynamically if we make a selection for any previous "Fiscal year" or "Fiscal month" in Qlik sense.
Looking forward to your suggestions.
Thanks & Regards,
Manmeet Dhawan
Here’s your agentic AI readiness check. (Got Qlik? You're closer than you think.)
Walk through six new AI capabilities now generally available in Qlik and start applying agentic data engineering to your team’s workflows.
Set your course for six weeks of expert-led sessions on data, analytics, and AI — available on demand.
Built for the builders: Modern data engineering is AI powered — and engineer led.
The pilot-to-production gap is real. From fragmented data to governance gaps Qlik and AWS break down what’s holding your enterprise AI back — and how to solve them.
Your journey awaits! Join us by Logging in and let the adventure begin.