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

Welcome to
Qlik Community!

cancel
Showing results for 
Search instead for 
Did you mean: 
  • 283,116 members
  • 6,626 online
  • 2,036,048 posts
  • 155,184 Solutions
Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!

Welcome to Qlik Community

Recent Discussions

  • forum

    Talend Studio

    Data Mapper help, struggling to create the hierarchical structure I need

    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 ess... Show More

    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

    Show Less
  • forum

    Qlik Replicate

    The record timestamp is at least 10 minutes later than the Replicate server time...

    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... Show More

    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

    Show Less
  • forum

    Qlik Replicate

    How do I find out what table the number in an error message equates to?

    In Qlik Replicate version 2025.11.0.770 we are getting this error:00100829: 2026-10-27T06:52:37 [ASSERTION ]W: The 'DELETE' event received for table 4... Show More

    In Qlik Replicate version 2025.11.0.770 we are getting this error:

    00100829: 2026-10-27T06:52:37 [ASSERTION ]W: The 'DELETE' event received for table 48 after 'DELETE' event with the same primary key at stream position '7298;639286951509586920;20250119024501344227|00000e8f.8bc46921.00000003.008a.01.0000:212393.192230.16' (bulk_apply.c:1857)
     
    Is there an easy way to get the name that table 48 refers to?  I think we can count the tables in the list of tables but for some of the other tables getting this error the number is much higher and it would be difficult to figure it out.  
     
    Is there a log value we could move to trace or verbose that would give us the actual table name?  Or is there a way to extract the list of tables and from the task that we could then take into a spreadsheet so we could use the row number to indicate table number?
     
    Thanks for any help with this.
     
    Greg
    Show Less
  • forum

    Qlik Replicate

    Custom DELETE syntax to fix a stuck operation on a large table in Databricks

    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... Show More

    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:

    • reducing the change batch size;
    • increasing the query timeout of the operations;
    • optimizing the large table to make delete operations more efficient;
    • replicating only the last 6 months of data for the large table.

    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

    Show Less
  • forum

    Data Movement & Streaming

    Difference between Views & Tables in Load Editor

    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 u... Show More

    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?

    Show Less
  • forum

    Visualization and Usability

    Emojis displayed as Unicode replacement character in Org chart after upgrading t...

    We are experiencing an issue with emoji rendering in the native Org chart visualization following our upgrade to Qlik Sense Enterprise on Windows Nove... Show More

    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.

     

    Etxaniz_0-1793107261373.png

    Any idea?

    Show Less
  • forum

    Integration, Extension & APIs

    Get Session Variable Value using variable Name

    Hi All, I have created a session variable using below code    const sessionVariable = await doc.createSessionVariable({      qInfo: {        qType: "v... Show More

    Hi All, 

    I have created a session variable using below code

        const sessionVariable = await doc.createSessionVariable({
          qInfo: {
            qType: "variable",
          },
          qName: TestVariable,
          qComment: comment,
          // Store as a Qlik text value
          qDefinition: `"${variableValue}"`,
          qIncludeInBookmark: true,
          qMetaDef: {},
          qConstraints: {
            qType: "any",
          },
        });
     
    Can any one please help here how to get the value of session variable.
    Show Less
  • forum

    Management & Governance

    Qlik Sense: standalone Node.js update after a security scanner alert

    Our infrastructure security scanner flagged our Qlik Sense servers as potentially vulnerable because of the bundled Node.js 24.18.1 runtime. Following... Show More

    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

    1. Extract the scripts into one folder.
    2. Download the official Node.js 24.22.1 Windows x64 binary.
    3. Edit NodeUpdate.config.psd1: configure the binary, backup and log paths, and set the expected SHA256 using the win-x64/node.exe entry in SHASUMS256.txt.
    4. Open Windows PowerShell 5.1 as administrator and run the backup:
    .\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.

    Show Less
  • forum

    Management & Governance

    Node2Shell: Node.js Brotli vulnerability

    From https://www.aikido.dev/blog/node2shell-nodejs-brotli-rce-cve-2026-111497Node.js shipped a security update on Wednesday for a flaw in how it decom... Show More

    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?

    Show Less
  • forum

    App Development

    Adding a six week average to a table that is going to be filtered on a WeekEnd d...

    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... Show More

    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:

    mikegrattan_0-1792086034865.png

     

    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.

    Show Less
Leaderboard

Qlik community MVPs

Qlik Community MVPs — trusted experts driving collaboration, learning, and innovation.

mvp-banner-side-image