Can Explanations be Relevant?
We are interested in rolling out Explanations to our clients, but I've hit a block and need some guidance. I think that the source of the issue may be our use of null replacement values in our data models. We don't allow data to join out of a query and instead ensure that all fact data joins to a null-replacement row in our dimensional tables. For example, given a fact table of product PURCHASES, imagine it was possible to sell those products at a discount in some orders. Assume that the fact table then joins to a dimension table of DISCOUNTS. Most purchases do not have a discount, but some do. Without a null-replacement row in the DISCOUNTS table, adding a field from that dimensional table onto a widget will limit the results in the widget to only fact rows with a discount. In our models, we would replace the null discount key in the fact table with a value that joins to a null-replacement row in the DISCOUNTS table. For example, replace null with -999999 in the fact table and have a row in DISCOUNTS with [id] = -999999 and a [description] = "(none)". The problem we're running into with Explanations is that the feature is presenting only the most useless information as being the most probable explanations. For example, when a single discount exists in the data set, then 99.9% of the PURCHASE rows have a "(none)" DISCOUNT, which is deemed this highest scoring field. More generally it seems that Explanations just reports back the most highly probably explanations as those fields where the member in the field is the commonly present in the data anyway, and it's just reflecting the raw change in fact data. For example, here's an image where the drop in revenue is explained by the drop in revenue from web sales (BRestAPI). But web sales constitute a larger over proportion of sales after the drop (89% up from 82% in the prior period). And another example in which an "Initiator Specified Flag" is whether or not an alternate order "owner" has been specified on a order. Specifying an alternat owner is allowed ("Y"), but not a common practice ("N"). Again, we're just seeing a reflection of sales in the explanation. Is there anything we can do to make the explanations discovered by Sisense relevant? The way it's functioning now, it would be better if Sisense DID NOT recommend possible explanations and just let the user Explore Other Fields immediately without having to wait for Sisense to return the list of completely irrelevant fields. I've tested this across many of our clients' data sets and found the same behavior. Hopefully there are options for us to improve the recommendations or maybe prevent it from recommending.135Views0likes2CommentsUse dashboard API to get data in python dataframe
I have a widget which displays users with points and I want to fetch top 10 users from that widget.Also I need to select current month "01/2025" from the filter.Let me know how this can be done But I'm getting weired error.Please help! I'm an admin so I have a token from my profile section. import requests url = "https://bp.sisense.com/api/v1/dashboards/4577fc4415dd7d003339bfdc/widgets/4577c7716dd7d554441bjae" # authentication headers = { "Content-Type": "application/json", "Authorization": "" } # Send the request response = requests.get(url, headers=headers) response # Check if the request was successful data = response.json() data Error: {'error': {'code': 5002, 'message': 'Invalid token.', 'status': 401, 'httpMessage': 'unauthorized'}}2.2KViews0likes10CommentsNLQ: Include all fields from the model
Hi, I am trying to play with NLQ features and noticed that it only includes attributes that are part of the dashboard and does not consider the one from the underlying model, which really limit the scope for our end users. Is there a way we can include "all" fields from the underlying model in NLQ?903Views0likes1Commenttrying to use arrow indicators in blox to compare impressions between two different years
Hi Community, Is there a way someone may kindly assist me with how can I use BloX to create red and green arrows indicator to show an increase or decrease in impressions by comparing different year of the same campaign? Please kindly assist 🙂2.6KViews0likes3CommentsCustom code fails to build
Hi all, We created custom code in one of our elasticubes. However, after a week it fails, usually with the following error: "timestamp": "2022-05-24T06:00:31.697Z", "verbosity": "Error", "type": "buildEnded", "message": "Failed to build custom code table: Company Name fuzzy matching; BE#423256 Failed to run Jupyter Notebook cells.\nBE#848116 Cells execution failed with error: '---------------------------------------------------------------------------CustomCodeException Traceback (most recent call last)/tmp/ipykernel_3551/2351106898.py in <module>\n 1 # check for errors in logical sql execution \n 2 if \"error\" in logical_sql_res:\n----> 3 raise err.CustomCodeException(*err.ERROR_IN_LOGICAL_SQL, description=logical_sql_res)\nCustomCodeException: 65001: Error in Logical Sql; {'error': {'status': 401, 'httpMessage': 'Unauthorized'}}\nfull Error Message:{\"header\": {\"msg_id\": \"f6bee5dd-24960211aeb4573fe98a6acf_3551_30\", \"msg_type\": \"execute_reply\", \"username\": \"username\", \"session\": \"f6bee5dd-24960211aeb4573fe98a6acf\", \"date\": \"2022-05-24T06:00:31.381928Z\", \"version\": \"5.3\"}, \"msg_id\": \"f6bee5dd-24960211aeb4573fe98a6acf_3551_30\", \"msg_type\": \"execute_reply\", \"parent_header\": {\"username\": \"sisense_user\", \"session\": \"090d1484-8c54-49a3-800d-59009a087c9d\", \"date\": \"2022-05-24T06:00Z\", \"version\": \"5.3\", \"msg_id\": \"6c8e75a7-80dd-4e69-b917-784dc2624f50\", \"msg_type\": \"execute_request\"}, \"metadata\": {\"started\": \"2022-05-24T06:00:31.267719Z\", \"dependencies_met\": true, \"engine\": \"fa2585fb-5869-4c4c-b442-9c3e8d6639c3\", \"status\": \"error\"}, \"content\": {\"status\": \"error\", \"traceback\": [\"---------------------------------------------------------------------------\", \"CustomCodeException Traceback (most recent call last)\", \"/tmp/ipykernel_3551/2351106898.py in <module>\\n 1 # check for errors in logical sql execution \\n 2 if \\\"error\\\" in logical_sql_res:\\n----> 3 raise err.CustomCodeException(*err.ERROR_IN_LOGICAL_SQL, description=logical_sql_res)\\n\", \"CustomCodeException: 65001: Error in Logical Sql; {'error': {'status': 401, 'httpMessage': 'Unauthorized'}}\"], \"ename\": \"CustomCodeException\", \"evalue\": \"65001: Error in Logical Sql; {'error': {'status': 401, 'httpMessage': 'Unauthorized'}}\", \"engine_info\": {\"engine_uuid\": \"fa2585fb-5869-4c4c-b442-9c3e8d6639c3\", \"engine_id\": -1, \"method\": \"execute\"}, \"execution_count\": 6, \"user_expressions\": {}, \"payload\": []}, \"buffers\": [], \"channel\": \"shell\"}'." Given the 401 error, somehow the custom code cannot access the data. Has anyone encountered the same problem? Our current solution is to restart the Jupyter notebook kernel and run all cells, after doing so the code is working for another week again. If anyone knows how to really fix this, please let me know:) We are running Sisense on-premise with version L2022.2. Thanks!1.8KViews1like1Comment