How to target a specific cell/column to change the column in a pivot table?
I have a pivot table where I am trying to turn the "Activity date for billable time" light green (can be any color) in my widget edit script, along with its corresponding value from another column, 2025-08-18, in this example. I have tried a couple of different script but nothing seems to work: (function () { // === settings === var VALS = 'Activity date for billable time'; // sub-header text to match var COLOR = '#e6f4ea'; // light green var MAX_TRIES = 40, RETRY_MS = 150; // --- tiny helpers (no backticks) --- function getRoot(w){ return (w && ((w.$$container && w.$$container[0]) || (w.$container && w.$container[0]) || w.container)) || document; } function qAll(root, sel){ return Array.prototype.slice.call(root.querySelectorAll(sel)); } // Find runtime column index by reading row-1 sub-header text function getColByRow1Label(root, vals){ var tds = qAll(root, '.table-grid.table-grid--top td.table-grid__cell--row-1'); for (var i = 0; i < tds.length; i++){ var td = tds[i]; var textEl = td.querySelector('.table-grid__content div'); var txt = (textEl && (textEl.innerText || '').trim()) || ''; if (txt === vals){ var classes = td.className.split(/\s+/); for (var c = 0; c < classes.length; c++){ if (classes[c].indexOf('table-grid__cell--col-') === 0){ return parseInt(classes[c].split('--col-')[1], 10); } } } } return null; } // Inject a CSS rule so it survives re-renders/virtualization function injectCSS(root, col){ // remove any prior rule from this script var old = root.querySelector('style[data-col-color]'); if (old && old.parentNode) old.parentNode.removeChild(old); var css = '' + '.table-grid.table-grid--top td.table-grid__cell--row-1.table-grid__cell--col-' + col + ' .table-grid__content{' + 'background-color:' + COLOR + ' !important;' + 'border-radius:4px !important;' + '}\n' + '.table-grid:not(.table-grid--top) td.table-grid__cell--col-' + col + ' .table-grid__content{' + 'background-color:' + COLOR + ' !important;' + 'border-radius:4px !important;' + '}'; var style = document.createElement('style'); style.type = 'text/css'; style.setAttribute('data-col-color', 'col-' + col); style.appendChild(document.createTextNode(css)); (root || document.body).appendChild(style); } function runOnce(w){ var root = getRoot(w); if (!root || !root.querySelector('.table-grid')) return false; // DOM not ready yet var col = getColByRow1Label(root, VALS); if (col == null) return false; injectCSS(root, col); return true; } function schedule(w){ var tries = 0; (function tick(){ if (runOnce(w)) return; if (++tries < MAX_TRIES) setTimeout(tick, RETRY_MS); })(); } // hook into widget lifecycle widget.on('domready', function(w){ schedule(w); }); widget.on('refreshed', function(w){ schedule(w); }); // try immediately too schedule(widget); })(); : (function () { var COLOR = '#e6f4ea'; // light green // 1) Color the VALUE cells for the target column member widget.transformPivot( { type: ['value'], // only data cells columns: [{ // << CHANGE THIS to the exact dim used in the Columns panel >> dim: '[Program_Assessment_Response_Question.Program_Assessment_Question_Version_Name]', // << keep this as the visible member text in your header >> members: ['Activity date for billable time'] }] }, function (_metadata, cellEl) { // Paint value cells without touching alignment cellEl.style.setProperty('background-color', COLOR, 'important'); cellEl.style.setProperty('box-shadow', 'inset 0 0 0 9999px ' + COLOR, 'important'); cellEl.style.setProperty('border-radius', '4px', 'important'); } ); // 2) (Optional) Also color the COLUMN HEADER cell for that member // If your Sisense version supports targeting column headers: widget.transformPivot( { type: ['columnHeader'], // header cells along the columns axis columns: [{ dim: '[Program_Assessment_Response_Question.Program_Assessment_Question_Version_Name]', // << same dim as above members: ['Activity date for billable time'] }] }, function (_metadata, cellEl) { // Header DOM is the TD; center style already handled elsewhere, so only background var content = cellEl.querySelector('.table-grid__content') || cellEl; content.style.setProperty('background-color', COLOR, 'important'); content.style.setProperty('border-radius', '4px', 'important'); } ); })(); DRay any suggestions or anyone from your team have an idea?Solved10Views0likes1CommentHide Widget based on grouped by Column Values
Hello I'm looking to hide a specific widget id if a specific value exists within a column value. I started with dashboard.on('widgetrefreshed', function (se, ev) { widgetList = ['682f7ab1602b5d7f74c97e6f', ] if(widgetList.includes(ev.widget.oid)) { $(`widget[widgetid="${ev.widget.oid}"]`).closest('.dashboard-layout-subcell-host').addClass('dontshowme-parent') } }); but I am not sure how to check if the value for a column called test_benchmarks contains 'ctv'73Views0likes8CommentsNeed swagger/openapi spec to generate client
Hello! My team is integrating with your system and I wanted to generate (via codegen-swagger or @openapitools/openapi-generator-cli) the client that is supposed to talk to your API. For that purpose I would need access to you swagger specification or openapi specification document via link or something. Do you have such specification somewhere and if yes could you provide me a link for it or help me navigate to it? Best regards, Rado85Views0likes4CommentsHow to achieve a Booking Summary by Day of the Week by Hour of the day?
Hi DRay , I am trying to achieve a pivot table with a heatmap that shows the day of the week at the top and the hours on the y-axis. I currently have this so far: But as we can see that the days of the week do not sort in the order from Monday to Sunday. Is there a way to achieve a custom column value? I also want to be able to click on a column, i.e., Friday then take me to a week with the all the bookings for that week like this. Can this be achieved in Sisense?Solved43Views0likes2CommentsData Prep Essentials for AI-Driven Analytics - Part 2
Learn how AI training and validation shape reliable models. Explore how structured, diverse data helps AI recognize patterns, generalize effectively, and avoid overfitting—ensuring optimal performance in real-world applications.628Views4likes0CommentsHelp with CI/CD Workflow for Sisense + GitHub Integration
Hi everyone, We're currently using two environments—test and prod—and recently began using Sisense's Git integration with GitHub. We're now looking to improve our CI/CD process and wondering if anyone has come across solid documentation or examples. Specifically, we're hoping to: Automatically deploy changes from a feature branch in test to main in test after a pull request is merged Then automatically deploy the same changes to prod Has anyone implemented a workflow like this or found official guidance on automating these deployment steps? We'd love to avoid manually pulling these changes into each environment. Appreciate any advice, links, or lessons learned!49Views0likes5CommentsDoes Your Project Have A Timeline? Planning For And Defining Success
Timelines are a key component of any dashboard implementation. Considering the available time is vital to establishing reasonable goals and how to best prioritize tasks. More importantly, adoption improves when projects show fast results instead of dragging on endlessly. Planning a roadmap for implementation can produce a successful integration for you and your team.1KViews1like0CommentsTable Widget - Horizontal scroll
I’ve been trying to make the scrollbar always visible on the Table widget. I followed the code suggestions from this post, but after implementing the code, I don’t see any change in the widget. Is there any other solution to make the scrollbar visible all the time on the Table widget? Thanks in advance!Solved284Views0likes5Comments