Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I'm getting very confused over looping and grouping in the data mapper (which I would be calling via a tHMap in a regular Data Integration job).
In essence we are receiving digital files for archiving, with a set of CSV metadata files which describe various aspects of the records. This metadata needs to be reformatted (joining data from across the original metadata files) and transformed, ultimately producing a set of JSON files, one per transferred digital file, so that we can send these (plus the digital files where appropriate - some files are restricted from public access for a set period so in that case we send only the metadata). Within this there can be multiple reasons why a file has public access restrictions, in the original metadata these are provided as a semicolon separated list within a single field. Independently of the access restrictions, there can also be a list of catalogue references to provide information about particularly close relationships between records. Similarly these are also provided as a semicolon separated list.
For the output JSON we have a JSON schema so I've created a structure from that (though this covers a wider range of use cases than is likely to occur in our particular usage, so some potential output fields wouldn't actually receive and data as we don't have appropriate data to put into them).
To try and create the input structures, I linked rows to the tHMap in the data integration job, the main row has normalised data with the list of reasons for an access restriction split out into individual values, with the other values repeated. There is an id value which acts as a key, so in the hierarchy these should be grouped together with the access restriction reasons going into an array.
Then there's a lookup with the normalised data for the relationships to other records, again these have the record id associated with each row in the lookup.
I think one problem may be that the structure for the output is based on a single record, but we have multiple records coming in on the other side, so I guess I either need to iterate over individual records somehow on the input side, or and a wrapper on the output, and then figure out how to split it up into individual JSON files, one per record later in the main job?
Then I can't figure out how to set up the looping and grouping so that this all comes together as required.
I can provide some screen shots of what I've got so far, or some (slightly simplified) example data which preserves the main points of what I've described above, but doesn't include every field in the actual data we're processing as there's rather a lot, and most of it doesn't have any bearing on the looping and grouping.
I hope this makes some sense: I'm a bit sleep deprived today too, which isn't helping.
Thanks
Hi,
Has anyone ever seen this error before? I encountered it on a logstream task:
00011524: 2026-10-04T03:00:01 [SORTER ]W: The record timestamp is at least 10 minutes later than the Replicate server time. Operation: BEGIN (6); Timestamp: Sat, 03 Oct 2026 17:00:47 GMT (1791046847000000); Replicate server time: Sat, 03 Oct 2026 16:00:01 GMT (1791043201849893); Stream position: 00000000.19489301.00000001.0000.00.0000:5773.491108.16 (sorter_transaction.c:204)
Thanks,
Mohammed
In Qlik Replicate version 2025.11.0.770 we are getting this error:
Hello,
I’ve configured a Log Stream task to read from a Microsoft Azure SQL database, along with a replication task that reads from this Log Stream and replicates data to a Databricks Lakehouse (Delta) endpoint.
Among the replicated tables, there is one with about 380 million records and 18 columns, which accumulates between 200,000 and 400,000 changes during the full load, which typically takes several hours.
Over the past few weeks, once the full load of this table completes, the task has been unable to apply the changes to Databricks. Specifically, the task tries to apply the DELETE operations on the table and remains in running state for tens of hours without completing the operation successfully.
The DELETE operation has this form:
DELETE FROM my_database.target_table T
WHERE EXISTS (
SELECT C.seg1
FROM my_database.attrep_changes_table C
WHERE (
T.primary_key = CAST(C.seg1 AS INT)
OR (T.primary_key IS NULL AND C.seg1 IS NULL)
)
AND C.seq >= 1
AND C.seq <= 200100
);We have tried several alternatives to solve the problem, including:
Unfortunately, none of these attempts was successful.
However, we verified that the following DELETE operation runs in 30 seconds on Databricks:
DELETE FROM my_database.target_table
WHERE primary_key IN (
SELECT CAST(seg1 AS INT)
FROM my_database.attrep_changes_table
WHERE seq BETWEEN 1 AND 200100
AND seg1 IS NOT NULL
);Is it possible to configure the replication task to run DELETE operations using the syntax above?
I understand that Qlik Replicate provides internal parameters to customize the SQL syntax it generates, such as $info.query_syntax.create_table for table creation. Is there an equivalent parameter for DELETE operations? If so, how could we set it so that the task uses the syntax shown above? If no such parameter exists, is there an alternative way to achieve the same result?
Thank you in advance for your support.
Best regards
Hello everyone,
my department and I are currently bulding a new BI-Department.
At the moment I'm loading the TABLES from SF into Qlik. But I also have usecases where I have to concatenate several Tables.
One Engineer pointed out to my, why we're not using the views. So I tried to find usecased where people are using views and where the tables.
Unfortunately we have nobody in our team who is experienced in this kind of topic.
Is here anyone who can help me?
We are experiencing an issue with emoji rendering in the native Org chart visualization following our upgrade to Qlik Sense Enterprise on Windows November 2025, version 14.254.6.
Emojis that are correctly displayed in standard Qlik Sense tables are replaced by the Unicode replacement character � (U+FFFD) when displayed in the Org chart visualization, specifically in the card subtitle.
This issue affects all emojis we have tested.
Product: Qlik Sense Enterprise on Windows
Version: November 2025, 14.254.6
Visualization: Org chart (Visualization Bundle)
Browsers: Microsoft Edge, Firefox and Google Chrome
The issue also occurs with newly created Org chart objects, so it does not appear to be limited to existing objects.
It affects all emojis tested.
The issue is reproducible across different computers and browsers.
Resetting the Org chart styling does not resolve the issue.
The Windows Segoe UI Emoji font is installed.
Emojis are rendered correctly in standard tables within the same application.
The issue appeared after upgrading Qlik Sense.
Any idea?
Hi All,
I have created a session variable using below code
Our infrastructure security scanner flagged our Qlik Sense servers as potentially vulnerable because of the bundled Node.js 24.18.1 runtime. Following the October 21, 2026 Node.js security release, I tested updating that binary independently of a Qlik patch.
A scanner finding against a runtime version does not establish that the vulnerabilities are exploitable through Qlik Sense. Product-specific impact still needs confirmation from Qlik.
The update from Node.js 24.18.1 to 24.22.1 passed testing in our Qlik Sense Enterprise on Windows May 2026 Patch 7 environment. This is one environment's test result, not a compatibility guarantee.
This experimental method is not validated by Qlik. Qlik's documented approach is to update the bundled runtime through a Qlik Sense upgrade. This post shares a technical test, not an official remediation recommendation. If evaluating it, use development first, a maintenance window and a recoverable full backup.
Check the bundled version
& "$env:ProgramFiles\Qlik\Sense\ServiceDispatcher\Node\node.exe" --version
The full path checks Qlik's runtime rather than another Node.js installation on the PATH.
Run the attached scripts
.\01_Backup_Node.ps1
Continue only after BACKUP VERIFIED:
.\02_Update_Node.ps1
Leave the Service Dispatcher running before starting the update: the script handles stopping and restarting it. Execution is local to each machine; relative paths are resolved against the configuration folder.
Validate and roll back
Check Hub, QMC, application access, exports, reloads, usual connectors and Qlik logs. These are suggested checks, not a claim that all were covered in our test.
To roll back, set RestoreBackupDirectory to the exact original backup folder, then run:
.\03_Restore_Node.ps1
The scripts target the main Service Dispatcher runtime on Node.js 24 only. They do not update EAPowerTools, Package Cache or npm dependencies. A binary backup is not a full site backup, and automatic rollback is not guaranteed. Recheck the installed version after subsequent Qlik maintenance.
Sources: Node.js security bulletin, October 21, 2026; Node.js 24.22.1 release notes, October 21, 2026; Qlik Support guidance, updated August 14, 2024.
From https://www.aikido.dev/blog/node2shell-nodejs-brotli-rce-cve-2026-111497
Node.js shipped a security update on Wednesday for a flaw in how it decompresses Brotli data, a bug people are already calling Node2Shell (CVE-2026-111497). If an attacker can get a malicious payload in front of your app, the flaw can crash the process, leak part of its memory, or potentially let them run their own code.
Who is affected: anyone running Node.js or Bun whose app decompresses Brotli data that an attacker could control.
Ok, so Qlik Sense Enterprise on Windows runs on Node.js 24.14.1.
I have the following questions:
1. Does the specific implementation of a vulnerable Node.js version in Qlik Sense Enterprise on Windows implicate a threat to installations of Qlik Sense?
2. Are there any migitating actions that can be undertaken by administrators to continue operating safely until Qlik Sense/Node.js is patched?
3. Is there a patch coming? If so, when is this expected to be made available?
I have a table that currently works - it allows the user to select WeekStartShipDate, which is loaded in the load script with a Floor value, filtering the table to just one week:
The variables vStartSixWk and vEndSixWk determine the date range for the 6 Week column.
vStartSixWk =(WeekStartShipDate) -42
vEndSixWk =(WeekStartShipDate)
The 6 Week column is then calculated as follows:
Sum({<WeekEndShipDate={">=$(vStartSixWk)<=$(vEndSixWk)"}>} EquivalentUnits) / 6
The % of 6Wk Total column is calculated as follows:
Num(
Sum({<WeekEndShipDate={">=$(vStartSixWk)<=$(vEndSixWk)"}>} EquivalentUnits) / 6
/
Sum(
TOTAL
Aggr(
Sum({<WeekEndShipDate={">=$(vStartSixWk)<=$(vEndSixWk)"}>} EquivalentUnits) / 6,
ShipTo
)
),
'##0.0%'
)
So, that all works fine until I add another dimension column, such as SalesOrder. Once I do that, the date filter breaks, and the 6 Week expressions return zeroes.
Please advise.
Navigation Deferring platform decisions? The Qlik Open Lakehouse Calculator puts a real cost to the status quo.
Qlik is a Leader in the IDC Events/Global Events MarketScape: Worldwide Data Intelligence Platform Software 2026 Vendor Assessment
Here’s your agentic AI readiness check. (Got Qlik? You're closer than you think.)
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.