Skip to main content

Product

Announcements
Qlik Connect 2025: 3 days of full immersion in data, analytics, and AI. May 13-15 | Orlando, FL: Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 

Analytics

Forums for Qlik Analytic solutions. Ask questions, join discussions, find solutions, and access documentation and resources.

Data Integration & Quality

Forums for Qlik Data Integration solutions. Ask questions, join discussions, find solutions, and access documentation and resources

Explore Qlik Gallery

Qlik Gallery is meant to encourage Qlikkies everywhere to share their progress – from a first Qlik app – to a favorite Qlik app – and everything in-between.

Support

Chat with us, search Knowledge, open a Qlik or Talend Case, read the latest Updates Blog, find Release Notes, and learn about our Programs.

Events & Webinars

Learn about upcoming Qlik related events, webinars and local meetups.

Groups

Join a Group that is right for you and get more out of your collaborations. Some groups are closed. Closed Groups require approval to view and participate.

About Qlik Community

Get started on Qlik Community, find How-To documents, and join general non-product related discussions.

Blogs

This space offers a variety of blogs, all written by Qlik employees. Product and non product related.

Qlik Resources

Direct links to other resources within the Qlik ecosystem. We suggest you bookmark this page.

Qlik Academic Program

Qlik gives qualified university students, educators, and researchers free Qlik software and resources to prepare students for the data-driven workplace.

Community Sitemap

Here you will find a list of all the Qlik Community forums.

