Seeking Best Practice for Live Detail Reporting in Sisense (Replacing SSRS)
Afternoon Sisense community, Our team is looking to replicate the functionality of a crucial SSRS report within Sisense. This report is used by a department to obtain a detailed list of jobs for a specific month. The workflow involves: Running the report for a selected month (typically the current or previous month). Reviewing the output for discrepancies. Updating the source system based on the review. Re-running the report immediately to verify the changes (requiring live data). Current Sisense Implementation & Performance Issue I've attempted to recreate this report's dataset using a Live Model connected to a Redshift SQL View. The view is complex: It contains approximately 50 columns of detailed data. It involves JOINs across 15 different tables to consolidate all necessary dimensions and metrics. The Issue: The performance of this Live Model is unacceptable. Users are accustomed to the SSRS report running a stored procedure and returning the filtered data in under 30 seconds. My Sisense Live Model is timing out. Constraints & Goal Requirement: The data must be live (no ElastiCube, as users need immediate reflection of system changes after updates). Target Performance: Sub-30-second return for monthly filtered data. Request for Guidance Given the high number of columns, multiple joins, and the strict requirement for live data with fast filtering (specifically by month), what would be the recommended best practice for implementing this detailed report in Sisense? Are there specific Sisense configurations, data modeling techniques for live connections that would address this performance bottleneck while meeting the "live" requirement? Thank you for your insights!41Views0likes1CommentBug: Refresh schema all tables
In my data model, I clicked "Refresh Tables Schemas" to refresh for all tables in my data model. It incorrectly told me that one table could not be found in source (I then did Refresh Schema on that same table individually and it worked). Probably related: A colleague tells me that in their experience Refresh Tables Schemas is unreliable and as a result they refresh tables individually, but haven't given me exact steps to recreate the issue. I think it sometimes misses schema changes.14Views0likes1CommentImprove Build Notifications by Classifying User-Cancelled vs Failed Builds
I suggest enhancing our Sisense build notification process by automatically classifying emails as either “Cancelled by User” or “Build Failure.” This distinction will help us quickly identify which build interruptions were intentional versus actual system issues, improving response time and reducing unnecessary troubleshooting.10Views0likes0CommentsRefresh schema for all tables
Can we get a "refresh schema for all tables" button? Reason: Our tables are usually "Select * From AnalyticsSchema.ViewName". We control which fields to return by editing the view, not the Sisense table definition. When a field gets added/removed/changed, we need to refresh schema. That's fine to do manually as you're working on that datamodel+views, but we need to refresh all when: We copy a datamodel to a different server. We need to refresh schema at least to double-check that the views are as expected on the new server. (If any fields have changed, then I'll need to go fix any widgets using those fields, or, more likely, update the view to include them.) A view gets edited, perhaps for a different datamodel, and my datamodel hasn't been updated. I edit several views and want to refresh schema for all those Sisense tables. If I've changed used fields then I'll need to go into each table manually anyway so it doesn't matter, but I've had a case where I've removed unused fields from several views and now I need to click refresh schema on every table individually.2.5KViews5likes13CommentsThe row count should remain when using order by in the query builder
Currently when you run a Select statement the number of rows and columns are shown at the top of the result set. However, when I add an order by clause to the query the row count is removed but the column count remains. Can the "# Rows" value remain once an order by clause is added?10Views1like0CommentsSemantic Layer tables stack up like a deck of cards
Hi All, About once a month, all of the tables in our semantic layer stack on top of one another. I'm not sure why. It takes me about an hour to put them back in their right places. Has anyone else had this problem, and if so, how did you stop it from recurring? Cheers.46Views0likes5CommentsRequest for API to Programmatically Retrieve Widget-Level Error Responses in Sisense Dashboards
We are currently conducting automated tests on Sisense dashboards to ensure data reliability and visualization integrity. To detect failures, we’ve been using HTML tags to inspect widget responses. However, this approach has limitations especially with indicator widgets that use the <canvas> tag, which restricts DOM-level access and makes it difficult to capture error states. We’ve also explored using the POST /datasources/{cubeName}/jaql API to fetch data, but the payload is large and complex, making it challenging to parse programmatically for error detection. Given these constraints, we’re looking for an API or method that allows us to programmatically retrieve widget-level error responses or statuses from the dashboard. This would significantly improve the reliability and coverage of our automated testing framework Feature Request: Introduce an API or system-level mechanism to: Detect and retrieve widget-level error states Identify query execution failures tied to specific widgets Support automated testing and validation workflows20Views0likes0CommentsData Security Synchronization between Elasticubes
I was wondering if there is a possibility to synchronize the data security between elasticubes. For example, I have Elasticube A & Elasticube B which use one field (the same) for data security. Elasticube A is updated Monthly. Elasticube B is updated Weekly. The question is, if there is a functionality or a way to synchronize them. eg. If a change is done to Elasticube A, to synchronize the access rights of Elasticube B "automatically" .Solved96Views0likes7CommentsIssue creating tables via POST/datamodels/{datamodelId}/schema/datasets/{datasetId}/tables
Hello, When I create a table via the following endpoint: POST/datamodels/{datamodelId}/schema/datasets/{datasetId}/tables the table indeed is created, however the "preview of the data" and "the data showing into the dashboards" functionalities don't work. The payload I use to create the table with the API is the following: { "id": "columns", "name": "columns", "type": "base", "columns": [ { "id": "table_catalog", "name": "table_catalog", "displayName": null, "semanticIndex": null, "oid": "e467cc0d-e174-4f6f-b323-a1fe6631b75c", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "table_schema", "name": "table_schema", "displayName": null, "semanticIndex": null, "oid": "0b8a12a6-3210-4ca3-9bd1-f7f697830422", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "table_name", "name": "table_name", "displayName": null, "semanticIndex": null, "oid": "42023ae9-da17-42d7-bf30-76263b37dac9", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "column_name", "name": "column_name", "displayName": null, "semanticIndex": null, "oid": "949662ab-d80b-414e-840f-6b7c9d526f9c", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "ordinal_position", "name": "ordinal_position", "displayName": null, "semanticIndex": null, "oid": "5fd023c6-775b-4086-8fc0-18ae30f288f5", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "column_default", "name": "column_default", "displayName": null, "semanticIndex": null, "oid": "3aec986a-c05e-41c1-a28c-63b3656c7fbc", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "is_nullable", "name": "is_nullable", "displayName": null, "semanticIndex": null, "oid": "91ec1abd-d8c9-4d49-8fcc-c30314755982", "type": 2, "size": 5, "precision": 7, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "data_type", "name": "data_type", "displayName": null, "semanticIndex": null, "oid": "0191ed88-dda3-4609-adf2-71ee92e17d96", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "character_maximum_length", "name": "character_maximum_length", "displayName": null, "semanticIndex": null, "oid": "9294c71d-a7ee-499c-a545-a2dc7d34e25c", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "character_octet_length", "name": "character_octet_length", "displayName": null, "semanticIndex": null, "oid": "4cba3687-517e-4a05-9921-f1c4e2b6a6b8", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "numeric_precision", "name": "numeric_precision", "displayName": null, "semanticIndex": null, "oid": "2d26d3c5-535d-4e2c-9321-88b6cdecef39", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "numeric_precision_radix", "name": "numeric_precision_radix", "displayName": null, "semanticIndex": null, "oid": "2da2c5a0-d38a-4852-9d98-ca0980bf3b3d", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "numeric_scale", "name": "numeric_scale", "displayName": null, "semanticIndex": null, "oid": "acff38fc-345e-428c-a531-356db48a247b", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "datetime_precision", "name": "datetime_precision", "displayName": null, "semanticIndex": null, "oid": "7ad52251-e8df-40e1-832a-9df13f6ada96", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "interval_type", "name": "interval_type", "displayName": null, "semanticIndex": null, "oid": "bc89e589-7691-4af5-88f8-c99bb3d9e38a", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "interval_precision", "name": "interval_precision", "displayName": null, "semanticIndex": null, "oid": "b04b571f-2d92-446e-88e4-0a84b9935be7", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "character_set_catalog", "name": "character_set_catalog", "displayName": null, "semanticIndex": null, "oid": "3924dda5-a14f-46dd-b249-feecbed1daf6", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "character_set_schema", "name": "character_set_schema", "displayName": null, "semanticIndex": null, "oid": "875bb8dc-d6da-4ac4-be3f-ca3052ce7dbd", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "character_set_name", "name": "character_set_name", "displayName": null, "semanticIndex": null, "oid": "688e9b83-ec66-48ce-84b2-57d677b7f87f", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "collation_catalog", "name": "collation_catalog", "displayName": null, "semanticIndex": null, "oid": "5cc74c8b-860e-4f3b-a667-a655587e27a9", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "collation_schema", "name": "collation_schema", "displayName": null, "semanticIndex": null, "oid": "2e0325bf-184d-4f6a-a5b4-cdcdc6f0243a", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "collation_name", "name": "collation_name", "displayName": null, "semanticIndex": null, "oid": "e3939c19-49a5-423b-8cb9-6d821888694d", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "domain_catalog", "name": "domain_catalog", "displayName": null, "semanticIndex": null, "oid": "143600c8-99ad-411f-a7b6-d134ffdcd54b", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "domain_schema", "name": "domain_schema", "displayName": null, "semanticIndex": null, "oid": "286dafc1-ad52-47db-818d-c041d6b38d30", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "domain_name", "name": "domain_name", "displayName": null, "semanticIndex": null, "oid": "446a29dd-3804-4d35-8f20-92880acc8dbb", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "udt_catalog", "name": "udt_catalog", "displayName": null, "semanticIndex": null, "oid": "0e3c2ddc-9dbd-4b64-98a1-30bf79c57495", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "udt_schema", "name": "udt_schema", "displayName": null, "semanticIndex": null, "oid": "3b7f2b0f-bc5f-46a7-854f-80bd031f206b", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "udt_name", "name": "udt_name", "displayName": null, "semanticIndex": null, "oid": "205a1c01-47af-42dd-90d9-321c72c53552", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "scope_catalog", "name": "scope_catalog", "displayName": null, "semanticIndex": null, "oid": "33afa09f-f250-43a8-9598-eb9ccbe577dc", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "scope_schema", "name": "scope_schema", "displayName": null, "semanticIndex": null, "oid": "4a940c33-9d02-43af-9042-aa93d2ad6844", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "scope_name", "name": "scope_name", "displayName": null, "semanticIndex": null, "oid": "c7c144c1-3cf5-477a-a7ca-440ff37675cf", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "maximum_cardinality", "name": "maximum_cardinality", "displayName": null, "semanticIndex": null, "oid": "bd9371dd-3dcb-49d0-b961-9718ae9db0d0", "type": 8, "size": 10, "precision": 10, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "dtd_identifier", "name": "dtd_identifier", "displayName": null, "semanticIndex": null, "oid": "4547094b-0f7e-46a2-91cb-1aa765a90805", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "is_self_referencing", "name": "is_self_referencing", "displayName": null, "semanticIndex": null, "oid": "b8ab4c63-17f2-4546-9fe8-9f836436a3b2", "type": 2, "size": 5, "precision": 7, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "is_identity", "name": "is_identity", "displayName": null, "semanticIndex": null, "oid": "489369be-87e2-43b1-b469-e6f635314113", "type": 2, "size": 5, "precision": 7, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "identity_generation", "name": "identity_generation", "displayName": null, "semanticIndex": null, "oid": "24548bc2-d200-4803-8acb-64baa708ea6f", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "identity_start", "name": "identity_start", "displayName": null, "semanticIndex": null, "oid": "83590ce0-1749-410c-9230-80cf2eba73b0", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "identity_increment", "name": "identity_increment", "displayName": null, "semanticIndex": null, "oid": "f295919f-d985-4623-8b03-7e0498a25402", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "identity_maximum", "name": "identity_maximum", "displayName": null, "semanticIndex": null, "oid": "38114b6a-7829-4fab-81eb-280225a4890c", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "identity_minimum", "name": "identity_minimum", "displayName": null, "semanticIndex": null, "oid": "00686f13-6a30-4b39-8164-2fdce57e2894", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "identity_cycle", "name": "identity_cycle", "displayName": null, "semanticIndex": null, "oid": "f228c9c4-ff5a-4bf1-851e-662bb2052d23", "type": 2, "size": 5, "precision": 7, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "is_generated", "name": "is_generated", "displayName": null, "semanticIndex": null, "oid": "796880b1-62f2-4570-9973-dd68b1eac4d9", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "generation_expression", "name": "generation_expression", "displayName": null, "semanticIndex": null, "oid": "f30b5f8a-b90e-4bb9-a5f1-9049b416b678", "type": 18, "size": 2147483647, "precision": 2147483647, "scale": 0, "hidden": false, "indexed": false, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null }, { "id": "is_updatable", "name": "is_updatable", "displayName": null, "semanticIndex": null, "oid": "bc151a93-c760-49b7-994c-f4355827a899", "type": 2, "size": 5, "precision": 7, "scale": 0, "hidden": false, "indexed": true, "isUpsertBy": false, "lastUpdated": "1970-01-01T00:00:00.000Z", "description": null, "expression": null, "import": null, "isCustom": null } ], "buildBehavior": { "type": "sync", "accumulativeConfig": null }, "hidden": false } What I get on the preview is: { "moreInfo": { "why": { "name": "InvalidRequestException", "message": "InvalidRequestException", "errorCode": 8, "wrongParameter": null, "trace": null, "why": "BE#406574 \"columns\" Table has no columns or does not exist." } }, "code": 22003, "message": "An error occurred while executing request to connector: BE#406574 \"columns\" Table has no columns or does not exist.", "status": 400, "httpMessage": "Bad Request" } When I create the exact same table, BUT from the UI the functionalities mentioned above work. May you help us with that? Best regards, Rado37Views0likes3Comments