Pivot2: "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.6KViews0likes2CommentsIndicator With Dates, Time And Duration
Purpose/Benefits This plugin adds additional functionality on how one can display duration and date/time stamps in a Sisense indicator. Seconds to Duration takes the calculated integer and converts it to duration in hours, minutes, seconds, etc. Use Case: Say we are connecting to Salesforce, looking at leads, and wanting to display how long it took between the created date and the last modified date in time. This will allow you to display value in seconds as time(HH:MM, HH:MM.SS, etc). Integer to date converts a datetime integer value in the EC to display date and time in various formats. (can apply min/max formula to the integer) Use Case: I have a dashboard to analyze website performance and would like to display in an indicator the last value analyzed. The plugin would allow me to display the max time(latest value) in my desired date format (March 30 2017 3:03 PM) 1- Install Plugin Download the attachment and unzip the contents into your C:\Program Files\Sisense\PrismWeb\plugins\ folder. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. 2- Prepare Data Seconds to Duration: The formatting function will support any integer value. It could be a sum of seconds or Seconds difference between two date/time stamps. Integer to date: In the elasticube convert the Date/Time stamp to an integer date/time value. Please use the below function. 10000000000 * getyear([Date]) + 100000000 * getmonth([Date]) + getday([Date]) * 1000000 + gethour([Date]) * 10000 + getminute([Date]) * 100 + getsecond([Date]) 3- Choose format Create an indicator For Seconds to Duration calculate the seconds you would like to display with a formula In options menu select desired Format from the integer to date group. In options menu select desired Format from the seconds to duration group. For Integer to date apply min or max to the Integer as your formula. In options menu select desired Format from the integer to date group. References/Notes Many thanks to Aryeh, Tak and Ronen for the support in putting this together.2.1KViews0likes1CommentCustom 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.9KViews1like3CommentsInclude 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; } }) })537Views0likes2CommentsPivot2: "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.3KViews0likes3CommentsAdd Additional Tabs To Sisense Header Row
This can not be implemented using Header JS API Downloads Sisense version 7: addButtons-v7.zip Sisense version 6: addButtons.zip Introduction This article explains how to add additional links to the navigation bar, using a plugin in Sisense. Purpose/Benefits Sisense's header pane has 4 default tabs : Data, Analytics, Pulse & Admin. If you wish to add additional tabs to that, you can use the included plugin to add them in. Steps The following steps will walk you through the process of adding a translation engine to Sisense. STEP 1 - ADD THE PLUGIN Download the attachment and unzip the contents into: V7.1 and below - C:\Program Files\Sisense\PrismWeb\plugins\ folder. V7.2 & up - C:\Program Files\Sisense\app\plugins\ folder. If the plugins folder doesn't exist, just create it. STEP 2 - UPDATE THE BUTTONS.JS FILE Open up buttons.js, and update it to include any additional links you'd like to display. If your link is to an external URL, make sure to include http:// before the rest of the URL. If it's just to another page in Sisense, you can just add the path to the page. See the below code block for examples of each. // Add an array to the prism object for additional links prism.extraButtons = [ { link: "http://www.espn.com", label: "ESPN" }, { link: "http://www.cnn.com", label: "CNN" }, { link: "/app/settings#/users", label: "Users" } ]; })845Views0likes1CommentCustom Map Widget
Download: Custom Map Widget Note: (Sept 18, 2017) Added support for filtering on shapes. Introduction This article explains how to embed custom map visualizations in Sisense. Purpose/Benefits Sisense has some native mapping functionality but does not allow for importing custom maps. This plugin allows you to view data in whatever map you like. See the references for more information on GeoJSON, Leaflet, and Mapbox. Custom shapes (Counties) overlayed on a base map: Custom shapes (Chinese Provinces) with no base map: Steps The following steps will walk through the process of adding the new chart type and creating a sample map. STEP 1 - ADD THE PLUGIN Download the customMapWidget.zip attachment and unzip the contents into your C:\Program Files\Sisense\PrismWeb\plugins\ folder. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. If the plugins folder doesn't exist, just create it. After those files have been unzipped there, you may also have to restart the web server. Now, when you create a new widget the Custom Map widget should show up in the list of options STEP 2 - PREPARE GEOJSON FOR YOUR CUSTOM MAP This plugin uses GeoJSON files to overlay data as shapes on a map. More information on GeoJSON can be found here, but the general concept is that each file defines a JavaScript object that has a type of FeatureCollection and a list of features. There are different types of features, but the most common type is a polygon. Each feature represents a shape to display on the map and contains properties and geometry. Properties describe the attributes of the entire shape, while geometry is a list of points. Each point is a latitude/longitude combination, and the mapping function displays all points of the shape on the map and then draws a line to connect them. Below is an example of the format for a GeoJSON file. { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "ID": "1", "Name": "MyShape1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [-86.411172, 32.409937], [-86.496774, 32.344437] ] ] } } ] } This plugin comes with 3 GeoJSON files included, but you can add in more if you want to show a different set of shapes. Some government agencies provide geo data for free use, and there are several 3rd party sites that provide free geo data as well. If you want to add in your own geo data, copy the file to customMapWidget/geojson/ folder. STEP 3 - CONFIGURE THE PLUGIN Open the config.js file and update the setting object's properties. urlTemplate - When using mapbox as the tiling server, you will need to provide a tile url mapboxKey - When using mapbox as the tiling server, you will need to provide an api key mapboxId - When using mapbox as the tiling server, you will need to provide a map type to use shapeSeparatorColor - color used for the outlines of the shapes shapeHighlightColor - color used to differentiate the highlighted shape Next update the list of Map options. This is a list of all the map types that are allowed by the widget, so if you are adding a custom GeoJSON file make sure to add it to the list and set the properties accordingly label - Name that appears in the widget editor, for selecting a map type url - Path to the GeoJSON file showBaseMap - should be true or false, based on whether you want to overlay your data on a map keyAttributes - a list of attribute names to use as the key, these get concatenated together using the separator below keySeparator - character to use as a separator for the attribute key prism.customMap = { settings: { mapboxKey: 'myMapboxApiKey', urlTemplate: window.location.protocol + '//api.tiles.mapbox.com/v3/sangil.i6ch70f8/{z}/{x}/{y}.png', mapboxId: 'mapbox.light', shapeSeparatorColor: 'white', shapeHighlightColor: 'black' }, maps: [ { label: 'Canada', url: '/plugins/customMapWidget/geojson/canada-GeoJSON.js', showBaseMap: true, keyAttributes:['NAME'], keySeparator:',', }, { label: 'US Counties', url: '/plugins/customMapWidget/geojson/USCounties-GeoJSON.js', showBaseMap: true, keyAttributes:['STATE','COUNTY'], keySeparator:'', }, { label: 'China Provinces', url: '/plugins/customMapWidget/geojson/china-provinces.js', showBaseMap: false, keyAttributes:['name'], keySeparator:'', }, ], widgets: {} }; STEP 4 - CREATE THE CHART On your dashboard, click the Create Widget button and select Advanced Configuration. Next, select the Custom Map Chart from the chart types menu. Pick a map type from the menu on the right. This selection determines which shape file to load, so you can use this plugin to make several map types available. Next, pick a dimension to use for the Geography dimension. The values from this field need to match the attribute key defined in the map's keyAttributes field. For example, this plugin comes with a GeoJSON file that provides the shape information for all counties in the US. If you open this file, each shape is has properties for STATE and COUNTY that uniquely identify each shape. The included Elasticube combines the STATE and COUNTY codes into a single field named GeoKey. In order to match up data from the Elasticube to the GeoJSON file, the config file specifies that the key is comprised of STATE and COUNTY. The Label dimension (optional) identifies which field to use when displaying the tooltip. The US Counties example uses FIPS codes to identify each county, but you may want to show tooltips with the county names instead. The Value measure is the number to embed into each shape. You can use the standard options to format the number, and the color selections get passed along to each shape. References/Notes Mapbox API - More information about the Mapbox API. This plugin uses mapbox in order to render the maps, so it does require a Mapbox API Key in order to render shape overlays on top of maps. More information on Mapbox API pricing can be found here. LeafletJS - The Mapbox project is an extension of the Open Source LeafletJS JavaScript library. If you're looking to modify the plugin, this can be a useful reference. Natural Earth - This site provides free geo data for download, so if you don't have the geo data already you can likely get it from this site. MyGeoData - This plugin requires a lat/long coordinate system (WGS 84) in order to display overlays on top of maps. If you're custom geo data comes in a different format, this site can likely help convert it to WGS 84 format. Upload your geo files, and convert/export it to a geojson file using the WGS 84 coordinate system. Also, you may need to change the file extension from geojson to js in order for your web server to know how to handle this file type. SampleElasticube.zip3KViews0likes1CommentGoogle Maps Heatmap - Custom Widget
Disclaimer: This is the community solution that doesn't go through a proper testing and support cycle and is not officially supported. In recent times JS libraries markerclusterer.js and infobox.js used for this plugin development are not present on a google code repository (https://code.google.com/archive/p/google-maps-utility-library-v3/). Before using, please consider changing the plugin code to replace both libraries with local library files (which can be downloaded and placed in the plugin folder) or update to use valid and tested online links. Download: Google Maps Heatmap We can create google maps heat map using the plugin api. Extract the folder in the attached zip file into \...\Sisense\PrismWeb\plugins (if the plugins folder does not exist, create it). If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. create a new widget and add latitude, longitude, and measure columns. it must be in this order, where lat and lng are the first two columns and the last one is the measure, it is possible to add more dimension columns between them, the additional dimensions will be presented in the tooltip of the markers, but the calculations will be executed according to the measure in the last column. press the google maps icon. Notes: The code attached using experimental google maps api key, it has limited number of requests allowed per day, more information can be found here. $.ajax({ type: "GET", url: 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&callback=onGoogleMapLoaded', dataType: "script", cache: true }); The plugin.json file is used to get all the necessary files that we need for the plugin The widget.js implement the necessary methods to render the map The css file is used to design the tooltip of the marker clusters IMPORTANT: When SSL (HTTPS) is implemented over your Sisense site, you will need to change the following URLs in widget.js from http to https: $.getScript('https://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclustererplus/src/markerclusterer.js';, function(data, textStatus) { $.getScript('https://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/infobox.js';, function(data, textStatus) {1.5KViews0likes0Comments