Qlik Sense Document Analyzer V1.5

Version 1.5 of the Qlik Sense Document Analyzer (QSDA) tool is now available for download here.

If you are not familiar with QSDA, it’s a free application profiling tool for Qlik Sense that can help you identify items such as unused fields, poorly performing expressions and data model problems.

Here are the significant changes in V1.5:

The Installer allows editing of all install paths and installation will create a log file in the User’s temp directory.

The  Summary ribbon at top of each sheet provides for sheet navigation by clicking a cell.


Improved error handling in the connector. Certain types of errors, such as a chart calculation timeout, will not terminate the script. Error count is reported on Summary sheet and detailed error messages can be viewed on the “Extract Log” sheet.

Items that should be considered incomplete due to analysis errors will highlighted in yellow.  This highlighting is a work-in-progress as I discover new possible errors.

Field widths (Symbol width) are no longer estimated! Field sizes are obtained directly from the engine.  Due to this change, this version will report different values for field sizes than previous releases, generally +/- 10%.

The connector edit dialog has been improved.  Error messages now appear properly in their own window and a progress bar displays when the list of applications is fetching.

If you have general usage questions on QSDA, please use the comments section here or Qlik Community.

If you have a bug to report, use the issue tracker.

The only installation supported by the installer is QS Desktop. You can use QS Desktop to analyze applications on a server.  It is possible to manually install on a server by uploading the application (qvf), the qsda-ribbon extension and the connector directory if you have the need and want to give it a shot.  I do plan to create a supported server installer in the future.

Have fun!



