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
    Build Failure
    • Tim von Ahsen
      • Help and How-To
               
      Tim von Ahsen
      Does build failure leave orphaned queries?
                       

      My ElastiCube build failed. It was querying a SQL Server database at the time. I looked on that database after the failure: the build still had a query open. Is that normal? Does Sisense attempt to cancel queries as part of a build failure?

      6 months agolast reply 5 months ago
      2
               
    • ffallouh
      • Help and How-To
               
      ffallouh
      Disable DataIndexingValidation on build ?
                               

      Hello, Is there a way to disable the new feature DataIndexingValidation using some CLI command or REST API call?  I dont want to do it by using the Admin panel UI. 

      1 year agolast reply 1 year ago
      2
               
      • TroubleshootingChevronRightIcon

      Resolving Build Failures Due to Memory Issues [Safe-Mode]

                               

      Resolving Build Failures Due to Memory Issues [Safe-Mode] This is the guide of which settings should be checked and adjusted to resolve the problem and prevent future occurrences, in cases when cubes fail with the error ‘Safe-mode’. Please follow the steps below, and after that try to re-build the failed cubes. Steps to Address the Issue 1. Review the Failed Cube Check the Failed Elasticubes : Please review recently failed cubes to understand which build was affected by the safe mode. If you made any recent changes that might affect the RAM consumption, you can try to revert them and re-trigger the build. 2. Adjust Build Parameters To reduce memory usage during builds, consider modifying the following settings: a. Reduce Max Concurrent Builds Why? Lowering the number of builds that run simultaneously decreases the strain on server memory. How to Do It: Navigate to your Build Settings (Admin → Server&Hardware → Sytem Management → Configuration → 5 clicks on Sisense logo → Build) . Locate the MaxNumberOfConcurrentBuilds option. Decrease the number to a lower value (e.g., from 20 to 3). [ALT Text: The settings menu within the app is highlighted, drawing attention to the selected feature for easy access.] b. Decrease Base Table Max Threads Why? Using fewer threads reduces memory consumption per build, though builds may take longer. How to Do It: Go to the  Build Settings (Admin → Server&Hardware → Sytem Management → Configuration → Build ) Find the Base Table Max Threads setting. Adjust it to a lower number (e.g., from 4 to 1). [ALT Text:  Cloudflare dashboard settings page displaying various configuration options and features for user management and security.] c. Verify Max RAM Setting in the Data Group Why? Ensuring the Max RAM is set correctly prevents the server from overusing memory or entering Safe Mode by mistake. How to Do It: Go to Admin → Server&Hardware → Data Groups. Edit the Data Group settings that correspond to the problematic build. Check the Max RAM value under the  Build Node section. Adjust it if necessary to align with your server's capacity.   [ALT Text:  Settings page displaying configuration options for the RAM module, including speed, capacity, and voltage settings.] d. Enable "Stop When Idle" in the Data Group Why? Automatically stopping unused cubes frees up memory for active processes. How to Do It: Go to Admin → Server&Hardware → Data Groups. In the Data Group settings, find the Stop When Idle option. Enable this feature to stop cubes when they're not in use. [ALT Text:  Edit data group option displayed in the data group wizard interface, allowing users to modify existing data groups.] 3. Consider Scaling Server Resources If the above adjustments don't resolve the issue, it might be time to enhance your server resources. Next Steps: Reach out to your Customer Success Manager (CSM) to discuss options. Need Assistance? If you have questions or need help with any of these steps, please don't hesitate to contact our support team through the ticket. We're here to support you!  

      nataliia_kh
      nataliia_khPosted 1 year ago
      0
               
      • TroubleshootingChevronRightIcon

      Steps to do before contacting support regarding build failures

                                                       

      Steps to do before contacting support regarding build failures  What to do and which information about errors to gather before contacting support team to ensure faster resolution of the issue.   1st step for any build error:  -Check error logs in UI. Carefully read the error message. It will help you to have an idea of what is wrong: is there not enough memory to build a cube or something with a connection to one of the data sources? Usually, the table that caused the issue is specific.  In case you understand the error message and suggested actions (which can be like adjusting several simultaneous builds, creating a duplicated cube and trying to perform a sample build, adjusting specific timeouts, etc) - please proceed with suggested adjustments and see if it fixes the issue. Note all changes that you make, so they can be reverted if necessary.   In case, you have never encountered errors specified in an error message, and do not know how to perform suggested changes or no changes are suggested, please gather the information specified below to share it with the support team in a tick you will create.    [ ALT Text: A screenshot of a user interface showing a dropdown menu with options like "Schedule Build," "Model Statistics," "Data Security," and others. Below, a build process indicator shows "0.67 Tasks Completed" along with a message detailing a "Table query schema error" and a timestamp.] Make screenshots of all the information listed below. Screenshots should be done in a way, so the same information as in the example is visible:  Screenshot of error from the UI. You can see it when choosing the 'View latest logs' option in the cube (check the screenshots from the section above).  Check Grafana to see how much memory is consumed. Here is the link to an article on how to check specific PO consumption in Grafana : Check these pods:  query  build ec-bld (affected cube and all cubes) ec-qry (affected cube and all cubes) Check Data Group settings. Specifically ‘Stop when idle' options and memory limits       [ ALT text: A screenshot of a software interface showing the "Admin" section. The left sidebar includes options like "Home," "User Management," "App Configuration," and "Data Groups." The main area displays a table titled "Data Groups" with columns for "Group Name," "Built Role," "Query Details," "Number of Instances," and "Email Jobs." The row contains an example entry labeled "Default Checklist."]   [ ALT text: A screenshot of an "Edit Data Group" interface. It displays fields for "Group Name," "Build Node," "Query Nodes," "ExistCubes," and "Instances," along with a slider labeled "Stop when idle" and a dropdown for "Idle Time (Minutes)." The values "Default," "node1," "node1," "Sample ECommerce, Sample Healthcare, Sample Leads," and "1" are filled in certain fields.]    [ ALT Text: A screenshot displaying configuration settings for an ElastCube. It includes two sections: "Query Nodes" with fields for Reserved Cores, Max Cores, Reserved RAM, and Max RAM, all listed as -1 for cores and RAM. The "Build Node" section shows Reserved Cores as -1, Max Cores as -1, Reserved RAM as 512 MB, and Max RAM as 8192 MB. There is also a field labeled "User label" at the bottom.] 4. Check memory limits of build and query pods in Configuration      [ ALT Text: A screenshot of the "Admin" panel from a software interface. The left sidebar shows various menu options including "Search," "User Management," "App Configuration," and "System Management." The main section displays the "Configuration" tab under "System Management," listing attributes like "Server," "Application Node," "Cluster Node," "Build Node," "Status," and "Description" with a specific server named "node1" showing a status of "Up." The interface has a clean, modern design with a white background and light accents.]  Make 5 fast clicks on the Sisense logo [ ALT Text: Screenshot of the Sisense service configuration interface, showing fields for 'MaxResultCachePrecision', 'MaxNumberOfExecutionBlocks', 'Message_init', and 'Memory Limit' within a 'Build' section. The interface has a light background and a navigation menu at the top.]    [ ALT Text: A screenshot of the Sisense application displaying the "Service Configuration" menu, specifically focusing on the "Query" section. The settings shown include "LiveResultsCacheTimeout," "MaxStreamingThreads," "Memory_limit," "Memory_area," and "NumberOfReadersForQueryCube," with some values highlighted in yellow.]      Run the following commands from the Sisense server (Only for on-premise customers:): kubectl -n sisense get deployments.apps build -o yaml | grep -A2 limits  kubectl -n sisense get deployments.apps query -o yaml | grep -A2 limits    5. Are there any EC2EC data sources in any of the affected cubes? Specify this when creating a ticket 6. If in UI error any table name is mentioned use this table. If so, choose any table from the cube. Try to re-connect to this table using the ‘Change Connection’ or ‘Switch Connection’ option (depending on which one you have)   [ ALT text: Screenshot of a data visualization software interface showing a menu on the left with CSV data sources listed, including "DimEmployees." The right side displays a diagram with yellow nodes and connections. A context menu is open, highlighting options like "Change Provider" and "Change Connection."]      [ ALT text: "Screenshot of a data management software interface displaying a menu on the left for 'Sample ECommerce' with options for 'Brand,' 'Category,' 'Commerce,' and 'Directories.' A highlighted menu item shows 'Connection Settings' with options including 'Preview,' 'Duplicate,' 'Delete,' and 'Switch Connection,' among others. A yellow circle labeled 'Commerce' is shown on the right."]  7. Go through all steps of changing a connection and check if the review of the table is available. In case you receive any error during this process, repeat the process while recording the .har file ( here is the link to the article on how to record the .har file ) . Also, take a screenshot of the error you receive. Let us know in a ticket if an error appears during the step.  8. In case any error appears in step 7, check your database and make sure the user you are using in Sisense has proper credentials and permissions, your database can accept connections.  9. Login the to Sisense server and download the log files specified below. Make sure to proceed with this step right a performing all the steps above. This way, if you record a .har file the information about it will be included in logs, as well the information about the errors will be still present (Only for on-premise customers) .  - build.log  - query.log  - combined.log  - ec-bld.log (of affected cube)  You may check how to download and identify necessary logs here.    10. Include information about any recent changes you have made to the cube or environment. Like adding/removing tables, more data is uploaded from the database, new relations are created between tables, etc. 11. Please raise a ticket with the Sisense support team and add all gathered information to the ticket.

      nataliia_kh
      nataliia_khPosted 1 year ago
      0
               
      • TroubleshootingChevronRightIcon

      How to identify and download logs from the Sisense server

                                       

      How to identify and download logs from the Sisense server  Usually, you are provided with the list of logs needed for the investigation of your issue by the Sisense support team. They may include names of the file and, if you are experiencing build failures, ec-bld log of affected c    How to identify ec-bld log name for a particular cube  Login to Sisense server  While the cube is building, run the command: › 1 kubectl -n sisense get pods | grep bld  You will see all bld pods for all active builds. You can identify the necessary bld pod since it will contain the cubes name in its name  For example:   Cubes name - Sample Healthcare  Possible bld pod name - ec-sample-healthcare-bld-c766573f-cd22-2     [ ALT Text: A terminal window displaying command line input and output. The input command shows "bucket -n s3:aws get prob" followed by a command that includes "grep yfi". The output indicates a number "2.7" and additional status information, including "Running" and "0" with a time of "3s".]   3. Note the name of the pod. Log file will be named the same, with .log extensio  For example ec-sample-healthcare-bld-c766573f-cd22-2.log  4. Wait for the build to finish before proceeding with downloading the l  How to download logs  You will follow different processes depending on whether you have a single-node or multi-node environment If you have a single-node:  Login to the Sisense server  Go to the folder with logs:  1 cd /var/log/sisense/sisense    [ ALT Text: The image displays a partially obscured text with a blue and gray box, surrounded by green-highlighted text on a dark background. The text layout suggests a digital or programming context, possibly displaying code or output from a software application. The overall tone is technical and modern.]   3. Here look for log files, which were specified by support t  We will use query.log and ec-bld log of the particular cube as an example (we will use ec-sample-healthcare-bld c766573f-cd22-2.log, which we have identified in a section above). You need to substitute their names to the logs y need in this and all future steps.  1 ls -l | grep query.log  2 ls -l | grep ec-sample-healthcare-bld-c766573f-cd22-2      [ ALT text: A terminal window displaying command line entries. The highlighted lines show a user performing `ls -l` to list files and using the `grep` command to search through log files. The output includes file names with timestamps and sizes. The overall appearance is dark-themed with green and blue text on a black background.]   4. After you make sure that all requested logs exist, copy these files to your file manager. We will copy them into folder, which is usually used for this purpose.   1 cp query.log /opt/sisense/storage/data/query.log 2 cp ec-sample-healthcare-bld-c766573f-cd22-2.log /opt/sisense/storage/data/ec-sample-healthcare-bld-c766573f cd22-2.log  After these commands, there should be no output in the console    [ ALT Text: A screenshot of a command line interface displaying a series of text lines, predominantly in green on a black background, indicating some kind of terminal activity or output. The visible text appears to include file names and potentially command outputs but is mostly obscured or unclear due to formatting.] 5. In Admin tab open File Manager. There in ‘Data’ folder you will find log files and will be able to download it from [ ALT text: A screenshot of a file management interface from Sisense. The top section displays a search bar and a list of files, including "example-file-name" and "canny.log," with details on their size and last modified date. The bottom section shows a similar layout, featuring a highlighted file named "example-file-name" with its size and a recent modification time. The color scheme includes a light background with blue and yellow accents.] If you have a multi-node:  Login to the Sisense server  Find out the current directory (usually it's /home/ec2-user/) and copy it  1 pwd    [ ALT Text: A blurred close-up of a computer terminal screen displaying a command line input in green text on a dark background. The command includes parameters such as "ec2-user" and file paths, suggesting interaction with an EC2 instance.]  3. Run the command  1 kubectl -n sisense get pods | grep -E 'fluentd|management' You will receive the names of your fluentd and management pods. Copy the    [ ALT Text: Text-based terminal output showing two processes running: "Sabotage-1: Cider" with a PID of 272 and a status of "running," and "management: AttackProxy:Meta" with a PID of 171 and a status of "running." The text has a green font on a dark background.]   4. Form the commands to copy log files, 2 commands for each f  We will use query.log as an example. You need to substitute their names for  the logs you need in this and all future steps.  4.1  1 kubectl -n sisense cp  <your_fluentd_pod_name>:/var/log/sisense/sisense/<log_file_name> <current directory_name>/<log_file_name>  2 If namespace is other than 'sisense' the command will be:  3 kubectl -n sisense cp  <your_fluentd_pod_name>:/var/log/<your_namespace>/sisense/<log_file_name> <current directory_name>/<log_file_name>  4 For example:  5 kubectl -n sisense cp fluentd-5b565b7b7c-462dr:/var/log/sisense/sisense/query.log /home/ec2-user/query.log      [ ALT Text: A blurred image of a computer screen displaying code or text, with green characters on a dark background. The content appears to be technical in nature, possibly related to programming or data processing.] 4.2  1 kubectl -n sisense  cp <log_file_name> <your_management_pod_name>:/opt/sisense/storage/data/<log_file_name> 2 For example:  3 kubectl -n sisense cp query.log management-765cbcf7bb-qr9mx:/opt/sisense/storage/data/query_00782680.log    [ ALT Text:  The image displays an abstract representation of text or code with a glowing green effect on a dark background, creating a digital or matrix-like appearance. The text appears to be distorted or scrambled, adding to the overall aesthetic.] 5. In Admin tab open File Manager. There is ‘Data’ folder you will find log files and will be able to download them from    [ ALT text: A screenshot of the Sisense dashboard displaying the File Management section. There are options on the left sidebar including "User Management," "App Configuration," and "File Management." The main area lists two files: "e-sample-whiteboard-0d16-7057-4E29-6B.jpg" and "query.bq," with their respective sizes and last modified time. A search bar is also visible at the top.]  6. Go back to the server and remove copied files from the local folder (usually it's /home/ec2-user/  1 rm <log_file_name>  2 For example:   3 rm query.log

      nataliia_kh
      nataliia_khPosted 1 year ago
      0
               
      • How-Tos & FAQsChevronRightIcon

      How to record a .har file and identify if specific requests are present in logs

                                               

      How to record a .har file and identify if specific requests are present in logs  How to record a .har file  Open Chrome and go to the page to be recorded.  Click the More Actions menu (...) to the right of the toolbar and select  More tools  >  Developer tools . [ ALT Text: Screenshot of a web browser interface showing the top navigation bar with a red background. The sidebar menu on the right displays options such as "New Tab," "New Window," "New Incognito Window," and "More Tools," with "Developer Tools" highlighted at the bottom. The label "Admin" is visible at the top.]    3. Select the  Network  tab.   4. Ensure that Chrome is recording by clicking the gray record button. A red button indicates that a recording is already in progress.     [ ALT text: A blurred screenshot of a web development tool, showing two sections labeled "Network" with various icons and options for performance monitoring, such as "Preserve log," "Disable cache," and filtering options.] 5. Select  Preserve Log .    [ ALT text: A screenshot of a web browser's developer tools showing the "Network" tab. Various options are visible, including "Preserve log," "Disable cache," and dropdowns for filters like "All," "Fetch/XHR," "Doc," and "CSS."]  6.  Clear any existing logs by clicking  Clear network log     [ ALT text: "Screenshot of a web browser's developer tools, showing the 'Network' tab with various buttons and options for elements like 'Preserve log', 'Disable cache', and a filter input. The interface has sections labeled 'Elements', 'Console', 'Sources', 'Network', 'Performance', 'Memory', and 'Application'."]   7. Reproduce the issue (reload dashboard/widget/page where error occurs)  8. Click on the ‘Export’ icon and save the fil    [ ALT Text: A screenshot of a web development tool showing the "Network" tab, with options to preserve log and disable cache. Below, a dialog box is open for saving a file named "test.har," with a location set to "Downloads" and buttons for "Cancel" and "Save."] How to identify if necessary jaql request is present in logs  Follow the instructions from the section above up to step 7.  Once you have all the requests recorded, filter ‘jaql’ requests, by typing ‘jaql’ in ‘Filter’ secti    [ ALT Text: "A screenshot of a web browser's developer tools, specifically the Network tab. It shows a list of network requests with details like the name 'ajax,' status codes of 200, and type 'xhr'."] On the right side, you will see the column ‘Status’. When the status is 200, it means the request was executed without any issues. In case the request is in red color, and the status is not 200, there was an error.  Press on any jaql request and inspect the content in the ‘Headers’ section. The status will be on top. copy full status.   [ ALT Text: A blurred screenshot of a web development tool, displaying a request log. The log shows various headers with details like "Request URL," "Request Method," "Status Code" indicating "200 OK," "Remote Address," and "Referrer Policy." The interface includes tabs labeled "Headers," "Preview," "Response," "Network," and others, suggesting a focus on inspecting web traffic.] Then, scroll down till you see ‘x-request-id:’ parameter. Copy its  value.    [ ALT Text: Screenshot of a web browser's developer tools showing various HTTP response headers. Key details highlighted include "Cache-Control," "Content-Type," and "X-Request-Id" with a specific ID format.] Login to Sisense server (for on-premise customers)  If you have a single node:  Run this command (we have checked query.log, you may adjust it to any log file name you need  1 cat /var/log/sisense/sisense/<log_file_name> | grep <X-Request-id>  2 For example:  3 cat /var/log/sisense/sisense/query.log | grep 0dd344fd-0944-4854-9017-9516026a44f8  If you have a multi-node:  Run this command (we have checked query.log, you may adjust it to any log file name you need  1 kubectl -n sisense exec -it $(kubectl get pod -n sisense -l k8s-app=fluentd -o custom columns=":metadata.name"  2 ) -- cat /var/log/sisense/sisense/<log_file_name> | grep <X-Request-id> 3 For example:  4 kubectl -n sisense exec -it $(kubectl get pod -n sisense -l k8s-app=fluentd -o custom columns=":metadata.name"  5 ) -- cat /var/log/sisense/sisense/query.log | grep 'da33af48-4278-4a70-bfba-445167d8e697'In case there is any output in console, the ‘X-Request-id’ is present in the specific log f

      nataliia_kh
      nataliia_khPosted 1 year ago
      0
               
      • How-Tos & FAQsChevronRightIcon

      How to check specific pods CPU/memory consumption in Grafana

                                       

      How to check specific pods CPU/memory consumption in Grafana  Instructions 1. Open Grafana from Admin page ‘Monitoring’ section             [ ALT text: A screenshot of a web application interface showing the "System Management" section. On the left side, there's a navigation menu with options such as "User Management," "App Configuration," "Server & Features," and "Data Groups." The main area displays a table with columns for "Server," "Application Title," "Query Count," "Build Time," "Status," and "Description," but no data entries are visible. The header includes tabs labeled "Analytics" and "Graphics."] 2.  On the left side menu click ‘Dashboards’, then choose dashboard ‘All pods per namespace’ [ALT text: A screenshot of a dark-themed dashboard interface showing a list of dashboards and their details. The section titled "Dashboards" is highlighted, with a specific dashboard named "all pods per namespace" displayed in the main area. There are additional columns indicating tags related to Kubernetes resources like Cluster and Pod.] 3. On top of the dashboard, in the namespace section choose ‘sisense’ [ ALT Text: A screenshot of a dark-themed user interface showing various tabs labeled "Namespace," "Sidebar," "Pod," and "Node." Below, there is a graph indicating CPU usage, which peaks at 140%. The design features a clean layout with a minimalist aesthetic.] 4. In the top right corner choose the appropriate time frame. By default, the time is set to last 3 hours. Depending on when the issue you are experiencing started, choose the time from before the issue started. For example, if the issue started around 3-4 hours before, the best option would be to last 6 hours. ››   [ ALT Text: A screenshot of a time range selection interface. The "Absolute time range" section shows two fields labeled "From" and "To," with the "From" field set to "now-3h" and the "To" field set to "now." A dropdown menu for "Search quick ranges" is visible on the right, displaying options including "Last 15 minutes," "Last 30 minutes," "Last 1 hour," "Last 3 hours," "Last 6 hours," "Last 12 hours," "Last 24 hours," and "Last 2 days." Below the dropdown, there is a note indicating that recently used intervals will appear here and a link to read the documentation is highlighted.] 5. Depending on which pods you need to check, choose the appropriate pods in ‘Pod’ section in top of the dashboard. For example, you need to check ‘qry' pods. Then you type ‘qry’ in the ‘Pod’ section and press on ‘selected’ button to choose all filtered po [ ALT text: A blurred screenshot of a software interface displaying a list of selected pods within a namespace labeled "qry." The list shows four selected items with checkmarks next to their names, including a specific pod labeled "qry" and others related to e-commerce and retail. The CPU usage appears at 100%.] 6. When making a screenshot of the pods, both CPU usage and Memory usage graphs should be fully visible [ ALT Text: "A data visualization dashboard displaying two graphs: the top graph shows CPU usage over time with a sharp spike and drop, while the bottom graph represents memory usage remaining relatively stable. Both graphs include time markers along the horizontal axis and usage percentage or memory size on the vertical axis."] 7. In case you need to check several different pods (like qry and query OR bld and build, etc), better to make a separa screenshot for each type of a pod. After you have made a screenshot of one type of pods, open ‘Pod’ section again and press on ‘Selected’ to make sure that it will show zero. After that start typing next pod’s name [ ALT text: "Screenshot of a dark interface displaying a pod selection menu in a computing environment. The 'Namespace' dropdown is set to 'skiense' and the 'Pod' dropdown shows 'build' with an additional item 'build-8bbab4947c-zcgmf' highlighted and selected."] 

      nataliia_kh
      nataliia_khPosted 1 year ago
      0
               
      • Widget & Dashboard ScriptsChevronRightIcon

      Custom sort for Bar and Column Chart

                                       

      Custom sort for Bar and Column Chart Question: I have seen several posts of people asking if there is a simple way to apply custom sorts for car and column charts, and until recently, I have been using the community customBarColumnChart Plugin, which is not supported anymore, and also not working correctly in the latest version of Sisense cloud. Not sure why this cannot become a standard feature within the system, as there seem to be a lot of requests for this functionality.    Answer:  The following widget scripts will allow you to sort categories in a bar/column chart. You can change the order of items in sortOrder to change the order. They cater to when you want to sort by a Break By, or when you want to sort by Categories with no Break By. BREAK BY:     widget.on('processresult', (w, args) => { var sortOrder = ['Yellow', 'Black', 'Red', 'Blue ', 'Gold', 'Silver'] args.result.series.sort(function (a, b) { return sortOrder.indexOf(a.name) - sortOrder.indexOf(b.name) }) })     The configuration is also attached in a screenshot below: ALT Text: A bar chart displaying total order quantities by region. Two regions are represented: Europe and USA. Each region has bars segmented by color: yellow, blue, black, gold, red, and silver. The chart highlights comparisons in order quantities between the two regions, with specific quantities not indicated in the image. CATEGORIES: If you're aiming to sort by the Categories directly, then you can use the following instead:     widget.on('processresult', (w, args) => { var sortOrder = ['USA', 'Europe'] args.result.series[0].data.sort(function (a, b) { return sortOrder.indexOf(a.selectionData[0]) - sortOrder.indexOf(b.selectionData[0]) }) args.result.xAxis.categories.sort(function (a, b) { return sortOrder.indexOf(a) - sortOrder.indexOf(b) }) })     This configuration looks like this: ALT text: Bar chart comparing total order quantity between the USA and Europe. The USA has a higher total order quantity than Europe, with both categories represented in dark blue bars on a white background. This was tested using Sample Retail. Let me know how it goes for you in the comments!   Check out this related content:  Academy Documentation

      RAPID BI Support
      RAPID BI SupportPosted 1 year ago • Last reply 1 year ago
      4
               
      • TroubleshootingChevronRightIcon

      How to Fix Build Failure Caused by Hitting Java Memory Limit for TDengine Connector

                               

      How to Fix Build Failure Caused by Hitting Java Memory Limit for TDengine Connector There may be a lot of reasons for  out-of-memory errors when building a cube. However, when you check the logs from UI and see a  Java heapspace error in them, it means that the RC that connectors container which starts inside the build pod is hitting the Java memory limit.         The most common reason for this error to appear is the presence of unusually long strings somewhere in the table. How to solve this issue: 1) Identify the table which is causing the issue (it should be mentioned in error from UI) 2) Look through the columns of this table and check if any text columns have abnormally long entries. If yes, consider dropping these columns.     3) Adjust the connection string for the table in question adding batchfetch:true parameter. Example of connection string: String jdbcUrl = "jdbc:EXAMPLE-RS://example.com:6041/power?user=user&password=password&batchfetch:true"; The default value for the  batchfetch parameter is ‘false’. When set to ‘false’ it pulls result sets row by row. However, when set to ‘true’ it pulls result sets in batches when executing queries. Since TDengine transfers data via a WebSocket connection, when batchfetch is added to the REST connection and set to true, it will enable the WebSocket connection. The WebSocket connection allows the JDBC REST connection to process large volumes of data when querying.   

      nataliia_kh
      nataliia_khPosted 1 year ago
      0