Recent Blog Posts

  • Image Not found
    blog

    Support Updates

    Qlik Sense Enterprise for Windows - New Security Patches Available Now

    Edited August 30th, 15:55 CET: Added clarification on older Qlik Sense Enterprise on Windows versionsEdited August 31st, 13:10 CET: Added clarificatio... Show More

    Edited August 30th, 15:55 CET: Added clarification on older Qlik Sense Enterprise on Windows versions
    Edited August 31st, 13:10 CET: Added clarification on possible workarounds (none exist) as well as information regarding what authentication methods (all) are affected and that HTTP and HTTPS are impacted
    Edited November 21st, 8:40 CET: Added clarification to apply the latest patches

    Hello Qlik Users,

    Two security issues in Qlik Sense Enterprise for Windows have been identified and patches made available. Details can be found in Security Bulletin Critical Security fixes for Qlik Sense Enterprise for Windows (CVE-2023-41266, CVE-2023-41265).

    This announcement from August 2023 and the mentioned releases only cover CVE-2023-41266 and CVE-2023-41265. Apply the most recent patches as documented in Critical Security fixes for Qlik Sense Enterprise for Windows (CVE-2023-48365) (September 2023), which resolve CVE-2023-48365 as well.

    Today, we have released five service releases across the latest versions of Qlik Sense to patch the reported issues. All versions of Qlik Sense Enterprise for Windows prior to and including these releases are impacted:

    • May 2023 Patch 3
    • February 2023 Patch 7
    • November 2022 Patch 10
    • August 2022 Patch 12

    All prior versions of Qlik Sense Enterprise on Windows are affected, including releases such as May 2022, February 2022, and earlier. While no patches are currently listed for these versions, Qlik is actively investigating the possibility of patching older releases. 

    No workarounds can be provided. Customers should upgrade Qlik Sense Enterprise for Windows to a version containing fixes for these issues. August 2023 IR released today already contains the fix

    • August 2023 Initial Release
    • May 2023 Patch 4
    • February 2023 Patch 8
    • November 2022 Patch 11
    • August 2022 Patch 13
    This issue only impacts Qlik Sense Enterprise for Windows. Other Qlik products including Qlik Cloud and QlikView are NOT impacted.

    All Qlik software can be downloaded from our official Qlik Download page (customer login required). Follow best practices when upgrading Qlik Sense.

    The information in this post and Security Bulletin Critical Security fixes for Qlik Sense Enterprise for Windows (CVE-2023-41266, CVE-2023-41265) are disclosed in accordance with our published Security and Vulnerability Policy.

     

    Clarifications and Frequently Asked Questions:

    What can be done to mitigate the issue?

    No mitigation can be provided. An upgrade should be performed at the earliest. As per Qlik's best practices, the proxy should not be exposed to the public internet, which reduces the attack surface significantly.

    What authentication methods are affected?

    All authentication methods are affected.

    Are environments with HTTP disabled impacted?

    Environments will be affected regardless if HTTP or HTTPS are in use. These vulnerabilities affect the HTTP protocol overall, meaning even if HTTP is disabled, the environment remains vulnerable.

    These attacks don’t rely on intercepting any communication, and therefore, are indifferent whether the HTTP communication is encrypted or not.

    Kind regards, and thank you for choosing Qlik,

    Qlik Global Support

    Show Less
  • qlik-productblogs.jpg
    blog

    Design

    Handling Multiple Languages

    Today’s corporate environment is global. QlikView application developers are required to support many regions and many languages. So how does a QlikVi... Show More

    Today’s corporate environment is global. QlikView application developers are required to support many regions and many languages. So how does a QlikView application developer handle multiple languages?  Well, that depends on how the data is captured and the overall goal of the application developer. Let’s look at two scenarios.

    Scenario 1:  The developer only needs to translate the labels and textboxes within the application and not the actual data.  blog picture 1.png

    1. Create a translation spreadsheet that contains an index column to be used for reference and columns for every language that each label and text entry that needs to be translated.
    2. Fill in the English language column with the text to be translated and have translators fill out their language. 
    3. In the script load the translation spreadsheet and create an inline table that contains all of the language translations. Then create a variable, say vDataLanguage,  that reads the Language field.
    4. Using set analysis, create an expression that references the index number and the language to display

    =Only({<Index={12}>} [$(=vDataLanguage)]) 

    for all textbox and object captions that need to be translated.   

    Scenario 2:  The data from which the QlikView application developer is developing is recorded in English but he/she needs to have some of the actual data translated into other languages.

    blog picture 2.png

    1. The first thing that he/she needs to do is determine the fields that need to be translated and create a translation spreadsheet that contains a worksheet for each of the fields to be translated. For example, we need to translate the Industry data. Now we need to load the data translation file into QlikView as a Mapping Load for each language. For this example we need to translate into German and French so we’ll create a mapping file for French_Industry and a mapping file for German_Industry.
    2. Create an inline table that contains all of the language translations.
    3. Create a variable that reads the Language field (vDataLanguage). 
    4. In the script, find the Industry Field that we need to translate.  Using the Applymap function we can translate the English data into the different languages and be sure to name the translated field as Fieldname_Language (e.g. Industry_French) .
    5. We now need to create a variable for each translated field. So for industry we’ll create vIndustry. The expression in vIndustry is  
           =chr(91)&'Industry' &chr(95) & '$(vDataLanguage)' & chr(93) .
    6. Now to get the correct language to display in a list box you need a calculated dimension using this expression,  which is

                =$(vIndustry).

    That’s it! Easy, right? Well, it is a bit time consuming if you are trying to translate data in fields but translating text and labels is really not that difficult. I created a technical overview that walks you through the two scenarios mentioned in this blog as well as a third scenario which can be found here. This resource includes a How-To, sample data files and 2 QVWs.

    Good luck with the translations!  Lycka till med översättningarna!  翻訳で頑張ってください!

    Show Less
  • Image Not found
    blog

    Qlik Education

    Expert Arthur Fantaci Joins the First Qlik AutoML Session!

    As part of this special edition, we’ve added an extra live session with Arthur Fantaci, one of our top experts. He will share a fascinating success st... Show More

    As part of this special edition, we’ve added an extra live session with Arthur Fantaci, one of our top experts. He will share a fascinating success story in which he used Qlik AutoML to solve a big challenge in the healthcare industry. 

    What’s the story? 

    Arthur worked with a healthcare media company that needed to sort its anonymous website visitors into medical specialty groups. At first, they used 12 different machine learning models to do this, but the process was slow, manual, and full of errors. With Qlik AutoML, Arthur created an automated solution that reduced the 12 models to just one, making everything faster and more accurate! 

    Why is this bonus so awesome? 

    Getting to see how an expert tackles a real-world problem is something you don’t find in just any course. Plus, you’ll be able to ask questions live, clear up any doubts, and take away practical lessons that you can start using right away! 

    Arthur Fantaci is usually busy helping our clients, so having him in this course is a huge privilege. His experience in predictive analytics is something that won’t be available again for a long time. 

    Don’t miss this amazing chance: 

    • 30% off when you use the code CLASSROOM30 at checkout. 
    • A live session with an expert, where a real Qlik AutoML case will be explained. 
    • And one big surprise that we will reveal soon! 

     

    Don’t wait—sign up now and grab this amazing opportunity! 

    Show Less
  • Image Not found
    blog

    Design

    Checkout the New Pivot Table!

    The New Pivot Table can quickly transform rows and columns into actionable insights with just a few clicks. You can organize, analyze, and visualize y... Show More

    The New Pivot Table can quickly transform rows and columns into actionable insights with just a few clicks. You can organize, analyze, and visualize your data and even style various elements such as headers, borders, fonts, grid lines and more. Say goodbye to manual calculations and hello to dynamic summaries. Pivot Tables,. simplify complexity, reveal patterns, and take control of your information.

    Try it now and elevate your data game to new heights.

    Qlik Help: Pivot Object

    SaaS in 60 Playlist

    Can't See the video?  - Check it out on Qlik's video site 

    Show Less
  • Image Not found
    blog

    Support Updates

    Qlik Customer Support Now Available on Stitch!

    Qlik Customer Support now available on Stitch! For our Stitch customers, Qlik Support is now seamlessly integrated within your product connecting you ... Show More

    Qlik Customer Support now available on Stitch!

    For our Stitch customers, Qlik Support is now seamlessly integrated within your product connecting you with expert assistance. Select the green chat bubble at the bottom right of your Stitch environment to start chatting with support. Katie_Davis_2-1728394388771.png

    With the introduction of our generative support chat, you can now receive immediate and reliable responses validated through Qlik’s expert-led documentation. If you need more in-depth help, our team of Support Engineers are available 24/5 to chat live and troubleshoot any issues you may encounter. This comprehensive support ensures you receive timely solutions, keeping your Qlik experience smooth and productive.

    Katie_Davis_0-1728394058253.png

    In addition to quick AI-generated answers, you’ll gain access to Qlik’s Customer Portal, to manage your support needs and explore a wealth of resources, including our library of knowledge articles. Stitch has the power of Qlik Global Support behind it, and we’re here to help you through your data journey.

    • For our Stitch-only customers without other Talend products in their data suite, a Qlik ID will need to be created to login to Qlik Customer Portal.
    • For those with both Stitch & Talend products, Talend customer accounts have been migrated to Qlik ID, and users should be able to access through their business emails. If you need help with access, please chat with our support engineers.

    Note: Now that Stitch support is fully integrated within Qlik Global support, stitchsupport@talend.com is no longer in use. Please leverage your in-product Support chat or contact us through the Customer Portal For Assistance.

    Show Less
  • Image Not found
    blog

    Product Innovation

    Connector Factory - August & September 2024 releases

    Qlik Talend Data Integration Additional Qlik Talend Cloud application connectorsWe’re continuing to expand the connectivity of Qlik Talend Cloud with ... Show More

    Qlik Talend Data Integration

    Additional Qlik Talend Cloud application connectors
    We’re continuing to expand the connectivity of Qlik Talend Cloud with the addition of more insurance and security-related applications that can now be used as a data source. By eliminating the need to develop custom connectors to access these sources, these connectors will help companies streamline their insurance workflows and accelerate their ability to fully assess security risks & compliance. The new connectors are for:

    • AWS Security Hub
    • Guidewire BillingCenter
    • Guidewire ClaimCenter
    • Guidewire InsuranceNow
    • Guidewire PolicyCenter
    • Invicti
    • LevelBlue USM Anywhere (formerly Alienvault)
    • Microsoft InTune
    • Sophos

    Support for key pair authentication with Snowflake
    Qlik Talend Cloud now provides support for key pair authentication when connecting with Snowflake. Using key pair authentication provides enhanced security versus basic authentication, such as username and password. This key pair approach is recommended for workloads such as data loading (replication or landing tasks) and transformations.

     

    Qlik Analytics

    New version of Direct Access gateway
    The Qlik Data Gateway - Direct Access allows Qlik Sense SaaS applications to securely access behind-the-firewall data, over a strictly outbound, encrypted, and mutually authenticated connection.  We just released Direct Access gateway 1.6.8 which, in addition to several bug fixes, introduced the following enhancements:

    • Support for sending missing or corrupted data chunks.
    • Removes the requirement for .NET 6.0.x. New customers should install .NET 4.8 (needed for the installation) as well as .NET 8.0 and ASP.NET Core Runtime
    • Improved batch operations for dependent processes by checking them in parallel instead of sequentially
    • Improved troubleshooting by adding more context to the resource usage warnings in the logs.

     

    Qlik Application Automation

    Updated Connectors

    • Qlik Cloud Government now supports the Qlik Application Automation connector for Amazon DynamoDB.
    • The Qlik Cloud connector now has blocks to download, import and upload a file from temporary content
    • The Qlik Reporting connector now has a Get Chart Image block.  You can learn more about this new feature here.
    • The Slack connector now has an Upload File to Channel block
    • One can now create webhooks in the management console of target tenants using the Qlik Platform Ops connector
    Show Less
  • qlik-productblogs.jpg
    blog

    Explore Qlik Gallery

    Social networks analysis

    Social networks analysisActium DigitalThis application is used Instagram, Twitter and Google analytics. Folowers, posts and visits.DiscoveriesYou can ... Show More
    Show Less
  • Image Not found
    blog

    Product Innovation

    Qlik Cloud Reporting's Perfect Update

    It’s been an exciting year for Qlik Cloud Reporting. Back in December 2023, we took a big step by adding tabular reporting to our dashboard-style capa... Show More

    It’s been an exciting year for Qlik Cloud Reporting. Back in December 2023, we took a big step by adding tabular reporting to our dashboard-style capabilities, something many of you have been asking for. This update comes packed with features like report task management, easy imports of recipient lists from connected data sources, powerful filtering using bookmarks, and simple uploads for tabular report templates. Now, report developers can easily handle centralized tabular reporting tasks right inside Qlik Sense apps. Thanks to our incredible Qlik Cloud customers, we’re gearing up to roll out even more cool features!

    We’re putting the finishing touches on our cloud reporting capabilities for Q4:

    • Report Cycling: Developers can set up report tasks to cycle through a dimension, creating reports for each value.
    • Expanded Report Task Guardrails: With cycling reports, we’re increasing the task guardrails for production and batch processing to 500 reports.
    • Report Task History: Developers will have better visibility into past task runs with a new report task history feature that keeps track of up to three months of execution data. Plus, we’ll surface error and warning messages to help troubleshoot any issues.
    • PixelPerfect Authoring: We’re introducing a new template authoring feature for PixelPerfect reports! Create advanced document templates that meet strict customer or compliance needs using Qlik data, visualizations, or even a library of print-ready visuals.

    As BI leaders get ready for Qlik Answers, Qlik AutoML, and Qlik Talend Cloud, we know that having flexibility in report types and control over operations is key for keeping everyone in the loop.

    As we launch these new features, we’ll also be focusing on enhancing operational task controls, including email reporting solutions.

    Sign up for this webinar on October 17th to explore Qlik Cloud’s Reporting Evolution and get a sneak peek at everything it has to offer!

    Show Less
  • Image Not found
    blog

    Qlik Academic Program

    Learning from hackathons is the new trend

    In recent times, there have been hackathons being organised by colleges on various topics and technologies. Clearly, there is a big interest from stud... Show More

    In recent times, there have been hackathons being organised by colleges on various topics and technologies. Clearly, there is a big interest from students and professors to organize such events. One of the key reason is that the academic community feels that this is a great way to learn and engage the student community.

    According to digit.in, there are several benefits of a hackathon and they are as follows: 


    1. Learning a new technical skill

    2. Creating a sense of accomplishment 

    3. Enhancing your soft skills

    4. Beefing up your resume

    5. Networking

    6. Paving the path for a start up

    7. Getting inspired

    8. Giving back to the community

    9. Winning a prize

    10. Having fun

    One of Qlik's academic partners, ICT Academy's CEO, Mr V Srikanth, mentioned in a recent article in The Times of India, that Learning based on Hackathon is the way forward. 

    The Qlik Academic Program has collaborated for three hackathons ( datathons) this year with Anurag Engineering College, Hyderabad, Kristu Jayanti College, Bangalore and the third one coming up with VJIT Hyderabad. There has been a good amount of participation in all these events. Students are more engaged, they are able to present their outcomes and get feedback on their creations from experts.

    Overall, this is a win win for everyone and in some cases, prospective employers are able to gauge the skills of students from an event and offer opportunities. This way, hackathons have many benefits and are clearly a great way to engage students and make them industry ready.

    For information on the Qlik Academic Program and to find out the resources including training and certifications for students and professors, please visit: qlik.com/academicprogram 

     

     

     

    Show Less
  • Image Not found
    blog

    Japan

    Qlik Cloud 9月の新機能

    分析の新機能 コンボチャートの改善 お客様の要望に基づき、コンボチャートが改善されました。 マーカーに値ラベルを追加 積み上げ棒の値ラベルを追加 グリッドの幅の設定を追加   選択バーの改善 選択バーの選択された項目の表示名に、マスターアイテムで指定したラベル名が表示されるようになりました。オ... Show More

    分析の新機能

    コンボチャートの改善

    お客様の要望に基づき、コンボチャートが改善されました。

    • マーカーに値ラベルを追加
    • 積み上げ棒の値ラベルを追加
    • グリッドの幅の設定を追加

    Yuki_Suzuki_0-1728109168292.png

     

    選択バーの改善

    選択バーの選択された項目の表示名に、マスターアイテムで指定したラベル名が表示されるようになりました。オートカレンダーの項目などについてもすっきりした項目名で選択バーに表示することができます。

    Yuki_Suzuki_1-1728109284119.png

     

    Qlik AutoML のアップデート

    ML展開内のモデルの承認として、アクティブ化・非アクティブ化する機能が追加されました。ML展開を開くと、モデル承認のステータスが表示され、権限があればステータスを変更することができます。管理者は契約による使用可能なモデル数と使用数をみながら承認するモデルの数をコントロールすることができます。

    • アクティブ: モデルはアクティブ化されており、予測を生成できます。
    • 非アクティブ: モデルは非アクティブ化されており、予測を生成できません。
    • リクエスト済み: モデルの承認はリクエストされていますが、まだ提供されていません。

    Yuki_Suzuki_2-1728109434366.png

    学習データをcsv、qvd、parquet ファイルにエクスポートできるようになりました。ML実験の比較または分析タブから出力できます。

    Yuki_Suzuki_3-1728109482955.png

     

    組み込み分析で、ユーザーが選択したUI言語にローカライズされるようになりました。

     

    データゲートウェイ直接アクセス

    Direct Access gateway 1.6.8 がリリースされ、下記の機能が導入されました。

    データチャンクの復旧メカニズム

    欠損または破損したデータチャンクの送信がサポートされました。再読み込みデータチャンクのメモリ使用量を制御するため、設定ファイル(configuration.properties)に新しいプロパティ「RELOAD_CACHE_MEMORY_MB」が追加されています。

    .NET 6.0.x が不要に

    Direct Access Gateway の実行には .NET 6.0.x が不要になりました。新規導入には、.NET 4.8(インストールに必要)と、.NET 8.0 および ASP.NET Core ランタイム(Direct Access Gateway の使用に必要)をインストールしてください。

    依存プロセスのバッチ処理の改善

    このバージョンでは、依存プロセスが順次ではなく並行して確認されるようになり、実行時にプロセスリストが変更されることによる例外処理が回避されます。

    トラブルシューティングの改善

    ログのリソース使用警告に「プロセスID」や「コミットサイズ」など、より多くの情報が追加されました。

     

    その他

    プラットフォーム ナビゲーションの変更

    新しいプラットフォーム ナビゲーションがすべてのテナントの規定になりました。

    シートボタンの削除

     [シート] ボタンは表示されなくなりました。代わりに、左側の [アセット] ボタンを使用してください。

    新しいピボットテーブルの改善(Visualization bundle)

    画像やPDFのダウンロード、ストーリーテリングのスナップショット、レポートのサブスクライブ、ハブのチャート監視に対応しました。

    レイアウトコンテナの改善

    チャートがプロパティ・パネルのリストで選択されると、コンテナ内でハイライトされるようになりました。

     

     

    データ統合の新機能

    変換タスクビューの改善

    変換タスクのビューで、系列が可視化されるようになりました。

    • ソース データセットからターゲット データセットへのフローを視覚化するためのすべての変換が表示されます。
    • 変換を選択すると、どのソース データセットが使用され、どのターゲット データセットが作成されるかを確認できます。
    • ソースを選択すると、そのソースが使用されているすべての変換と、結果のターゲットが表示されます。

    ターゲットを選択して、ソース データセットと、このターゲット データセットを作成した変換を確認します。

    Yuki_Suzuki_4-1728109845360.png

     

    変換・マート作成タスクのターゲットベースデータモデル

    変換およびデータ マート タスク用の新しいデータセット モデルであるターゲット ベース モデルを導入します。変換とデータ マート タスクがより自己完結的になり、ソース メタデータの変更の影響を制御できます。

    ターゲットベースデータモデルでは、データセット メタデータはソース メタデータの変更から分離され、ターゲット データセットは、ソース データセットから明示的にマッピングされます。

    ソースに対して列が追加または削除されても、次のダウンストリーム タスクに自動的に伝達されず、必要に応じてマッピングを調整できるようになります。また、列の順序を変更することや、データ ソースを置換することができます。

    • ランディングやストレージのような取り込みタイプのタスクや、既定の列が維持されている場合(例:SQL 変換で SELECT * from XYZ を使用)は、ソースベースのデータモデルとなります。
    • 変換やマート作成タスクで、SQL 変換または変換フローが列選択を実行する場合(例: SQL 変換で SELECT A, B, C from XYZ を使用)、データセットはターゲットベースになります。

    既存のプロジェクトは条件に該当する場合は、プロジェクトをはじめて開くときに新しいデータセットモデルに更新されます。

     

    変換フローにAIプロセッサーの追加

    Databricks プラットフォームを利用した変換フローに下記のAIプロセッサーが追加されました。

    • sentiment analysis
    • grammar issues fix
    • translation
    • text summary
    • string similarity
    • data masking
    • classification

     

    データ製品カタログのリリース

    データ製品とは、同じドメインに関連する信頼できるデータセット、またはビジネスに適した任意のグループを収集してパッケージ化できるエンティティのことです。データ製品を使用するには、Qlik Talend Cloud Enterprise サブスクリプションが必要です。

    • データマーケットプレイスで、データ製品マネージャーがデータを選択して、追加情報を付加してデータ製品を作成し、コンシューマーに提供します。
    • データ製品からデータのプロファイルやサンプル、系列と影響分析を確認できます。
    • Snowflakeについてはデータ品質が計算され、有効性と完全性を確認することができます。
    • 選んだデータからすぐに分析アプリを作成することができます。

    Yuki_Suzuki_5-1728109963076.png

     

    その他の機能改善

    テーブル再作成の強化

    データパイプラインの画面からテーブルの再作成をできるようになりました。テーブルを再作成すると、ダウンストリーム タスクは、ソース データセットで切り捨てとリロードのアクションが実行されたかのように動作します。これまでは、タスクを開いてテーブルを再作成する必要がありました。

    複数のテーブルからメタデータを並行して取得するサポート

    メタデータを複数のテーブルから問題なく並行して取得できるようになりました。以前はエラーが発生することがありました。

    Snowflake のキーペア認証をサポート

    キーペア認証は、ユーザー/パスワードよりも堅牢です。この方法は、データロード(レプリケーションまたはランディングタスク)や変換などのワークロードに推奨されます。

     

    Show Less
  • Image Not found
    blog

    Design

    Chart Level Scripting - Use Cases, Samples and Examples

    Hi Guys - I'd like to introduce you to some use cases, samples and examples of Qlik Sense Chart level scripting courtesy of Qlik Solution Architect, V... Show More

    Hi Guys - I'd like to introduce you to some use cases, samples and examples of Qlik Sense Chart level scripting courtesy of Qlik Solution Architect, Venkat Subharaman. You can learn more about Venkat at then end of this blog. 

    Recently we released a new capability in Qlik Sense, that allows you to provide and manipulate data directly within a chart object using script. It allows users to modify the data set behind a chart using a subset of the Qlik scripting language, using techniques such as variables and loops. Rows and columns can be added or modified that were not in the original data set enabling calculations that have previously not been possible in chart expressions or with variables.  Offering a new way to analyze your data such as simulations and goal seeking.

    Venkat was so excited when he developed a few use cases for Qlik Sense Chart level scripting and worked out a few examples he wanted to share with everyone that might need them. (attached to this post)

    Note that official documentation is available on the Qlik Help site and additional examples will be made available so stay tuned. 

    I'd like to thank Venkat for his valuable contribution. Take it away Venkat!

    With Chart level scripting I can create simple data models and write complex logics on a subset of data on the fly. Here are some of the benefits:

    1. Customization
    2. Flexibility
    3. Maintainability

    I have found it especially useful where working with financial reports when performing the following:

    1. Running totals (Sounds so simple)
    2. I have more complex % to be calculated based on business rules
    3. I want calculation on the current row to be based on the rows above or below.

    Traditionally I can use out-of-the-box functions like RangeSum and achieve the desired result. BUT, depending on the business use case and the requirements, formulas can get complex very quickly. Even though our we achieved the desired result, it is always at the back of my mind how will it be maintained going forward if something changes. 

    Chart Level Scripting gives you a simple way of doing complex calculation with the added ease of working with just a small subset of data that is utilized in the chart or table.

    Let's take a look at 3 simple examples that will highlight only a small percentage of the power of Chart level scripting.

    First I want to just set the stage and familiarize you with some terminology and functions.

    • HCNoRows(): returns the number of rows in the chart or table
    • HCValue : Function that is used to return the value in a row for a dimension or measure
    • HC1: Prefix used to represent the subset of data from the Hyper Cube that is utilized in the current chart or table.
    • HC1.Measure.<MeasureNo> : Represents the measure in the chart or table
    • HC1.dimension.<dimensionNo> : Represents the dimension in the chart or table

     

    Example 1: Running total and percentage calculated at aggregate level

    Steps:

    1. Assumption : Enabled Chart Level Scripting
    2. I have created a straight table with
      1. Dimensions: Division and Financial Month
      2. Measure: Actuals (Sum(Actuals))
    3. Create 2 additional dummy measures
      1. Additional Measure 1: Give Sum(0) as the Expression and Running Total as the label
      2. Additional Measure 2: Give Sum(0) as the Expression and % as the label
    4. Copy the script from the attached Example1.txt in the attached .zip file.

    Add the division filter and select the required division, you will see that the totals and % will be re calculated and will adapt as per the selections. In the above example we just created running totals and percentage at the total level. Let us look at example 2 where we will do the calculation at the aggregate level as well as at the divisional level.

    Example 2: Running total and percentage calculations at the aggregate level and at the divisional level

    Steps:

    1. Assumption : Enabled Chart Level Scripting
    2. I have created a straight table with
      1. Dimensions: Division and Financial Month
      2. Measure: Actuals
    3. Create 2 additional dummy measures
      1. Additional Measure 1: Give Sum(0) as the Expression and Running Total as the label
      2. Additional Measure 2: Give Sum(0) as the Expression and % as the label
      3. Additional Measure 3: Give Sum(0) as the Expression and Divisional Total as the label
      4. Additional Measure 4: Give Sum(0) as the Expression and Divisional % as the label
    4. Copy the script from the attached Example2.txt in the attached .zip file.

    Now the totals will be calculated at the aggregate level and at the Divisional Level.

    Please note that I have just written the script in a simple fashion to showcase the functionalities like

    1. Control statements
    2. Regular statements
    3. Prefixes (We will look at this in example 3)

    Example 3: Aggregated measures and dimensions in a bar graph

    Steps:

    1. Assumption : Enabled Chart Level Scripting
    2. Drag and drop a bar graph on a sheet and
      1. Dimensions: Financial Month
      2. Measure: Actuals
    3. Copy the script from the attached Example3.txt in the attached .zip file.

    The above 3 samples are simple uses cases to showcase the power of chart level scripting. Share with me your use cases  where you can apply Chart level scripting .

    In summary Chart level scripting provides a simpler and compact way of solving specific business problems.

    Happy Qliking!!!!!!!!!

    Useful References

    1. Turning on chart level scripting ‒ Qlik Cloud
    2. Using chart level scripting and Limitations of Chart Level Scripting ‒ Qlik Cloud
    3. Chart level scripting ‒ Qlik Cloud
      1. Control statements ‒ Qlik Cloud
      2. Prefixes ‒ Qlik Cloud
      3. Regular statements ‒ Qlik Cloud 

    About Venkat

    VenkitaSubharaman.JPG

    Venkat is a Solution Architect, currently working with the presales team at Melbourne (Australia), having a broad experience in leading and systematizing BI Initiatives. With 25+ years of experience. Venkat has participated in various development projects & has played a key development role in the Enterprise Level Data warehouse & Business Intelligence Applications. Venkat has a deep interest in research and data analysis, drawing actionable insights from the raw data to help further the business’ goal. 

    www.linkedin.com/in/venkitasubharaman

    Show Less
  • Image Not found
    blog

    Product Innovation

    The Latest Addition to Automations

    Announcing a significant enhancement to Qlik Application Automation with the introduction of the Get Chart Image block in the Qlik Reporting connector... Show More

    Announcing a significant enhancement to Qlik Application Automation with the introduction of the Get Chart Image block in the Qlik Reporting connector. This new feature allows users to generate chart images directly within their automation workflows, streamlining the process of sharing visual insights.

    Key Features

    Generate Chart Images: Easily create images from your charts without the need for manual screenshots or additional tools.

    Distribute Effortlessly: Utilize various connectors within Qlik Application Automation to share these images across multiple platforms, including popular chat tools like Slack and Microsoft Teams.

    Embed in Emails: Seamlessly embed chart images into HTML emails, ensuring that your recipients receive immediate visual insights.

    Store in Cloud Services: Safeguard your generated images by storing them on cloud storage solutions such as Microsoft SharePoint, Amazon S3 or Dropbox.

    This update significantly enhances the reporting process by enabling:

    • Automation of Workflows: Automate the entire cycle from data analysis to chart generation and distribution, saving valuable time and reducing potential errors.
    • Real-Time Collaboration: Keep your team informed with up-to-date visualizations shared through their preferred communication channels.
    • Flexibility and Accessibility: Easily access and share insights across various platforms, making data-driven decision-making more efficient.

    QlikProductUpdates_0-1727966660270.gif

    Get Chart Image Demo

    More information on using the block and example automations are available on Qlik Community.

    Show Less
  • Image Not found
    blog

    Qlik Education

    2022 Qlik Sense Product Certifications now open for Registration!

    The 2022 Qlik Sense product certifications are now open for registration with the first exam date of December 14, 2022. Register now for the best choi... Show More

    The 2022 Qlik Sense product certifications are now open for registration with the first exam date of December 14, 2022. Register now for the best choice of appointment times!

    • The 2022 Qlik Sense Business Analyst and 2022 Qlik Sense Data Architect product exams will be platform neutral. The topics covered on these exams apply to both the client-managed and SaaS environments.
    • The 2022 Qlik Sense System Administrator product exam will apply only to the client-managed environment.
    • All who earn a Qlik Sense product certification will receive a digital badge through Credly.

    All 2022 Qlik Sense Beta results, including digital badges for those who have earned a certification, will be released on December 14, 2022.

    Go further with Qlik Sense SaaS Endorsements!

    Once you earn your 2022 Qlik Sense product certification, you are eligible to sit for associated Qlik Sense SaaS endorsements. These endorsements validate your skills on capabilities specific to the Qlik Sense Cloud/SaaS environment.

    • Endorsements focus on the user roles of Qlik Sense - Business Analyst, Data Architect, and Administrator.
    • Qlik Sense SaaS endorsement exams are offered for free to candidates who pass a Qlik Sense product certification exam (see below).
    • More details, including the topics covered on each Qlik Sense SaaS endorsement, can be found on our website.

    Qlik Sense SaaS endorsement registration opens soon

    Those who earn a 2022 Qlik Sense product certification are eligible to sit for the associated Qlik Sense SaaS endorsement. The table below outlines the required pre-requisites:

    Qlik Sense SaaS Endorsement

    Required Pre-requisite Certification

    Qlik Sense SaaS Business Analyst Endorsement- 2022

    Qlik Sense Business Analyst Certification - 2022

    Qlik Sense SaaS Data Architect Endorsement- 2022

    2022 Qlik Sense Data Architect Certification - 2022

    Qlik Sense SaaS Administrator Endorsement- 2022

    2022 Qlik Sense Business Analyst Certification - 2022

     

    Visit our certifications page to register for Qlik Sense certification exams today! Questions? Reach out to certification@qlik.com.

    Show Less
  • Image Not found
    blog

    Design

    Not another Qlik Sense Spotify App - no really!

     I am always learning new things. When it comes to learning about Qlik Sense, or any software for that matter I am a big proponent of using "something... Show More

     

    tweet_spot.gifI am always learning new things. When it comes to learning about Qlik Sense, or any software for that matter I am a big proponent of using "something" (scenarios, data and examples) that has interest to me so I can relate to it better. My data and example choice is using video game data, but I digress.

    As you may know, I have been working with Qlik Solution Architect @TomiKomo  - Tomi Komolafe - to share his stories and examples of “things” he encounters in the field when visiting customers and prospects. (You can see some of his solutions and experiences here.)

    Well this time, Tomi wanted to share something fun. Similar to how you  have seen me present many aspects of the product using video game or star wars related data,  I paused and asked Tomi – “What speaks to you? What are one of your passions?” – he said: “Music, my friends and I love listening to music.”  After further discussion – the idea of using Spotify data arose as Tomi and friends had Spotify accounts.  BUT this has been done a few times already I am sure, and this time around we didn’t just want to present the data we wanted to show how Qlik Sense analysis in conjunction with the features of the Associative Difference can help solve a particular problem Tomi was having – “What songs or other artists out there am I missing?” 😁  Is it possible that by using Qlik Sense Tomi can correlate data from his own and friend’s Spotify listening habits and find out what songs and artists he may not be listening to? – Watch this awesome video of what he discovered!

    Take it away Tomi!

     

    Tomi's Outline

    • My friends and I listen to Spotify
    • Use Qlik’s REST API to access our Spotify statistics
    • Use Qlik’s powerful Set Analysis and Associative feature to find songs I should check out
    • Play these songs right from my Dashboard to see if I like them

     

    Let's Begin

    Have you ever thought to yourself, how come there’s isn’t a Qlik Spotify app that just tells me what songs I should listen to? Well, now, you are at least thinking about it and there is such an app.

    I should set up the scene so I don’t come across as some Qlik nut who turns every moment into a “lets see if Qlik can solve it” scenario. Some of my closest friends live in New Jersey (I’m in DC, 4 hrs away) and during the pandemic, I was only able to visit them sparingly. Every so often, we would be grilling in the backyard or working out in our make-shift gym, playing music in the communal ANKER Bluetooth speaker. Some of the songs I heard, I really liked and I would’ve never heard them in my sphere of Spotify influence.  Other songs were from artists I love but I hadn’t heard that particular song.

    I cornered these 5 friends to get access to their Spotify song history (No friends were hurt in the development of this app). What you will discover are the myriad of ways we can analyze this data to bubble up interesting insights and trends. Fortunately, there’s a rich amount of data in the Spotify API anyone can access.

    Here are some of the cool questions I will be answering using this data in this and subsequent videos:

    • Which friends are more like some other friend(s)?
      Yes, I stand by the statement that our song choices say a LOT about us.
    • Which songs are guaranteed to be hits for me based on my friends tastes?
    • This one is pretty cool - If I were an advertising company, which strategies would I use to penetrate each of our attention domains?
      (Coming in another video release)
    • Did the pandemic have a significant effect on our song choices and which friend was affected the most?
      (Coming in another video release)

     

    Many more questions also keep bubbling up. What’s pretty cool is how some of the techniques used here can be applied to everyday business decisions. For example, which product should be paired with another product to improve margins based on supplier activity?

    You should wait till the end of the video to see another cool surprise. It involves an extension that @joe_warbington , previously at Qlik, created.

    Maybe I am a Qlik nut who turns everything into a Let’s see if Qlik can solve this… 😉

    Regards,
    @TomiKomo 

    Resources:

    • Qlik Sense .QVF attached

    Here's an example of something I coded to get all songs so I could play them for example:

    Let vRecordNo = NoOfRows('WheneverExposed');
    For i = 0 to $(vRecordNo) //this variable set in prior section

    LET vSongTitle=Peek('Song Title',$(i),'TmpTable');
    LET vReleaseYear=Peek('Release Year',$(i),'TmpTable');
    SET vTrackName = "track:$(vSongTitle) year:$(vReleaseYear)";

    Endpoints Used - Spotify REST API

    Show Less
  • qlik-productblogs.jpg
    blog

    Design

    REST connector: Using WITH CONNECTION

    I was approached by a colleague with a simple but recurrent question, how can I use for…while loops in conjunction with the REST connector, and how ca... Show More

    I was approached by a colleague with a simple but recurrent question, how can I use for…while loops in conjunction with the REST connector, and how can we make it work with the connection library that comes with Qlik Sense.

     

    A few months ago I shared a “hack” so we can do loops in our scripts as we do with QlikView, activating Legacy Mode will make connection library optional, please remember that there are a bunch of good reasons for not do that.  “With connection” is a great solution for those of you who don’t want or just can’t activate Qlik Sense Desktop to work in Legacy Mode but still need to loop through several URLs to get complete data.

     

    Let’s do a quick example.

     

    We need to load data from an online data source, we have a URL to connect to the data that contains the ID of each one of the elements that we would like to load into our app.

     

    https://www.domain.com/element?key=elementID/more_stuff

     

    We have a list of 100 alphanumeric elementIDs and we need to make sure we load them all. Using our REST connector, we could easily connect to the online data source and extract the data,  but we faced the issue of how to make to connection loop trough a series of items.  

    In our example we have an inline table that contains each one of the ID numbers of the elements we want to read in the REST connector, and we need to pass that parameter to the connection URL below.

     

    LIB CONNECT TO 'REST';
    
     
    ElementsToLoad:
    
    Load * inline [
    
    ElementID
    
    12fa91
    
    1sy293
    
    h13d13
    
    …
    
    ];
    
    
    Let j=0; for j = 0 to 99 Let vElementID = peek('ElementID', $(j), 'Teams'); RestConnectorMasterTable: SQL SELECT     fields     FROM "datad") FROM JSON (wrap on) "root" PK "__KEY_root" WITH CONNECTION(Url "https://www.domain.com/element?key=$(vElementID)/more_stuff/"); NEXT j; DROP TABLE RestConnectorMasterTable; exit Script;

     

    After the inline statement, we loop over the REST connection 100 times, one time for each row of the inline table, I know we have 100 rows so I'm hard coding that number but if you don't know how long your table is you should check that before and store it in a variable.

     

    Lately, using "With Connection" we have access to the data source URL so we can expand my variable "vElementID" containing the necessary ID for the connection to work.

     

    More info about "With Connection" here -> https://help.qlik.com/en-US/connectors/Subsystems/REST_connector_help/Content/Connectors_REST/Load-REST-data/Load-data.htm#WITH-CONNECTION-keyword

     

    Arturo @arturoqv

    I wish you all a great end of the year and a very successful 2019.

     

    Show Less
  • Image Not found
    blog

    Qlik Education

    The Revolution of Machine Learning: First Qlik AutoML Course with Limited- time ...

    We’re super excited to tell you about our new course: Predictive Analytics with Qlik AutoML! This course will take you into the amazing world of Machi... Show More

    We’re super excited to tell you about our new course: Predictive Analytics with Qlik AutoML! This course will take you into the amazing world of Machine Learning, and guess what? You won’t need to write any code! Can you imagine doing predictive analysis without being a Data Scientist? This is the revolution you’ve been waiting for! 

    And if you’re already a Data Scientist, don’t worry, this course is for you too. It will help you automate your work, so you can focus on what matters most and save time. 

     In just one day, you will be able to: 

    • Understand what kinds of problems AutoML can solve. 
    • Learn key concepts about experiments. 
    • Create your own experiments. 
    • Learn about Model Optimization. 
    • Understand the different prediction methods, create AutoML Deployments, and handle output files. 
    • Create Qlik Sense visualizations to understand and use the results from AutoML predictions. 

    Our first session is scheduled for November 13 and it comes with some fun surprises that we’ll reveal over time! Register this week to get 30% off (use code CLASSROOM30 at checkout) 

    But hurry, only the first 10 people to sign up for the first course will get these exclusive bonuses.- Don’t miss out! 

    Bilge_Kara_0-1727982541776.png

    And this is just the beginning! Next week, we’ll reveal the second bonus, and the week after that, the third bonus. The surprises keep coming! 

    Book your seat now! before all the spots with bonuses are gone. 

    Happy Learning! 

     

    Show Less
  • Image Not found
    blog

    Support Updates

    Upgrade advisory for Qlik Sense on-premise November 2024: Required add-on upgrad...

    Hello Qlik Admins and Developers, The next major Qlik Sense Enterprise on Windows release is scheduled for November 2024. The update will introduce ch... Show More

    Hello Qlik Admins and Developers,

    The next major Qlik Sense Enterprise on Windows release is scheduled for November 2024. The update will introduce changes that will have an impact on the following add-ons:

    • Qlik Alerting (link)
    • Qlik Sense Mobile client-managed (link)
    • qlik-cli (link) Upgrade to v.2.25.0 or higher
    • qlik/api (link) Upgrade to v1.12.0 or higher
    • Qlik Sense .NET SDK (link) Upgrade to v16.8.0 or higher

    The changes affecting the add-ons are:

    • Extended CSRF protection to Websocket requests
    • Adding support for CSRF to add-on products

    New versions of all affected add-ons will be available with the November 2024 release, and the associated Release Notes will provide detailed information on any improvements and changes.

    Please plan your upgrade accordingly to prevent interruptions:

    If you upgrade to Qlik Sense Enterprise on Windows November 2024, all listed add-ons must be upgraded as well. If you only plan to upgrade the add-ons, Qlik Sense Enterprise on Windows does not need to be upgraded. 

     

    Thank you for choosing Qlik,
    Qlik Support

     

    Show Less
  • Image Not found
    blog

    Design

    Qlik Cloud WordPress Plugin: updated version using Qlik Embed

    If you’ve came across the initial Qlik Cloud Wordpress plugin on the Qlik Community Design blog and gave it a try, you probably have run into some iss... Show More

    If you’ve came across the initial Qlik Cloud Wordpress plugin on the Qlik Community Design blog and gave it a try, you probably have run into some issues with it. Today, I’m going to share a new updated version of the Qlik Cloud WordPress plugin that brings a more efficient way to embed Qlik Cloud analytics into your WordPress websites.

    In this post, I'll walk you through the steps to install, configure, and use the new version of the plugin to bring your Qlik Cloud visualizations directly into your WP pages and posts.

    Why the Update?

    The previous version of our plugin relied on JWT tokens for auth, iframes (single integration API) and nebula.js for embedding, which worked but had limitations such as third-party cookies. Qlik Embed is the new embedding library and adopts better auth flows. In this version, I'm using OAuth impersonation to generate access token on the backend without need for users to interact with a login page.

    Installation Steps

    1. Install the Plugin
    1. Log in to your WordPress Admin Dashboard.
    2. Navigate to Plugins on the left sidebar.
    3. Click on "Add New" at the top of the page.
    4. Upload the zipped file (download it from GitHub here)
    5. Locate the plugin and click "Install Now".
    6. After installation, click "Activate".

    Note: If you have the previous version installed, deactivate and delete it before installing the new one to avoid conflicts.

    Configuring Qlik Cloud Wordpress Plugin

    Before using the plugin, you'll need to set up OAuth impersonation in your Qlik Cloud tenant.

    Create an OAuth Client
    1. Log in to your Qlik Cloud tenant as an administrator.
    2. Navigate to Management Console > Integrations > OAuth.
    3. Click on "Create new" and fill in the required details:
      • Name: Give a recognizable name like "WordPress Integration".
      • Allowed Origins: Add your WordPress site's URL.
    4. Select the right scopes to grant to the client from the Scopes list.
    5. Check “Allow Machine-to-Machine (M2M)” and “Allow M2M user impersonation”
    6. Change the consent method to Trusted
    7. Save the client credentials (Client ID and Client Secret) to be used in WordPress Config.

    Docs here: https://qlik.dev/authenticate/oauth/create/create-oauth-client-m2m-impersonation/

    Make sure to read through the Guiding Principles of OAuth Impersonation: https://qlik.dev/authenticate/oauth/guiding-principles-oauth-impersonation

    P.S: this method will create a number of anonymous users on your tenant and you need to implement a way to remove these users periodically (using a Qlik Application Automation / users API)

    Configuring the Plugin
    1. In your WordPress dashboard, go to Settings > Qlik Cloud Embed.
    2. Fill in the required fields:
    3. Click "Save Changes".

    image1.png

    Using the Plugin

    Embedding Sheets and Visualizations

    With the plugin configured, you can now embed Qlik Cloud content using Shortcodes.

    1. Embed an Entire Sheet/App

    Use the [qlik-embed-app] shortcode:

     

     

     

     

     

    [qlik-embed-app appid="1234-c56a-4062-ac50-377bba443e85" sheetid="12345-698f-449f-9a17-dca17eeadb71"]

     

     

     

     

     

    Parameters:

    • appid: App ID
    • sheetid: Sheet ID

    image2.png

    2. Embed Individual Visualizations/Objects

    Use the [qlik-embed-object] shortcode:

     

     

     

     

    [qlik-embed-object appid="1234-64317-8432" objectid="1234-5553-326432"]

     

     

     

     

    Parameters:

    • appid: App ID
    • objectid: Object ID

    image3.png

    3. Embed Selections bar

    Use the [qlik-embed-selections] shortcode:

     

     

     

     

    [qlik-embed-selections appid="1234-c56a-4062-ac50-377bba443e85"]

     

     

     

     

    Parameters:

    • appid: App ID

    image4.png

    Tip:

    Finding IDs in Qlik Cloud
    1. Open your app in Qlik Cloud.
    2. Navigate to the sheet or object you want to embed.
    3. In the URL, find the sheet ID
      • Sheet ID comes after /sheet/
    4. For object, right click on the chart, click on Embed, and look for objectid under the chart preview.

     

    You can download the plugin here: https://github.com/qlik-demo-team/wp-qlik-saas-plugin

    P.S: this plugin is maintained by myself. If you find any bugs or issues, please report them to me or create an issue on Github and I'll do my best to resolve them quickly.

     

    Thank you!

    Show Less
  • Image Not found
    blog

    Support Updates

    Resolved: Cannot log in to Qlik Customer Portal

    Hello all, This has been resolved as of 13:00 Central European Time, 2nd of October. Should you still experience issues, please do not hesitate to use... Show More

    Hello all,

    This has been resolved as of 13:00 Central European Time, 2nd of October. Should you still experience issues, please do not hesitate to use our Chat and we'll be right with you. Thank you for your patience.

    Due to a degradation in Salesforce service performance, users are currently unable to log in to the Qlik Customer Portal

    While we work on resolving the issue for you, please continue using our Chat to remain in contact with us. 

     

    Thank you for choosing Qlik,
    Qilk Support

    Show Less
  • Image Not found
    blog

    Design

    Use of a Silent Legend

    In this blog post, I will revisit a topic that I blogged about over a decade ago, the use of a silent legend. By default, a legend is created in a vis... Show More

    In this blog post, I will revisit a topic that I blogged about over a decade ago, the use of a silent legend. By default, a legend is created in a visualization when there are multiple dimensions and/or measures. The legend helps the user understand the visualization. Legends are helpful and without them, users may not comprehend the data in a visualization. But what do you do if have many visualizations on a sheet? Do you need a legend for each chart? Let’s look at the various ways a legend can be used and how a silent legend can reduce the clutter and give a sheet a cleaner look.

    In the screen shot below, there are four visualizations at the bottom of the sheet with legends.

    all legends.png

    In this app, the legends are all the same because the visualizations are using the same asset class dimension. In this example, the legend does not need to be displayed for each visualization because it is redundant. Let’s see how this sheet will look if only one of the legends are kept on the sheet. A legend can easily be removed by toggling off Show Legend in the properties of the chart.

    remove legend.png

     Here is what the sheet looks like with just one legend.

    one legend.png

    The sheet looks better with one legend versus four legends. This use of one legend for four charts, has decluttered the sheet and reduced repetitiveness. If a developer wants a legend to be displayed without expanding the chart, they need to ensure the visualization is large enough. Without the legends in the three stacked bar charts, less space is needed for the charts, thus they can be made smaller, if desired, to take up less space on the sheet. Since all the visualizations at the bottom of the sheet are using the same legend, the legend was placed with the first visualization, assuming a user is reading top to bottom, left to right.

    Now, the beauty of a silent legend is that all visualization legends can be removed from a sheet. In the screenshot below, the four headings at the top of the sheet are colored based on the asset class they represent. So, Equity is green, Fixed Income is dark blue and so on.

    no legends.png

    This is an example of silent legend. The legend is implied by the asset class headings. This option looks even better and cleaner than the sheet with one legend.

    The use of a silent legend is possible in this app because there are only four values for asset class. I have seen this work nicely with up to six values. Anything more may become too cumbersome and may require a legend to be used. Also, if the four visualizations at the bottom of the sheet used different dimensions, then multiple legends should be used. Legends are important and they should not be removed to add space if the chart is unreadable without it. What good is a pretty chart if you do not understand it.

    Thanks,
    Jennell

     

     

    Show Less