Step 2. We decided to start with a difficult task - create a corporate QlikSense theme. A custom theme in a click is a collection of files (QEXT file, JSON file and optional files like CSS, images, etc.) that help you to promptly override basic formatting - fonts, colors, and padding. In the end, I can say that the QlikSense theme is a great thing which is worth adopting by tableau.
It is important to emphasize that our goal was to stay within the theme capabilities, so that not to add css adjustments, in order to make an easily scalable template..
There are some simple generator programs on that subject to help you set your theme (see sensetheme). At this stage, we confined ourselves to fixing fonts for different types of text, background colors (light gray), object paddings (which eventually create a gray grid), removing all sorts of noise and strokes (be mindful of the data-ink ratio, Roma's article is attached). We also uploaded several test palettes of different types to understand the capabilities. A certain monkey around was devoted to creating color palettes for the guide, the work that I won’t describe. I will only note that I used the coolors service (which fits me the best), and what is more, Qlik also has a useful feature with auto-assigning colors when generating charts in a given priority order, which is often missing in tableau.
During working on the project, we supplemented our theme several times as long as we were creating the visual vocabulary – with formats for axis labels, grid formatting in graphs, hiding excess noise, etc.
![]() | ![]() | ![]() |
Step 3. Another risk for us was that we couldn’t implement navigation using available means - a button bar with various functions that are important to us. Therefore, we started designing the report template. This is a core element of the final product - in fact, a starter empty application for making a new report with layouts for different types of dashboards and customized formatting. The extent to which the template is well-done affects whether it will be time saving and convenient for the developer who reuses it.
Let's start with the key point - we dismissed the idea of placing the navigation block on the side in no time at all, focusing on the classic concept of a functional header. The space above the click is arranged, to my mind, in a quite stupid manner. The traditional view includes two contrasting toolbars and a third strip with the dashboard title. It’s a weird solution, given that each pixel of the workspace height steals at least two pixels of width.
After multiple squats with the VizLib Sheet Menu, we got a succinct toolbar that contains the report name, dashboard tabs, button icons (required and optional), as well as a button for the drop-down filter panel.
Separately, we designed filter placement in the dashboard body, on the right, as well as the button construction for placing them on the dashboard.
![]() | ![]() | ![]() |
Step 4. Next, a little less challenging, but more time-consuming - creation of a visualization vocabulary - an application containing all the normative implementations of the main and optional charts. The point is to give clear examples of the graph drawing in order to reproduce them in projects, as well as give clear recommendations on how they should or shouldn’t be used..
Here, again, it is important to swallow your pride, and not reinvent the wheel. The subject is well covered for tableau, there is a selection here, there is also no longer new, but cherished guide in Luxoft, half consisting of visual vocabulary. Viz truths are multi-purpose, the main problem is to realize them. Here, the click sometimes has advantages when it comes to charts out of the box.
We based on the work by Richard Speigal from NBS on adapting Financial Times Visual Vocabulary for QlikSense. This dictionary is quite convenient due to its structure and composition. The reuse algorithm is simple - we apply our themes and palettes, allow the content pass through ourselves, add our own content (we added about 30%), refine (and in fact "clear") the formatting of individual charts.
We expanded the standard charts with custom objects: our collection of KPI plates based on Vizlib KPI Designer, as well as tables with sparklines.
![]() | ![]() |