Custom 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.5KViews0likes0CommentsExploring the Potential of Sisense Jump to Dashboard Filter Configurations
Sisense Jump to Dashboard offers a powerful way to enhance the user experience and streamline data exploration with the help of different filter configurations. By default, all the filters from the parent dashboard, measured values, and widget filters are passed and replaced in the drill dashboard. This guide explains and provides examples of how you can customize the way filters impact the drill dashboard. We'll delve into multiple filter configuration options and provide a step-by-step guide on how to implement them effectively.2.1KViews3likes2CommentsManaging Sisense Add-ons: Upgrades, and Version Control
This article describes how certified add-ons are upgraded in Sisense. Additionally, this guide will help you address questions related to add-on versions, such as when different versions of add-ons are installed on different instances or how to keep add-ons updated on on-premise instances.431Views1like0CommentsCustom UI Colours (Instead Of Yellow)
Download: For V7.0 - V7.1, For V7.2 and V7.3, For V7.4 Plugin allows changing Sisense yellow color to any color you wish. This plugin causes instability with some Sisense versions and is not supported. Use at your own risk. STEPS STEP 1 - ADD THE PLUGIN Download the attachment and unzip the contents into your C:\Program Files\Sisense\PrismWeb\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. STEP 2 - USE THE PLUGIN Reload sisense web app. BEFORE: AFTER: CONFIGURATION: Navigate to .../styles in the plugin folder and edit config.less (or config.scss) file with colors according to your desire. Change log: 05/17/2019 - Support for V7.4 and change color for button on login page. NOTE: In the latest versions of Sisense (Windows and Linux - 8.2+), you have this feature baked into the product - Look & Feel (on the Admin tab)485Views0likes0CommentsThe Smart Label
Download: Smart Label Introduction The following article describes steps needed to add to create smart text widget to present ElastiCube fields as text. Implementaion Steps Extract the folder in the attached zip file into \...\Sisense\PrismWeb\plugins. If you are using version 7.2 and higher unzip the contents into your C:\Program Files\Sisense\app\plugins\ folder. Create new widget and chose the smart label icon from the list Choose a field to present, set a design and hit "Apply" [Please note, that in case you have multiple values, it will present the first one. Therefore, it is always better to change the type of the filter to single value only, like in the given example] This plug in works on Version: L8.0.5.156. Only drop the plug in folder contained in the download folder into the plug ins folder in Sisense.1.5KViews0likes0CommentsThe Chart Label Order Changer
Download: Change Labels Introduction The Label Changer is efficient when wanting to order text values in a specific order which is not alphabetical order. For example: Ordering Week days names as : Sunday, Monday… or Month names as: January, February etc… The plugins works with multiple values on Bar Chart, Column Chart and Line Chart. The plugin also supports break by. Steps In order to add the Label Changer plugin, please follow the listed steps below: STEP 1: Create a custom field in the EC that has the desired values with numbers at the start. Each value will begin with the ordered number (The first one with ‘01’ ) and the desired text to present in the dashboard. Examples: For the days of the week use this text: CASE WHEN DayOfWeek(Date) = 1 THEN '01Sunday' WHEN DayOfWeek(Date) = 2 THEN '02Monday' WHEN DayOfWeek(Date) = 3 THEN '03Tuesday' WHEN DayOfWeek(Date) = 4 THEN '04Wednesday' WHEN DayOfWeek(Date) = 5 THEN '05Thursday' WHEN DayOfWeek(Date) = 6 THEN '06Friday' WHEN DayOfWeek(Date) = 7 THEN '07Saturday' ELSE '' END For the Month Names use this text: CASE WHEN getMonth(Date) = 1 THEN '01January' WHEN getMonth(Date) = 2 THEN '02February' WHEN getMonth(Date) = 3 THEN '03March' WHEN getMonth(Date) = 4 THEN '04April' WHEN getMonth(Date) = 5 THEN '05May' WHEN getMonth(Date) = 6 THEN '06June' WHEN getMonth(Date) = 7 THEN '07July' WHEN getMonth(Date) = 8 THEN '08August' WHEN getMonth(Date) = 9 THEN '09September' WHEN getMonth(Date) = 10 THEN '10October' WHEN getMonth(Date) = 11 THEN '11November' WHEN getMonth(Date) = 12 THEN '12December' ELSE '' END Status sorting: CASE WHEN Status LIKE 'Fail' THEN '01Fail' WHEN Status LIKE 'Medium' THEN '02Medium' WHEN Status LIKE 'AboveAverage' THEN '03AboveAverage' WHEN Status LIKE 'High' THEN '04High' WHEN Status LIKE 'Amazing' THEN '05Amazing' ELSE '' END STEP 2: DOWNLOAD AND EXTRACT THE ENCLOSED CHANGELABELS.RAR ZIP FILE INTO THE PLUGINS FOLDER: C:\Program Files\Sisense\PrismWeb\plugins\, 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 3: Edit config file under: (Right Click and Edit with Notepad ++) C:\Program Files\Sisense\PrismWeb\plugins\ChangeLabels\config.js Add the Custom fields (You can create more than one) you created to the dimensionsToChange with as: ["[TableName.FieldName]"] For Example: var dimensionsToChange = ["[Commerce.DayofWeek]","[Commerce.MonthName]"]; Step 4: Create a chart with the custom field you created. Press Apply. Refresh the dashboard and the values will appear without the numbers. Example of the Plugin with DayofWeek field break by Age Range: General Note: This plug-in actually removes the first 2 characters from the values of the field in the web display but maintains the order of the values according to the 01 / 02 / 03 etc. In case you have values that begin with numbers please add 1. / 2. / 3. etc. to the beginning of the values (instead of 01 / 02 / 03).886Views0likes0CommentsSnake Chart - Scatter Plot With Linked Points.
Download Introduction A snake chart (if you find a better name let me know) is a scatter plot with all the points linked. Its most relevant when the points represent dates, in order to represent a time series of a date distributed across 2 measures. e.g. unemployment rate and GDP by time etc. Instructions Download the zip file > unzip and place in the following folder C:\Program Files\Sisense\app\plugins- vs 7.2.x C:\Program Files\Sisense\PrismWeb\plugins - vs 7.1.x and earlier Create a regular scatter chart from the widget menu options select Snake Chart > Yes752Views0likes0CommentsSimple Radar Chart Design
SIMPLE AND CLEAN DESIGN FOR A RADAR CHART RadarChart-V1.zip Install: Download the attachment. Extract the .zip folder into the plugins folder. If the folder does not exist, create it prior to extracting the .zip file. For V7.1 and earlier: C:\Program Files\Sisense\PrismWeb\plugins For V7.2 and later: C:\Program Files\Sisense\app\plugins587Views0likes0Comments