Additional Options for Displaying Values on Graphs
During widget creation, and dashboard development, we have all came across multiple dilemmas and questions like: - Does this widget look good? - Does this look good as part of the whole dashboard? - Is the dashboard too crowded? Is the widget too crowded? - Shall I add/remove something? A frequently used widget in most of our dashboards are line charts, bar charts & probably a combo of both on the same widget! Their power on showing trend and correlation with another metric/value, is often a key-part to detect an insight/outlier by applying some business perspective on those data, as well 😉 One of the challenges is, when you try to plot multiple points(eg. over 20) on a Line Chart, it can be by itself crowded (refer to example1.png attached). You would agree that some numbers are hard to read, right? Imagine, having a beautifully structured schema, where this beautiful trend can be broken down to another dimension (refer to example2.png attached). Yes, I know.... This is how easy a beautiful chart can get ugly in 2-secs.. There used to be a functionality in Windows (probably a custom plugin) that gave the dashboard developer/designer the opportunity to select which Values to show, eg. First, Last, Min, Max) In Linux, unfortunately this plugin is not compatible, therefore I am reaching out to you Sisenser's, if you are facing similar issue, if you have tackled it, and if there is any plan to add this Sisense's roadmap for development in future versions as part of Product Feedback. I have also included the dashboard.png as part of the "Does this look good as part of the whole dashboard?"! 🙂4.5KViews1like11CommentsScript to dynamically generate URLs for hyperlinks in Pivot Table rows
Hello! I need help modifying a widget-level script that we've used for years to create clickable hyperlinks in our Pivot tables. First, a bit of background. My company doesn't use Sisense directly, instead we use matter management software called TeamConnect, which has a reporting component called "TeamConnect Business Intelligence" or TCBI. This is just a rebranded form of Sisense; in our case, it's specifically Sisense v8.2.1 (Windows). It's important to keep this in mind, since ours is an older version of Sisense, so certain features may not be available to us, or certain scripts may not work in our environment. Also, we do not have direct access to the backend admin area for TCBI/Sisense (only the vendor behind TeamConnect does), so ideally I'd like to avoid solutions that involve modifying or creating new columns/tables in the eCube. If this is the only solution then we'll work with the vendor, if need be, to modify things in the eCube, but this potentially costs us so we try to avoid it unless necessary. Anyway, we've long been using the following script to create hyperlinks in our pivot tables: widget.on('ready', function(se, ev) { prism.createDrillDown(widget, "<LinkedColumnName>", "<PrimaryKey>", “<ObjectID>", "_<location>", "<TeamConnectURL>"); } ); "LinkedColumnName" is the name of the column that we want to be the hyperlink. "PrimaryKey" is the unique identifier for the record we want to link to, and is a required part of the URL we're constructing. "ObjectID" indicates the type of record being linked to, and is also required for the URL to work properly. Here's a specific example of a script we'd use: widget.on('ready', function(se, ev) { prism.createDrillDown(widget, "Dispute Name", "Dispute Primary Key", "DISP", "_blank", "https://southwest.teamconnect.com/SOUTHWEST"); } ); Basically, this is saying "Make whatever is in the 'Dispute Name' column into a hyperlink, utilizing the code 'DISP' and whatever unique ID is under 'Dispute Primary Key'." (Note: you'll notice it somehow inserts "/entityrecord/" between the base URL and the object code+PK. I'm not sure how it does that. Perhaps it is functionality that's unique to TCBI, or they're using a plugin of some kind?) Anyway, this script has served us well for several years, but recently we ran into an issue with a new custom table we asked the vendor to create for us. It's a unioned table that has records from two different objects. This means some rows need to link to a "DISP" primary key, but others need to use a different object code: "TRAN". In our current script, the "DISP" part is hard-coded. This means if we use the script as-is then the hyperlinks it generates for TRAN-type records is incorrect. We could change it to use "TRAN" instead but obviously then the DISP-based records won't work. We need a way for the script to dynamically switch between either "DISP" or "TRAN" depending on the record. As you can see in the screen, we do have a column in that custom table that lists the object, called "Object Type". The problem is that the values are not an exact match for what the linking URL requires. They show the full name of the object ("Dispute", "Transaction") not it's shorter code ("DISP", "TRAN"). So we'd need some way of taking the LEFT of Object Type for the first four characters, or maybe just simple if/then logic (e.g. "If 'Dispute', then 'DISP'"). However, before we can even attempt that, we noticed a larger issue when we tried modifying the script to insert "Object Type". widget.on('ready', function(se, ev) { prism.createDrillDown(widget, "Matter Name", "Matter Primary Key", "Object Type", "_blank", "https://southwest.teamconnect.com/SOUTHWEST"); } ); Unfortunately, this doesn't work. That third parameter is treated as a literal, rather than dynamically pulling the correct value, so it simply outputs the phrase "Object Type" into the URL for every row. Is there a way we could make it pull the actual value from the column, like the other parameter is doing with the Primary Key? And if so, is there a way we can limit the value to the first four characters instead of the full name? Alternatively: is there a different way of achieving this, perhaps with another script? We don't mind switching to something else as long as it achieves the same end goal (opening up hyperlinks in a new tab to the correct URLs).Solved4.3KViews0likes15CommentsCan you plot a single point on a scatter map to indicate my office location vs my data plots
Hi everyone, I am wondering if anyone has any widget script that allows you to plot a single point on a scatter map widget that allows you to easily see how your usual plot points are located compared to that specific location? For example, if my office is based at a specific set of co-ordinates, I would like to add a marker to that location to easily see where it is on the map, compared to the points that are plotted from my data. I know that you can use set and center a map using the article here: https://community-old.sisense.com/hc/en-us/community/posts/221227568-Center-Zoom-Scatter-Map but just wondered if anyone had managed to ever add a plot instead Thanks, JamesSolved3.8KViews0likes10CommentsHow to pivot this data table?
I have this data table in my database. Both seller and contract terms are varchar fields and the rest are float fields. I want to pivot this to show the end table like below. However, it seems impossible to do in sisense. I used pivot table in sisense and this is what I could do best, which is not acceptable by my manager. Below is my settings in sisense using pivot table. I have tried using table which didn't work either. I have read almost everything about pivot tables in the sisense community but nothing seems to help. Can any sisense gurus help with this?3.8KViews1like12CommentsExcluding from an existing Dashboard filter using BLOX
Hello, I had an earlier challenge which was solved by Daniel (@rapidbisupport). Thank you! Now, I'm hoping to take this one step further. After the Dashboard filter has been created, I'd like to create another BLOX button to remove specific filter entries from the list (either remove from the include or exclude) using a similar method as previous. Here is the link to the last request / post: link to post Thank you in advance!Solved3.4KViews0likes8CommentsPass Dashboard Filter value to Data Model as a Parameter
Hi Team, I was wondering if there is way to pass one dashboard filter value ( report id ) to the SQL query in the Data Model. We have a scenario, when a user loads the dashboard one of the dashboard filters gets dynamically updated while in embedded mode. (We're using EmbedSDK). I was trying several approaches for Cascading filters without using Dependent Filters feature as we want to have the freedom to control individual filters. I read about Cascading filters by TriAnthony here (https://community.sisense.com/t5/knowledge/dashboard-script-for-automatic-filter-cascading/ta-p/18994 ). However in our use case, we have different dimensions that wont have same values but we need they need to be cascaded. Your inputs are greatly appreciated. TIASolved3.3KViews0likes8CommentsCount two dates
I have 3 columns DueDate, FinishedDate, ID What i want a metric of, is for a given time period, what is the ratio of finished date / due date basically, in september, you had 40 records with a duedate in september, but only finished 20... the x axis does not HAVE to be duedate or finisheddate, but if it's possible, the x axis should be duedate i've tried the formula (count([Id]),[Months in FinishedDate])/(count([Id]),[Months in DueDate]) but it always just equals 100%... thoughts?Solved3.2KViews0likes3CommentsMerge borders for multiple widgets
Hello, I'm trying to merge borders for multiple widgets. Lets say if I have two widgets I know I can customize each widget's border style using the below script ,but is there a way to only have 4 borders for 2 widgets instead of 8. TIA dashboard.on('widgetready', function(sender, ev){ widgetlist = ['5sd2c75601eafb7y02d4bce89', '61r4d1fb65c615646ee3t523'] $.each(widgetlist, function(index, value){ widgetelement = $('[widgetid = "' + value + '"]', element) widgetelement.css('border', '10px solid #000') widgetelement.css('border-radius', '15px') }) })Solved2.8KViews0likes6Comments