Sisense Community logo
    • Community Feedback
    • Chapters
    • Events
    • Forums
      • Help and How To
      • Product Feedback Forum
      • Strategy & Use Cases
    • Blogs
    • KB Docs
      • KB Docs
      • Add-Ons & Plug-Ins
      • APIs
      • Best Practices
      • Blox
      • CDT
      • Cloud Managed Service
      • Data Models
      • Data Sources
      • Embedding Analytics
      • How-Tos & FAQs
      • Onboarding
      • PySisense
      • Security
      • Sisense Administration
      • Sisense Intelligence & AI
      • Troubleshooting
      • Widget & Dashboard Scripts
    • Support
    • Learning
      • Sisense Academy: Free Courses and Certifications
      • Official Developer Documentation
      • Official Product Documentation
      • Official Sisense Youtube Channel
      • Sisense Compose SDK Playground
      • Official Sisense Discord
    • Use Case Gallery
    Discussions
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
    •                    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
    Discussions
    • TagsChevronRightIcon
    Windows
    • Blog banner
      • Widget & Dashboard ScriptsChevronRightIcon

      Programmatically Formatting Bar Chart Widget Value Labels in Sisense

                                                                                               

      Programmatically Formatting Bar Chart Widget Value Labels in Sisense This article outlines ways to programmatically format Sisense Bar Chart Widget Value labels via widget scripts , covering methods to prevent label overlap and apply consistent styling across all labels. Custom Styling for Data Labels The script below enables the formatting of Chart Widget Value labels by setting a custom background color, padding, and border-radius. Ensure the default data label UI option is disabled. Other CSS and Highcharts settings can be added as needed.         widget.on('render', function (se, ev) { ev.widget.queryResult.plotOptions.bar.dataLabels = { backgroundColor: '#f5d142', color: 'white', padding: 5, borderRadius: 5, enabled: true } })       Preventing Label Overlap The script below manually adjusts value label positioning to prevent overlap in densely populated bar chart widgets. The exact formulas for label positioning can be changed as needed.         widget.on('domready', function (se, ev) { var barWidth = $('.highcharts-series-group .highcharts-series rect', element).width(); $('.highcharts-data-labels .highcharts-label', element).each(function () { var labelWidth = $(this).find('rect').width(); var labelHeight = $(this).find('rect').height(); $(this).find('rect').attr('x', ($(this).find('rect').attr('x') + 2)); $(this).find('rect').attr('height', barWidth); $(this).find('rect').attr('y', ((labelHeight - barWidth) / 2)); }) })         Dynamically Increase Space for Labels If bar value labels overlap with the chart bars, you can dynamically adjust the maximum value on the y-axis to create additional space. A different formula, or a hard-coded value, can also be used as the y-axis maximum value.         widget.on('processresult', function (se, ev) { var maxValue = 0; var increasePercent = 0.2; ev.result.series.forEach(function (series) { series.data.forEach(function (dataItem) { if (dataItem.y > maxValue) maxValue = dataItem.y; }) ev.result.yAxis[0].max = maxValue + (increasePercent * maxValue); }) })       Conclusion These scripts enable customizing dynamically formatted and well-positioned data labels in your Sisense charts, enhancing readability and aesthetics beyond the default Sisense data bar data labels in bar chart widgets. For further discussion of these types of scripts, see the  Dynamically Formatted Data Labels article Example Of Custom Labels Added via Scripting   Y-Axis Maximum Set To a Very Large Value Check out this related content:  Academy Documentation

      Jeremy Friedel
      Jeremy FriedelPosted 1 year ago • Last reply 2 months ago
      1
               
      • Add-ons & Plug-InsChevronRightIcon

      The 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.  

      intapiuser
      intapiuserPosted 3 years ago • Last reply 8 months ago
      1
               
      • Sisense AdministrationChevronRightIcon

      Update and add new Highcharts modules for use in Sisense plugins

                                                                                                                       

      Update and add new Highcharts modules for use in Sisense plugins The JavaScript library framework Highcharts is natively included in Sisense and is utilized in many native Sisense widgets as well as in numerous Sisense plugins. Although Sisense typically does not alter the Sisense Highcharts library version with every release, the versions of Highcharts included in Sisense may change when upgrading to a new major version release. Highcharts can load additional chart types and other types of functionality via JS module files that contain code-adding features such as additional chart types, which can be used within plugins along with additional code to create additional widget types. If a plugin utilizes a Highcharts module, you can source the module directly in the "plugin.json" file's source parameter, as shown in this example:   "source": [ "HighchartModule.js", ],   To determine the current Highcharts version being used in your Sisense version, you can use the "Highcharts" command in the web console while viewing any page on your Sisense server. After identifying the current Highcharts version, you can find the corresponding module hosted on a Highcharts code hosting website using the following URL format: https://cdn.jsdelivr.net/npm/highcharts@${Highcharts_Version}/modules/${module_name}.js For example: https://cdn.jsdelivr.net/npm/highcharts@10.3.3/modules/heatmap.js You can save this module and upload it to the plugin folder or replace the older module JS file simply by copying and pasting the code directly. Be sure to update the "plugin.json" file to point to the new module file if the file name has changed or if this is the first time the module is included. Simply sourcing the module file in the "plugin.json" file is sufficient to load the module into Highcharts; no further code is required to load the module.

      Jeremy Friedel
      Jeremy FriedelPosted 2 years ago • Last reply 1 year ago
      2
               
      • TroubleshootingChevronRightIcon

      How to update style sheets in the branding folder for dashboards

                                                               

      How to update style sheets in the branding folder for dashboards Introduction In this article, we will address the issue of updates made to style sheets within a branding folder not reflecting on dashboards. Users often encounter this problem due to browser caching, which prevents the most updated CSS files from loading. This guide provides solutions to ensure your dashboard reflects the latest version of your style sheets. Step-by-Step Guide To resolve the issue of style changes not appearing on your dashboard, follow these steps: Clear Browser Cache: Sometimes, the browser might cache old versions of files, causing it to display outdated data. To fix this: Perform a hard refresh by pressing Ctrl + F5 (on Windows) or Cmd + Shift + R (on Mac). Additionally, manually clear your browser's cache through the browser settings to ensure that it loads the latest version of your CSS file. Rename the CSS File: If clearing the cache does not work, consider renaming your CSS file. By changing the file name (e.g., from base.css to base_v2.css ) and updating the reference in your dashboard, the browser will treat it as a new resource and fetch the latest version. Implement Cache-Busting Techniques: Another effective method is to append a query parameter to your CSS file URL. This technique forces the browser to load the latest version of the file. For instance, modify the link to: https://paragoninsgroup.sisense.com/branding/LossRuns/base.css?v=123456789 . Generate some random string each time to ensure the browser always fetches the latest file.  If you want to handle changes manually, you might want to modify the link to: https://paragoninsgroup.sisense.com/branding/LossRuns/base.css?v=2 . Increment the version number each time you make changes to ensure the browser fetches the updated file. Conclusion By following the above steps, you can ensure that changes made to style sheets in your branding folder are accurately reflected on your dashboards. Utilizing these techniques will help to overcome issues caused by browser caching and ensure your dashboard's appearance stays up-to-date. References/ Related Content How to Clear Browser Cache in Different Browsers For further assistance, please refer to the above resources or contact our support team for personalized help.

      Vicki786
      Vicki786Posted 1 year ago
      0
               
      • How-Tos & FAQsChevronRightIcon

      How to create a list of users with a current role based on the usage analytics elasticube

                               

      How to create a list of users with a current role based on the usage analytics elasticube Step-by-step guide:  To get a list of the users with their roles, you can use table usage from the Usage analytics elasticube. We will need the next fields from it - email and userRole . Add these columns to your widget. In this table, you can find all the roles that these users had previously:   [ALT Text: A table displays two columns: email and userRole. User roles vary as Viewer, Data Designer, datadesigner, and Designer. Emails are redacted with red lines.] To minimize the response to the last userRole, let's go to the Data - elasticube Usage Analytics , open the table usage table, and create a Custom Column .   [ALT Text: Interface with a list of data fields on the left and a drop-down menu on the right. Arrows highlight "trackingId" and "Add Custom Column."]   Name it - rank_date_ids We will use the function RankCompetitionDesc ( https://docs.sisense.com/main/SisenseLinux/mathematical-functions.htm ) Our query for this column will look like this: RankCompetitionDesc( email, [timeStamp] ) Press the Save button and Build the Elasticube. [ALT Text: Screenshot showing a code editor with a function titled "RankCompetitionDesc" using parameters like email and timestamp. A blue "Save" button is highlighted.] Go to the dashboard and edit our widget. Add a filter for a column rank_date_ids = 1 [ALT Text:  "Screenshot of a filter menu in a usage analytics model interface. A drop-down list is open, displaying numbers 1 to 6. The number 1 is selected. Options to select all or clear all are visible. The interface displays 'Apply' and 'Cancel' buttons below."] As a result, we will get the current user roles for every user.   [ALT Text: A table with two columns, "email" and "userRole." Emails are redacted. Roles listed are "Viewer" and "Data Designer," alternating between rows.] Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before deployment. If you need further assistance with this, please let us know.  

      OleksandrB
      OleksandrBPosted 1 year ago
      0
               
      • TroubleshootingChevronRightIcon

      Resolving "Internal Server Error" When Importing Model with Generic JDBC Connector [LINUX]

                                       

      Resolving "Internal Server Error" When Importing Model with Generic JDBC Connector This article addresses the issue of encountering an "Internal Server Error" when importing a model from a local desktop to a production environment using the Generic JDBC connector in Sisense. This error often arises due to compatibility issues with older JDBC frameworks. Here, we provide a solution to resolve this error by updating the JDBC connector and connections. Step-by-Step Guide:    Identify the Error : a. When importing the model, if you receive an error message resembling: Unexpected error value: { timestamp: {}, status: 500, error: "Internal Server Error", path: "/api/v1/internal/live_connectors/auth/GenericJDBC… }  b.  This error could indicate a problem with the outdated Generic JDBC connector. Understand the Cause : The error is due to the Generic JDBC connector using an older framework that is incompatible with the latest Sisense versions. Update the JDBC Connector : Deploy the JDBC connector using the new JDBC framework. Ensure all connections within the cube in the original environment where the model was exported are updated accordingly. Deploying the New Framework : Follow the step-by-step instructions detailed in the Sisense documentation for deploying a custom connector with the new JDBC framework. Access the documentation here: Deploying a Custom Connector - Sisense Documentation . Re-attempt the Model Import : Once the JDBC connector is updated, try importing the model again into the production environment. Conclusion:    In conclusion, updating the Generic JDBC connector to align with the new JDBC framework and ensuring the connections are properly configured should resolve the "Internal Server Error" encountered during the import process. Following the above steps will help ensure a smooth and successful model import.     References/Related Content:    Deploying a Custom Connector - Sisense Documentation Sisense Community Support Forum Introduction to Data Sources Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before deployment. If you need further assistance with this please let us know.  

      Vicki786
      Vicki786Posted 1 year ago
      0
               
      • Add-ons & Plug-InsChevronRightIcon

      Exploring the Potential of Sisense Jump to Dashboard Filter Configurations

                                                                       

      Exploring the Potential of Sisense Jump to Dashboard Filter Configurations Introduction: 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. The Default Behaviour & Description: The default settings of the Jump to Dashboard add-on do not require any JavaScript configuration. You can use the plugin with the default configuration right after it’s enabled. The default filter behavior configuration is the following: displayFilterPane : true This parameter determines if to display a filter pane in the target dashboard window. The default value is true which means that the filters pane shall be displayed. excludeFilterDims : [] Dimensions to exclude from the drilled dashboard filter. An empty array means that no dimensions are excluded. includeFilterDims : [] Dimensions to include in the drilled dashboard filter. An empty array means that all dimensions are included. resetDashFilterAfterJTD : false Resets the filters of a target dashboard. Combine this with mergeTargetDashboardFilters if you want your dashboard filters to be displayed in the target dashboard. mergeTargetDashboardFilters : false Determines if you want your dashboard filters to be displayed in the target dashboard (usually combined with resetDashFilterAfterJTD) Configuration Methods: A detailed explanation can be found here: https://community.sisense.com/t5/knowledge/jumptodashboard-plugin-how-to-use-and-customize/ta-p/17375 config.js method: it’s a system-wide configuration and takes effect for the entire Sisense installation. To edit the default system-wide JTD filters configuration set in the config.js navigate with the help of File Manager to plugins -> jumpToDashboard -> js -> config.js Adjust the configuration required by modifying the file and saving the changes - the changes will take effect after the plugin rebuild process which is initiated right after the config changes are saved. Once the user refreshes the dashboard and obtains the last build of the plugins, the new configuration will be in place across all the dashboards. Widget script method: It’s used to override the default system-wide config and can change the behavior of a particular widget Not all configuration parameters are supported for this method - check the “Configured In” field of the specification table located on the Technical Details tab of the JTD Marketplace Page: Jump to Dashboard - Sisense Configuration can be applied by adding the Widget JavaScript Extension to the particular widget The changes take effect right after the script is saved and the dashboard containing the widget is reloaded. Configurable Filters Behavior + Script Examples: displayFilterPane The filter panel is visible by default: If you want to hide it in the drill dashboard, just change row 4 in config.js like:   displayFilterPane : false   OR add the following script to configure it for the particular JTD widget   prism.jumpToDashboard(widget, { displayFilterPane: false});​   The result will look like this: excludeFilterDims By default, all the filters from the parent dashboard, measured values, and widget filters are passed to the drill dashboard, but you can exclude particular dimensions from being passed. In Sisense, a "dimension" is a qualitative attribute used to categorize and filter quantitative data (measures). In most cases, it will be represented as the table_name.column_name identifying the data location in the elasticube or live model. A few things to note: excludeFilterDims is an array so even when the single filter dimension is used, it should be enclosed in square brackets []. This configuration can be modified both on a system-wide level via config.js, or via the widget script When excluding the date dimension using the parameter excludeFilterDims, (Calendar) must be used or the exclusion will not work.  Example: [Table.Dimension(Calendar)] An example if you use excludeFilterDims with Dimension B: Parent Dash FIlters Drill Dash Filters Resulting Filters Dimension A - Value A1 Dimension A - Value A2 Dimension A - Value A1 Dimension B - Value B1 Dimension B - Value B2 No Dimension C - Value C1 Dimension C - Value C2 Dimension C - Value C1 Widget script Example:   prism.jumpToDashboard(widget, { excludeFilterDims: ["[divisions.Divison_name]", "[Admissions.Admission_Time (Calendar)]", "[doctors.Specialty]" ] });   includeFilterDims It’s the opposite of the excludeFilterDims described above. includeFilterDims is intended to explicitly set the filter's dimensions you want to pass to the drill dashboard. All other filter dims will be ignored . The same usage notes apply here as for the excludeFilterDims. Example if you use includeFilterDims with Dimension B: Parent Dash FIlters Drill Dash Filters Resulting Filters Dimension A - Value A1 Dimension A - Value A2 No Dimension B - Value B1 Dimension B - Value B2 Dimension B - Value B1 Dimension C - Value C1 Dimension C - Value C2 No Widget script Example:   prism.jumpToDashboard(widget, { includeFilterDims: ["[country.Country]", "[brand.Brand]" ] });   resetDashFilterAfterJTD Note: Configurable in config,js file only By default, after we open the dashboard with the help of JTD, the filters passed to this drill dashboard by JTD are saved for the user. This behavior can be changed with the help of resetDashFilterAfterJTD config. Once set to true, the filters of the drill dashboard will be preserved (in the temporary storage inside the dashboard object ​​prism.activeDashboard.filtersToRestore) and restored during the next dashboard opening. config.js example:   resetDashFilterAfterJTD: true   mergeTargetDashboardFilters By default, when the drill dashboard is opened with the help of JTD, the filters of the drill dashboard are replaced with the filters from the parent dashboard. If you’d like to compliment the dashboard filters with the original ones from the drill dashboard, you can enable this parameter. Usage Example: Parent Dash FIlters Drill Dash Filters mergeTargetDashboardFilters: false mergeTargetDashboardFilters: true No Dimension A - Value A2 No Dimension A - Value A2 Dimension B - Value B1 Dimension B - Value B2 Dimension B - Value B1 Dimension B - Value B1 No Dimension C - Value C2 No Dimension C - Value C2 Widget Script Example:   prism.jumpToDashboard(widget, { mergeTargetDashboardFilters: true });   Locating the correct dimension for the config: There is a simple way of finding out the correct filter dims for the configuration scripts. When the source dashboard is open, open the Browser Development Console. Here are the common shortcuts to open the browser developer console: Chrome: Ctrl + Shift + J (Windows/Linux) or Cmd + Option + J (Mac) Firefox: Ctrl + Shift + K (Windows/Linux) or Cmd + Option + K (Mac) Edge: Ctrl + Shift + I (Windows/Linux) or Cmd + Option + I (Mac) Safari: Cmd + Option + C (Mac) (Enable "Show Develop menu in menu bar" in Preferences first) Opera: Ctrl + Shift + I (Windows/Linux) or Cmd + Option + I (Mac) In the console type in the following to list the active dashboard filters’ dimensions:   prism.activeDashboard.filters.$$items.forEach((item)=>console.log(JSON.stringify(item.jaql.dim)));   The list of active dashboard filter dimensions should be returned like below, so you can use them in your configurations: Hope the above helps you understand the Jump to Dashboard filter settings better and I wish you good luck with setting up your JTD customizations!

      Taras Skvarko
      Taras SkvarkoPosted 2 years ago • Last reply 1 year ago
      2
               
      • TroubleshootingChevronRightIcon

      Resolving "Internal Server Error" When Importing Model with Generic JDBC Connector

                                               

      Resolving "Internal Server Error" When Importing Model with Generic JDBC Connector This article addresses the issue of encountering an "Internal Server Error" when importing a model from a local desktop to a production environment using the Generic JDBC connector in Sisense. This error often arises due to compatibility issues with older JDBC frameworks. Here, we provide a solution to resolve this error by updating the JDBC connector and connections. Step-by-step guide Identify the Error : When importing the model, if you receive an error message resembling: Unexpected error value: { timestamp: {}, status: 500, error: "Internal Server Error", path: "/api/v1/internal/live_connectors/auth/GenericJDBC… } This error could indicate a problem with the outdated Generic JDBC connector. Understand the Cause : The error is due to the Generic JDBC connector using an older framework incompatible with the latest Sisense versions. Update the JDBC Connector : Deploy the JDBC connector using the new JDBC framework. Ensure all connections within the cube in the original environment where the model was exported are updated accordingly. Deploying the New Framework : Follow the step-by-step instructions detailed in the Sisense documentation for deploying a custom connector with the new JDBC framework. Access the documentation here: Deploying a Custom Connector - Sisense Documentation . Re-attempt the Model Import : Once the JDBC connector is updated, try importing the model again into the production environment. In conclusion, updating the Generic JDBC connector to align with the new JDBC framework and ensuring the connections are properly configured should resolve the "Internal Server Error" encountered during the import process. Following the above steps will help ensure a smooth and successful model import. References/Related Content:  Deploying a Custom Connector - Sisense Documentation Sisense Community Support Forum Introduction to Data Sources Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before  

      Vicki786
      Vicki786Posted 1 year ago
      0
               
      • Add-ons & Plug-InsChevronRightIcon

      Managing Sisense Add-ons: Upgrades, and Version Control

                                       

      Managing Sisense Add-ons: Upgrades, and Version Control Introduction 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. Step-by-Step Guide Linux    Free Certified Add-ons   All free certified Sisense add-ons are installed automatically during the Sisense application upgrade. Typically, there is no need to update the add-ons manually. If you have multiple instances with different versions of add-ons, it may be due to running different Sisense versions.  To check the Sisense version, click on the person icon and the version will be the last item on the menu that pops up. If you need to use a different version of a free certified add-on (for example, downgrade) than the one installed, follow these steps: Locate the add-on you want to replace with a lower version under `/opt/sisense/storage/plugins/{plugin_folder}`. This directory can be accessed via the File Manager in the UI.   Download the existing add-on as a backup and remove it from the `/plugins` directory.   Upload the required version of the add-on.   Open the `plugin.json` file inside the specific add-on folder.   Modify the `version` field to a value higher than the current version. This step is necessary to prevent the add-on from being overridden when the plugin pod restarts.   Note : You will need to manage this add-on again after upgrading Sisense, as an unofficial version may break following an upgrade.   Premium Add-ons   For our cloud-managed services customers, premium add-ons are upgraded automatically.   On-premise customers should contact their Customer Success Manager (CSM) or support team to obtain an updated, certified version of the add-on compatible with their Sisense version.   Windows    Both premium and free add-ons must be upgraded manually by on-premise customers . You can download the latest version of the free add-on from the Add-ons Marketplace while the premium add-on installation files could be provided by the Customer Success Manager (CSM) or our support team.  For cloud-managed services customers , the Sisense team handles the upgrades for you.   Conclusion   Cloud-managed services customers benefit from automatic updates for both free and premium add-ons. On-premise users should follow the provided guidelines to maintain compatibility and optimal performance. Please submit a case for our Support Team if you have any additional questions or issues with add-on versions or upgrades.  References/Related Content How to Install Sisense Add-ons   Working with Sisense Add-ons (Linux) Sisense Add-ons (Windows)

      Liliia Kislitsyna
      Liliia KislitsynaPosted 1 year ago
      0
               
      • TroubleshootingChevronRightIcon

      How to Troubleshoot UI Issues Using DevTools (HAR File & Console Logs)

                                                                                               

      How to Troubleshoot UI Issues Using DevTools (HAR File & Console Logs) Step 1: Open Developer Tools (DevTools)  Open Google Chrome, Microsoft Edge, or Mozilla Firefox.  Press F12 or Ctrl + Shift + I (Cmd + Option + I on Mac) to open DevTools. 3. A panel will appear on the side or bottom of your browser.  Step 2: Check Network Requests  The Network tab shows all requests your browser makes when loading a page. If a request fails, the webpage may not display correctly. How to check failed requests?  Click the Network tab.  Reload the page (F5 or Ctrl + R).  Look for requests marked red – these are failed requests.  [ ALT text: A computer screen displaying a dashboard with a message indicating an error or failed request. On the left side, there is a section labeled "Dashboard" with various options, while the right side shows a network activity log with a list of requests, highlighting a failed request in red. Below the image, there are instructions to click on a failed request for more details.] 4. Click on a failed request to see more details.  What to look for?   - Red requests – These are errors that may cause the page to break. - Slow requests – If a request takes too long, it could slow down the page. - Blocked requests – Some files may be blocked due to browser settings, firewalls, or extensions.  Step 3: Check Details in Preview and Response Tabs  If a request has failed, click on it and check:  - Preview Tab – Shows what the request should have loaded. If it’s empty or has an error message, there may be a problem with the server. [ ALT text: "Screenshot of a web browser displaying a 'Sample Not Found' error message within a dashboard context. The left panel shows the message along with a graphic of a computer with a sad face, while the right panel displays developer tools including a network tab, with details of an API request highlighted."]    - Response Tab – Shows the actual response from the server. If you see an error like 403 (Forbidden) or 500 (Internal Server Error), this might indicate a server-side issue.   [ ALT Text: A computer screen displaying an error message that says "Could not load data!" on the left, next to a web browser's developer tools showing a network request with an error highlighted in red on the right.]   Step 4: Check the Console Tab for Other Errors  The Console tab shows extra error messages that might explain why something isn’t working.  How to check for errors? - Click the Console tab.  - Look for messages in red – these are errors.  - If you see an error, take a screenshot or copy the message.   [ ALT text: A screenshot of a web development environment showing a "Sample" document with a "Could not load" error message. The interface displays various errors in a red-highlighted section of the console, indicating multiple problems related to content loading and resource access. The left side features a visual element of a computer graphic with a face, and the bottom includes a message stating "Could not load".] Common Console Errors:  - 404 Not Found – The file or resource is missing.  - 403 Forbidden – You might not have permission to access something. - 500 Internal Server Error – A problem on the server side.  Step 5: Save a HAR File to Share with Support  If you need help, save a HAR file with all network details:  Click the Network tab.  Click the Record button if it is not already active.  Reload the page (F5 or Ctrl + R).  Click the Download (Export) button or right-click inside the Network panel and select Save as HAR with content. Save the file and attach it when contacting support. [ ALT Text: Screenshot of a browser's developer tools, specifically the Network tab. Two buttons labeled "Record" and "Experiment" are highlighted in red. Below, a table includes various columns for details such as "Time," "Initiator," "Type," and "Size," with different entries listed for each column. The interface displays data related to web requests.]  Step 6: What to Send to Support?  If you need help, send the following details:  - A short description of the issue.  - Screenshots of errors from the Console tab.  - The HAR file (from the Network tab).  - The exact time and date when the issue happened.  5. Conclusion: A summary of key takeaways or final points.  By using DevTools, you can quickly find and report UI issues, helping the support team fix them faster. If you have any questions, feel free to contact support with your findings.  Need more guidance? Let us know! We’re happy to assist. References/Related Content: Links and resources for further reading. https://community.sisense.com/t5/knowledge-base/generating-a-har-file-for-trou bleshooting-sisense/ta-p/9523   Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before deployment. If you need further assistance with this please let us know.

      Alina Malynovska
      Alina MalynovskaPosted 1 year ago
      0