Semantic 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.27Views0likes5CommentsData 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" .Solved80Views0likes7CommentsIssue 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, Rado28Views0likes3CommentsQuery Plan Analyzer - is it reliable?
Looks to me like the Query Plan Analyzer incorrectly labels some joins as "many" when they should be "one". Also, it seems to analyze the SQL constructed by Sisense, not the database's query plan. Is that correct, or am I missing something? (My goal with this post is to check my understanding of Sisense and the Query Plan Analyzer, and to point out potential issues.) 1) Incorrect "many" See the attached "QPA-graph2.png". Looks like it's saying "Sum(Table1.Field1) Cross Join Sum(Table2.Field2) yields >1 rows". But the sums are not being sliced or grouped; it's just a sum of every row in the table. How can that possibly yield >1 rows? 2) Sisense SQL vs database query plan See attached "QPA order of operations.png". Looks like it's saying that the plan is to: [1] Select a row from the Table1 (Episode dim table). (1 row.) [2] Join Table2 (Dates) to Table3 (Patient/Episode fact table) on DateID. (80mil rows.) [3] Join the results of [1] and [2]. (1 row.) It would be more efficient to: [1] Select a row from the Table1 (Episode dim). (1 row.) [2] Join [1] to Table3 (fact) on EpisodeID. (1 row.) [3] Join [2] to Table2 (dates) on DateID. (1 row.) That way, it doesn't need to load all the Table2 and Table3 rows. The query planner knows that it can safely rearrange the joins this way, and it has cardinality estimates so it can see which order will result in less work.Solved998Views0likes2CommentsHelp 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!57Views0likes5CommentsBuild To Destination Failure
While Trying build to Destination in an elasticube model, I am getting destination viewer error. Is it related to any configuration issues and is it necessary to provide the database and schema parameter while doing Build to destination? Attaching the screenshot of the generated error315Views0likes3CommentsHandling Latest Records in widget (pivot/charts) in context of filters selected
Hi, I have a table with test cases (testcase_key, Type), cycles (cycle1, cycle2, ...), and executions (test_result, execution_timestamp). Scenario: A test can be executed multiple times within one cycle, and the same test case can also be executed in subsequent cycles. I want to keep only the latest execution of each test case in a pivot table. The dashboard has a filter for cycles. I can write custom SQL like this: SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY testcase_key ORDER BY execution_timestamp DESC) as rn FROM executions ) sub WHERE rn = 1; The challenge with this approach is that it only shows the test case of the latest cycle. If a user selects any past cycle, I am not able to see the latest test case status and type for that cycle. I have also tried using JAQL, but it doesn't work as expected. Here is the JAQL query I used: { "top": 1, "by": { "table": "executions", "column": "actualenddate_ts", "dim": "[executions.actualenddate_ts]", "datatype": "numeric", "agg": "max" }, "context": { "partition": [ { "table": "executions", "column": "testcase_key", "dim": "[executions.testcase_key]", "datatype": "text" }, { "table": "executions", "column": "issue_key", "dim": "[executions.issue_key]", "datatype": "text" } ], "sort": { "table": "executions", "column": "actualenddate_ts", "dim": "[executions.actualenddate_ts]", "datatype": "numeric", "order": "desc" } } }230Views0likes2CommentsHow to Dynamically Switch Between Multiple Data Models in a Single Dashboard?
Hello I am building a dashboard where different user groups need to view similar KPIs sourced from different ElastiCubes. For example; one group uses the Sales_US model & another uses Sales_EU. Rather than duplicating dashboards for each data model, I am exploring ways to dynamically switch between data sources within a single dashboard using a parameter or user/group attribute.🙂 Has anyone implemented a solution where the dashboard automatically pulls from the relevant data model based on user login, group / a dropdown selector? 😇 Ideally; I would like to avoid duplicating widgets and dashboards, and instead create a flexible design that changes context based on the selected (or detected) model.🤔Checked https://docs.sisense.com/main/SisenseLinux/embedding-dashboards-and-widgets.htm related to this and found it quite informative. If this isn’t natively supported, are there any creative workarounds using Sisense Blox, embedding API / script-based redirection/Generative AI Course ? 😇 I’m open to hybrid approaches as long as they maintain a good user experience. Thanks in advance!🙂61Views0likes2CommentsGeneric JDBC ClickHouse live model with custom dialect
Hello, I am using a Generic JDBC driver to query our ClickHouse cluster. It works quite well on ElasticCube, except for handling date types and date functions. Therefore, I would like to use a live model with a custom dialect. However, I haven't found any documentation about that. I noticed that the analytical engine is enabled for my connector and that it's based on Apache Calcite. Additionally, I saw that there is a custom dialect for ClickHouse in the Apache Calcite project. https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql/dialect/ClickHouseSqlDialect.java I tried to download the Java file for ClickHouse dialect and upload it, but it doesn't seem to work as expected. Although no errors appeared in the UI, I noticed a 400 error in the network with the following message: "Failed to update dialect with response = ServiceResponse(status=INSTALL_DIALECT_FAILED, value=null, error=Failed to validate Dialect for connector GenericJDBC_clickhouse, statusCode=0), for connector GenericJDBC_clickhouse." Could you help me figure it out? ThanksSolved2.3KViews0likes9Comments