Custom Chart Options (Plugin To Easily Apply Highcharts Configuration Using Json)
Download: Custom Chart Options Version: 1.0.0 Created Oct-23-2019 by Steve Lewis (thanks to code re-used from Elliott Herz's Custom Bar/Column chart plugin) Current Version: V1.0.0 Tested on Sisense Version: V8.0.1.10112 Description: Sisense allows a certain level of chart customisation via the user interface out of the box. However, it's also possible to use the Highcharts API to make additional changes (For example, changing the background colour, axes etc.) through custom javascript via the 'edit script' panels of widgets. But - this requires some developer skills, and isn't so convenient for updating multiple properties at the same time. This plugin offers a user interface to be able to edit, preview and save a custom chart configuration (Json document) that follows the Highcharts API documentation It includes and uses an open source Json Editor Instructions: 1) Unzip contents and copy plugin folder to /<sisense_plugins_folder/customChartOptions (e.g. C:\Program Files\Sisense\app\plugins\customChartOptions on windows deployments) 2) Create/Edit a compatible widget (Bar, Column, Line, Area, Pie) 3) Activate "Custom Options" toggle on the Design Panel and click the 'Edit Custom Configuration' button. 4) Click the 'Example Config' and then 'Save & Preview' buttons to see an example of customising a chart. Use the Json Editor user interface and Highcharts API Documentation to customise the chart settings as desired. 5) Chart configuration is saved to each widget, and merged with the other chart options applied by Sisense as the chart is drawn. Therefore you only need to specify those things you want to change, not the entire chart options. Quick demo using the plugin: Limitations: 1) It's likely possible for some strange combinations e.g. choosing a bar chart in Sisense, then changing to a line chart via the custom options. 2) To be discovered1.9KViews1like3CommentsReverse Y-Axis Of A Chart
Paste the following code into the widget script to reverse the Y-Axis. Instead of the lower number at the bottom of the chart, it will be at the top. widget.on('processresult', function(se,ev){ ev.result.yAxis[0].reversed = true; }) If you have a secondary Y-Axis you can leave it as is or inverse it as well by adding the following line after line 2 of the code above. ev.result.yAxis[1].reversed = true;554Views0likes1CommentJumpToDashboard - Troubleshooting the most common configuration issues
JumpToDashboard - Troubleshooting the most common configuration issues This article provides possible solutions to the most common configuration issues with the JumpToDashboard plugin. Please review the symptom of the issue first (what error/behavior you experience with the JumpToDashboard plugin) and then follow the solution instructions. If this doesn’t solve your issue, feel free to contact our Support Team describing your issue in detail. Symptoms: A target (usually with “_drill” in prefix) dashboard disappeared for non-owner users in the left-hand side panel. Solution: this behavior could be intended and is controlled by the JumpToDashboard parameter called “hideDrilledDashboards”. To make the dashboard visible for the non-owners, please check the following: 1. Log in as a dashboard owner and find the dashboard in question in the left-hand side panel. Click the 3-dots menu and make sure it’s not hidden: 2. If it’s not hidden by the owner intentionally, then navigate to the Admin tab > System Management (under Server & Hardware) > File Management > plugins > jumpToDashboard > js > config.js and check if hideDrilledDashboards set to true. If so, then change it to false and save the changes in the config file. 3. Wait until the JumpToDashboard plugin is rebuilt under the Admin tab > Server & Hardware > Add-ons page and ask your user to refresh the browser page to check if a drill dashboard appears on the left-hand side panel. Symptoms: No "Jump to dashboard" menu appears in a widget edit mode clicking the 3-dots menu. Solution: there could be different reasons for such behavior so check the most common cases below: Double-check if the JumpToDashboard plugin is enabled under the Admin tab > Server & Hardware > Add-ons page. Make sure that both dashboards (parent and target) are based on the same ElastiCube. By default, the JumpToDashboard plugin has sameCubeRestriction: true in the config.js file that prevents the ‘jump to’ menu from appearing when a drill dashboard uses a different data source. Check that the prefix you used for the drill dashboard creation is correct. It could be changed in the config.js file. By default, it uses “_drill”: Symptoms: when clicking on a widget that should open a drill dashboard, nothing happens. Solution: in such cases, we recommend opening your browser console (for example, F12 for Chrome > Console tab) to see if there are any errors that could indicate the issue. For example, a 403 error in the console indicates that the target dashboard is not shared with the user who is experiencing the issue. To fix it, login as an owner of the drill dashboard and share it with the relevant user or group. Symptoms: when clicking on a widget to get the drill dashboard you get a 404 error. Solution: This issue usually happens when the target/drill dashboard is removed from the system. In order to fix it, please follow the steps below: Log in to the system as an owner. Find the parent widget and open it in edit mode. Click the 3 dots menu > choose the ‘Jump to dashboard’ menu and select any other dashboard that exists in the system. Press Apply and publish the changes to other users. Note: if you need just to remove a drill dashboard that doesn’t exist from this widget and not substitute it with another one, try the following: after you choose a new drill dashboard, just unselect it after that and then save the changes. If the jump to dashboard menu doesn’t appear for this widget, try to create a new temporary dashboard with “_drill” in the prefix and do the same. Symptoms: The drill dashboard is not opening for some viewers. Solution: republish the drill dashboard to make sure the updated version is delivered to all end users. Additional Resources: JumpToDashboard Plugin - How to Use and Customize1.5KViews1like2CommentsPivot2: "Add Sparklines In Pivots" Re-Implemented
Introduction This plugin was created to allow dashboard designers to create sparklines within a pivot table. This plugin currently supports line, area, and column charts as the sparklines. Steps The following steps will walk through the process of adding the new plugin. STEP 1 - ADD THE PLUGIN Download the latest version of the plugin from this link and extract the enclosed folder into the plugins folder: /opt/sisense/storage/plugins/ STEP 2 - CREATE THE PIVOT FORMULA The main challenge with sparklines is that they require more data than just what's displayed in the pivot table. In order to specify the extra dimensions needed, you can create a multi-pass aggregation function that this plugin will use to generate a new query. The screenshots below show how to create a formula that includes the extra dimension needed to get supporting data used by the sparkline. Please note, you can use either a measure or starred formula for the last item in the sparkline formula. STEP 3 - DEFINE YOUR SPARKLINE Click on the settings menu of your formula, and then the sparkline option. You should see a menu listing the available chart types. If you change your formula, you must recheck the sparkline box. Also, you can set the color of the sparkline, similarly to how you would for any other value in the pivot table.1.5KViews0likes1CommentInclude All Dimension Values (Left Outer Join)
⬇️ Download using the attachment below ⬇️ Introduction A common requirement when performing grouping and aggregate operations, is to include all dimension values in the group irrespective of the contextual filters applied on the transaction table. e.g. For a given QTR show me a list of Customers and Total Sales - Including those Customers who have not made any purchases in the QTR. Installation and Setup Download the file from the link. UnZip it and place the OJ folder within the plugins folder of the file management UI. Admin > System Management > File Management > plugins You should now see the Include All Dimensions option in the widget properties menu for supported widgets. Note: It is recommended that you refresh the dashboard after enabling the plugin on any widget. Technical Details and Limitations Works on Sisense Linux 8.2.4.x onwards. Sisense Windows Not Supported. Works on Pivot / Column / Line Chart widget types only. Works with widgets based on both Live and Elasticube data models. Supports data security. Not conducive for pivots with more than 50,000 rows returned. Sort on measure option not supported. Subtotal and Grand Totals supported for summation rollups only. The plugin will respect any filter directly applied to the table of the Group field(s). Note: You may see the infamous yellow triangle after applying the plugin. - Refresh the dashboard to address this issue. For pivots returning a large number of records, you may see blank results followed by a widget refresh. This is due to the asynchronous nature of JAQL queries executing under the hood. If your widget has multi-level grouping with dimensions linked across a fact table. e.g. Customer > Orders > Sales Rep. Then the pivot will not display all the mathematical combinations but rather all combinations of Sales Rep and Customer in the Orders table.2KViews0likes4CommentsAdditional Data Chart Tooltip Plugin
This script was created for Sisense v5.7.5 and is no longer supported. It may not work correctly on modern versions. Download: Additional Info Tooltip Introduction The Additional Data Chart Tooltip Plugin allows users to display additional measures in a chart's tooltip without adding them as visible series, such as bars, lines, or columns. This allows users to include related metrics in tooltips for deeper insights while keeping the chart itself uncluttered. Steps The Additional Data Chart Tooltip Plugin can be used with Pie, Column, Bar, Line, Area, and Polar charts. In order to add an Additional Data Chart Tooltip Plugin to a chart, please follow the listed steps below: STEP 1: Install the plugin Download and extract the enclosed folder into the plugins folder: For Linux: /opt/sisense/storage/plugins For Windows: C:\Program Files\Sisense\PrismWeb\plugins\AdditionalInfoTooltip, if the "plugins" folder is not there, please create it. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. STEP 2: Configure the widget Open the widget (or create a new one). For Pie charts: In the Values panel, add the measure you want to display in the chart. In the Tooltip panel, add all the measures you want to include as additional information in the tooltip. Save the widget. This is the last step for Pie charts. For other charts: In the values add both the data you want to display in the chart and the data you want to include as additional information in the tooltip. If this is a new widget, save the widget first (so that Sisense can assign a widget ID), then open it again. Open the widget script editor. STEP 3: Configure the widget script (only for non-Pie charts) Script example: prism.additionalInfoTooltip(widget, {seriesIndexes: [1,2] ,displayCurrentSelection:true }); In order to use the plugin, copy the script above and adjust the range [startIndex,endIndexstartIndex] to specify which measures should appear in the tooltip. These indexes correspond to the position of the measures in the widget's Values panel, starting from 0. For example, if your widget has three measures and you want to display only the first measure in the chart while showing the other two in the tooltip, set startIndex to 1 and endIndex to 2, i.e., [1,2]. By default, both the main and additional measures appear in the tooltip, with the main ones listed first, followed by the additional ones. To hide the main measures from the tooltip, set displayCurrentSelection to false. Lastly, save the widget script, save the widget, and reload the page. Examples: Pie chart: Cartesian chart:1.5KViews0likes0CommentsFilter Drill Down Fields Per Widget
Download: Filter Drill Down Introduction We will introduce how to filter, drill down fields on a widget basis. Steps: Step 1: Download the attached plugin and place in .../PrismWeb/plugins, if plugins folder does not exist please create it. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. Step 2: Go to the widget script of the widget you want to apply the filtering on and add the following script, describing which fields you want to remove or keep: var fieldsToKeep = ['[Annual Performance.OrderYear]', '[Orders.CustomerID]', '[Products.ProductName]']; var fieldsToRemove = []; prism.FilterDrillDownFieldsPerWidget(widget, fieldsToKeep, fieldsToRemove); step 3: refresh the page Example: To remove the drill history for good (it will never appear) we can use dashboard script: dashboard.on('domready', function(d,e){ _.each(d.widgets.$$widgets, function(widget){ if(widget.metadata.drillHistory != undefined){ delete widget.metadata.drillHistory; } }) })529Views0likes2CommentsSort Both Axes In Scatter Chart
In order to sort both axes in the Scatter chart you might need to use the following script under the "Widget Script" level var xOrder = 'asc' //also, this value can be desc var yOrder = 'asc' widget.on('beforeviewloaded', function(scope, args) { var shouldBeExecuted = (order === 'desc' || order === 'asc' ) if (args.widget.type !== 'chart/scatter' || !shouldBeExecuted) { return } var daysOrder = args.options.xAxis.categories.sort(); if (xOrder === 'desc') { daysOrder.reverse() } if (daysOrder.length === args.options.xAxis.categories.length) { args.options.xAxis.categories = daysOrder for (i=0; i<daysOrder.length; i++) { for (k=0; k<args.options.series.length; k++) { for (j=0; j<args.options.series[k].data.length; j++) { if (args.options.series[k].data[j].selectionData[0] === daysOrder[i]) { args.options.series[k].data[j].x = i; } } } } } }) widget.on('beforequery', function(se, ev) { ev.query.metadata.forEach(function(m) { if (m.wpanel && m.wpanel === 'y-axis') { m.jaql.sort = yOrder } }) })950Views0likes5CommentsCard View Customization
Before: After: Dashboard script for creating card view: dashboard.on('widgetready',function(d) { $('.dashboard-layout-column').css('background-color', '#f0f0f0'); $('.dashboard-layout').css('background-color', '#f0f0f0'); $('.dashboard-layout-cell-horizontal-divider').remove(); //For Edit Mode //$('.ui-resizable-handle.ui-resizable-e').css('width','0.5px'); //to make the vertical dividers invisible but still accessible - same row between widgets //$('.ui-resizable-handle.ui-resizable-s').css('height','0.5px'); //to make the vertical dividers invisible but still accessible- between rows $('.dashboard-layout-subcell-vertical').css('background-color', 'white').css('box-shadow', '4px 5px 12px #00000078') $('.dashboard-layout-subcell-host').css('padding', '10'); $('.dashboard-layout').css('padding-right', '20px'); $('.dashboard-layout').css('padding-left', '20px'); }); Widget script for rounding corners: widget.on('ready', ()=> { $(element).parent().css('border-radius', '20px'); $(element).parent().parent().css('border-radius', '20px'); })1.7KViews0likes5CommentsPivot2: "Add Image Indicator To A Pivot Table" Re-Implemented
Introduction Adding a visual representation to your measures will allow you to read the bigger picture in a glance, recognize trends and have better user engagement to your dashboards. Comparing data columns or even different values within the same column could be confusing and overwhelming in a table full of numbers, this plugin allows you to see the big differences quickly before you dive into the numbers. Business Usage Comparing values in the table to a predefined threshold and to each other helps you to get a clear picture when analysing performance measures. The Pivot Indicator Plugin works only in pivot tables on numeric values. Steps In order to add The Pivot Indicator Plugin to a widget, please follow the listed steps below: STEP 1 - INSTALL THE PLUGIN - Download the latest version of the plugin from this link and extract the enclosed folder into the plugins folder: /opt/sisense/storage/plugins/ STEP 2 - SETUP CONFIGURATION FILE Define Indicator Parameters value in the configuration file: /opt/sisense/storage/plugins/Pivot2IndicatorPlugin/config.js Default Parameters value: "arrowsThreshold":0, "rangeThresholdMin": 500, "rangeThresholdMax": 1000 You can also define a different treshold for each column in the pivot by the dimension. In order to do so take out the dimentionsThreshold function from remark and change the dimention you'd like to add. Example 1 - without custom threshold: defaultThreshold: { "arrowsThreshold":0, "rangeThresholdMin": 500, "rangeThresholdMax": 1000 } Example 2 - with custom threshold (The example dimensions are taken from the sample ecommerce cube): defaultThreshold: { "arrowsThreshold":0, "rangeThresholdMin": 500, "rangeThresholdMax": 1000 }, "dimensionsThreshold":{ "[Commerce.Cost]": { "arrowsThreshold": 200, "rangeThresholdMin": 300, "rangeThresholdMax": 2000 }, "[Commerce.Revenue]":{ "arrowsThreshold":0, "rangeThresholdMin": 50, "rangeThresholdMax": 200 }} Traffic Light Contains 3 Traffic Lights: red, yellow and green . Traffic Light Indicator has 2 parameters in configuration: rangeThresholdMin and rangeThresholdMax Red traffic light: value < rangeThresholdMin Yellow traffic light: value >= rangeThresholdMin AND rangeThresholdMax => value Green traffic light: rangeThresholdMax <= value Arrows Contains 2 arrows: Up and Down. The parameter arrowsThreshold defines the arrows threshold. Arrow up: value > arrowsThreshold Arrow down: value <= arrowsThreshold STEP 3 - IMPLEMENT IN PIVOT: - Edit a Pivot table. - In edit mode right click on one of the values -> Add Indication and choose the Indication you would like to add. Notes: Export Pivot PDF includes the figures but not the indicators.1.3KViews0likes3Comments