80 thoughts on “Qlik Sense Document Analyzer V1.5”

  1. Thanks for this Rob – great resource-again
    one question – the ribbon extension that is used qsda-ribbon
    It’s very neat – I take it this was installed with the exe file?

    I see the extension in my pc and the qvf file but not in QS as a useable extension in other apps?

  2. The ribbon extension is installed as a normal extension but hidden from the Custom Charts > Extensions list. I wanted to discourage people from using it for their own apps as I did not want to support compatibility between releases of DA. If there is interest I’ll create an open source version of the extension.

  3. It would be great to run it in batch across our whole server environment so we can identify problem apps?

    1. There is some work being done on batch analysis of multiple apps. Will post more as info becomes available.

  4. Hi Rob, first of all thank you for this great tool.

    We recently changed our default virtual proxy (No prefix) from NTLM to SAML authentication to take advantage of SSO using google business accounts.

    The NTLM authentication is still available using server_name/domain , and I tried to use that in the server string on appmeta connection but QSDA doesn’t seem to like this.

    Is there an alternative config so the tool works using the right Virtual Proxy?

    1. It should connect to the virtual proxy if you specify the proxy as part of the server like: “my.server/prox”. What error message are you getting?

      1. Hi, I’m getting

        ERROR: Cannot connect to Qlik Sense
        Connection failed after 4 attempts. Error message:
        GeneralCommunicationException with communication error WebSocketConnectionNotAccepted and http error code 500.

        In case it helps, if I run a data load anyway, it logs the following in stacktrace.txt (The txt is a bit too big to paste here)

        1. Yes, the load won’t work because it uses the same connection methods that the connection editor does. I’m going to give you a qualified “don’t know” answer to this problem. You might try connecting to the same proxy in another browser tab and then try editing the connection in a another tab in the same window. More robust server connection and diagnosis is on the roadmap for the next update.

          1. No luck so far Flo.

            I’m just exporting the Apps and loading them into QS Desktop, which makes the usage of the QSDA a bit more difficult.

            We’ll try again in the next version if either the “server”+SSO or the NTLM “server/prox” logins work with QSDA


  5. Oh, I’m getting the error using QS Desktop

    I’d try to test it directly from the Server but I don’t know how to install the custom connector there


  6. Hi Rob,

    We’re trying to get the Document Analyzer installed on a server, but are having trouble with MetaData Connector. It is installed in the C:\Program Files\Common Files\Qlik\Custom Data with the other connectors, but the appmeta data connection is still showing the ‘Unknown connection type: …’ error. If you could provide any clarification on manually installing these files to the server, it would be greatly appreciated.

        1. Hi Rob,
          We too have successfully imported the App and the Extension, and copied over the sub-folder for the connector, but get that same error of unknown connector type.

          Any further help you can offer would be greatly appreciated.

          1. Hi Mark,
            Which folder did you copy the connector to? Does the connector show up if you make a new connection?

          2. Rob – I copied the connector to \\[Server]\CustomData\, where I see other connectors.

            If I try to create a new connection, ‘appmeta’ does not show up as an option.

  7. Hi Rob, thanks for this great tool!
    Just wondering if you have plans to release a QSDA Comparison tool for regression testing?

    1. Sorry, just came across with your RUNNING QS REGRESSION TEST IN BATCH post. I guess that this approach using QSST is the substitution for what I was asking about.

      1. I do have a QDSA compare tool in the works. But as you discovered, QSST or NodeGraph is probably a better tool for regression testing,

  8. When I run my app through DA 1.5 it gives me error. I am not able to create a bug in Issue tracker. Error message attached below. Please advise, I can send the qvf if required
    QVX_UNKNOWN_ERROR: Object reference not set to an instance of an object.. Stack trace written to C:\ProgramData\QlikTech\Custom Data\QsAppMetadataConnector\Log\StackTrace.txt: SQL SELECT ObjectId, MasterDimensionLibraryId, DimensionName, DimensionLabel, ObjectDimensions_Error, ObjectDimensionPosition FROM ObjectDimensions

  9. I have installed QSDA on my desktop and it seems to work fine. However, I can’t get the connection setup to work against our server. I did not install anything on the server. I can edit the appmeta connector and choose Enterprise for environment. Then put in the server name and get the following error WebSocketConnectionNotAccepted. I have tried the IP Address and various other forms to no avail. We have a multi-node environment and I am pointing to the central node. Any suggestions?

    1. The server connection is made using NTLM. Is your server proxy set up to use windows authentication?

      1. Yes, it is. I tried adding specific ports as well. The server is on AWS, not sure if that makes a difference. The format I tried is as follows: https://servername.com/c1/, the same address does work in my browser URL. The C1 portion is the prefix to send through proxy and load balancer. I have tried with and without that bit.

          1. Hello Rob. What are the results of your testing on AWS? Does it work? Does it have to be configured differently?

          2. I have not tested the current QSDA on AWS. I imagine it would work if the proxy expected windows auth, but I have not confirmed.

  10. Hi Rob! Thanks for this tool. Is there anywhere a documentation that explains how to interpret the information shown in the different sheets? Specifically, I am looking for the interpretation of “Expression Table Count” and “Object Count” in sheet “Variables”.


    1. Hi Erik
      Currently no comprehensive documentation. “Expression Table Count” is how many tables are involved with the non-set fields in an expression. Counts > 1 can indicate an inefficiency, where the expression would run faster if the fields were all in one table.
      “Object Count” should be in how many sheet objects is this variable used.

  11. Hi Rob,

    The tool is always been useful.

    I’ve downloaded and installed version 1.5 on my laptop and using QlikSense personal edition, I can’t see the QVFs on the app connector.

    Could you please help with this.

    Thanks in advance.

  12. I had installed, but it not able to connect to server. What to insert in the server text box? Server host name? Ip address? or hub url?

    1. In the server box, put the server name, including any virtual proxy for win auth if your default proxy is not configured to use windows auth.

      1. Hi thanks for the reply, I had put the servername or ipaddress, but still can’t connect to server.

  13. Hi Rob,

    I noticed that when I opened the QSDA on the server, the QS Meta data connector does not show up if you I want to make a new connection.

    How do I resolve this?


  14. Hello Rob,

    We are trying to use it with QS on the server…
    We installed the connector on the server but we have this message as an error when we are trying to use the app metadata connection :


    Can you help us?

    Thank you !

    1. Hi Caroline,
      The connection is made using NTLM (Windows) auth. DO your license rules provide for a license to be allocated to this userid?

  15. Hi Rob,
    could you please explain how exactly the Object Calculation Time is being calculated:
    – all app Objects running in parallel simultaneously?
    – every single object running separately?
    – all sheet objects running in parallel simultaneously?
    Many thanks,

  16. Hi Rob,
    I learned that DA can be installed to QS desktop, and analyze apps in QS server, without moving apps to QS desktop.
    But can it be installed to a single-node QS enterprise version, and analyze the apps in another QS enterprise environment?

    In production, we use QS Enterprise 2019 June version in a clustered environment. To avoid impact on production, current plan is to have dedicated machine for DA.
    Unfortunately, we cannot install desktop OS. Then the choice left is to install DA to single-node installation, and enable it to ‘see’ the apps in production.
    But it seems DA doesn’t ‘see’ the apps in production environment. Do you know whether it is possible to make DA ‘see’ the apps in another installation?

    Best regards

    1. QS Desktop analyzing something on the server effectively sees an app in another installation, so yes I believe what you are describing is possible. What I don’t know is if the authorization would be passed through correctly. I would need o set up a lab top test, I’ll try to do so by year end. Note that there is a new V1.6 version available for download that includes some server install instructions.

  17. Hi Rob
    Thanks a lot for checking this. I downloaded v1.6 just now, plan to test it in lab. Do I need to uninstall the v1.5 before installing?

    Best regards,

  18. Still not working with a non-default virtual proxy on QlikSense Enterprise. I don’t know why, but it definitely tries connecting to default, no-prefix proxy – if I try locally and use something like Fiddler I can see it keeps trying to hit SSO auth endpoints (which is normal for default proxy which uses SAML); if I try on the server (which cannot access the internet) it throws up “The remote name could not be resolved: ” as an error.

    Of course I do specify virtual proxy prefix as part of “Host” field but it is definitely being ignored somewhere.

    1. Sorry for the formatting. The remote name that cannot be resolved is the name of SAML authentication host.

  19. Dear Rob, I am trying to use the enterprise option in the 1.7 version and I am getting the error:

    Connection failed to Enterprise host
    Error Cannot connect to Qlik Sense Method “QTProduct” timed out

    What does this mean?

    Best regards.

      1. Hey Rob, thank you for answer me.

        Yes, I am supplying a userid with one user that exist on Qlik Sense database, User directory\User ID.

        Best regards.

  20. Dear Rob, when you said on the documentation:

    The connector supports only Windows authentication, ensure your virtual proxy is configured for Windows authentication

    Do you mean, on the virtual proxy the AUTHENTICATION Properties, need used the Authentication method as Windows or Windows authentication pattern as Windows?

    Best regard.

    1. What I meant was Authentication method = Ticket and Windows Authentication Pattern = Windows

      1. Dear Rob, thanks.

        Alright, on QMC we have this.

        I will try check what is the problem.

        Best regards.

  21. Hi Rob,

    I have installed in analyzer in server while configuring meta connection getting “general communication exception with a communication error “. version is 1.7

    1. Is your proxy using Windows Auth? Also take a look in C:\temp\QsAppMetadataConnector\log to see if you can find more details.

  22. Hello Rob,

    I wanted to understand if we have any limitation on Qlik sense App Size which can be analysed in DA. We find difficulties in running App with size more than 1GB.

    1. There is no technical limit, but you do need enough resource to open the app and calculate all the objects. You can get a useful analysis — unused fields, calc times — using less than the full data. Use a smaller set of data or set some selections or a bookmark in the appmeta connection properties.

  23. Hi Rob
    I use QSDA 1.7v in a dedicated server with Qlik Sense Enterprise 2020 Feb version. I import app to the server and run QSDA from there.
    I have access to root admin right & can open the app from hub. Do you know why there is still ‘Access Denied’ error?
    Here is from StackTrace:
    Qlik.Engine.MethodInvocationException: Access denied [5]:Access denied()
    at QsAppMetaShared.QsAppMetadata.GetApp(Boolean noData)
    at QsAppMetaShared.QsAppMetadata.GetMasterMeasures()
    at QsAppMetadataConnector.QsAppMetadataConnection.d__10.MoveNext()
    at QlikView.Qvx.QvxLibrary.QvxConnection.WriteTableItemsToStream(QvxDataTable table, Stream pipeStream)
    at QlikView.Qvx.QvxLibrary.QvxConnection.InternalExecute(DataPipe dataPipe, QvxDataTable table, Action`1 onError, Action clearMExecuteError)

    Best regards,

    1. Hi Susan,
      In the connection, are you supplying your userid/pwd? If not, you are using the service account which may not have access and or license.

  24. Hi Rob
    I tried again with my own credential, still got same Access Denied message.
    I can open the app from hub, so it is not section access issue.
    I tried with other apps, one app imported from lab works. One app from production has a different error message.
    So issue is something related to app. But what to check next?

  25. Hi Rob
    After disabling section access, now I don’t have ‘Access Denied’ error any more.
    This is interesting, because I think I always use own credential for Document Analyzer.
    If I type own credential, select app and save, will my credential be saved? Next time when I open it, credential fields are blank, but I can still choose a different app. Does DA use service account or my account?

    Best regards,

    1. If you enter credentials. they should be saved when you press saved. When you edit the connection again, you should see your credentials there.

  26. Hi Rob,
    May i know if the QSDA has an ability to analyze multiple apps residing on the server?

    1. If you mean analyzing multiple apps in the same script run, currently the script is not set up for that. It could potentially be modified to do that.

  27. Hi Rob,

    Appreciate all you do for Qlik! Quick question, how do you customize the naming conventions on the export of objects? For instance, when I export a table from the ‘Expressions’ tab within QSDA, it will export with the table name and number of total expressions and then distinct expressions. I would love to replicate this within other applications. Thanks!

  28. Hi,
    I wanted to know that can we download any of the data summaries presented by the tool (example the calculations used) into any file like csv or json or any other

    1. Yes, if you are using the QVF Document Analyzer you can right-click the table and use the standard Qlik Sense export. If you are using the new QSDA Pro, you can export using the Export option in the toolbar.

      1. Thanks for the quick reply.
        Can you please guide me on from where and how to download and use the QSDA pro. and Do I need to pay for QSDA pro?

        1. QSDA Pro is currently free as it is still under development. When the final product launches, there will be free and paid tiers. You can download QSDA Pro here https://community.easyqlik.com/t/build-0-3-4-is-available/48. Note you should watch the community board or sign up for updates https://easyqlik.com/qsda/ to be notified of new releases. Installation and getting started instructions here https://help.easyqlik.com/qsda/.

          If you prefer to use the older QVF QSDA, you can download here https://qlikviewcookbook.com/recipes/download-info/qs-document-analyzer/ . Unzip the file and following the installation and usage instructions in the user guide found in the unzipped files.

          1. Hi
            Thanks for the guidance. However, I am getting an error while trying to edit the appmeta connection and select a default app from the desktop environment.
            It is asking me to check if qlik sense is running properly or if my session has timed out.
            Is it necessary for me to have the QSDA on the QS server simultaneously while working on QS desktop?

      2. Hi
        Can you give me the correct steps on where and how to install QSDA. Actually I am a beginner so I do not know how to install it and start using it.

  29. Hi,
    I don’t how to use it. Where can see the training videos for this software?

    Please help!

  30. Hi Rob, any idea why not all apps might be listed for Enterprise? QS Feb 2021 ?

    I can see a lot of apps but lots also missing from the list?


Leave a Reply to Rob Wunderlich Cancel reply

Your email address will not be published.