ContributionsMost RecentNewest TopicsMost LikesSolutionsRe: New filter UI - how do I search and select multiple options? Hello ScheurK You can choose the company you want. If you wish you can use the search field in the filter itself in the screenshot below that I highlighted in orange. Field highlighted in orange: search fields for filter values; Field highlighted in red: all the selected fields; Button highlighted in green: enable or disable multi-select option. If multi-select is enabled, you can select more than one filter value. In the image below there are two values selected, the filter configuration is as multi-selectable and I use the field search to add another element. For the image below, I did the same process as I did in the image above, but as the filter is configured to have only one selected value, it overlaps the previous value. Hope this helps. Best, Bluemetrics Re: Can you use export/import to make a copy of a dashboard, but with changes? Currently, we don't support username and password authentication. This will come up on soon. If you want, you can create your own function or fork the project on GitHub. The function would look something like: import requests def login(username: str, password: str) -> str: data = {'username': username, 'password': passoword} headers = { 'accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.post('https://your_app_url/api/v1/authentication/login', headers=headers, data=data) response.raise_for_status() content = response.json() if content['success']: return content['access_token'] raise ValueError(content['message']) I hope this helps. Best regards, BlueMetrics Re: What is tenantID in the dashboard exports, and why is there no tenantID in models? Hi Bpeikes! A tenantID is a part of the multi-tenancy feature that will be released soon. Some of its functionality is already in the product for test and gradual release purposes. Once released you will be able to create a tenant and assign users/cubes/dashboards to specific tenants to make sure users can’t see other companies/customers' data, mostly for enterprise output management (EOM) which refers to the process by which enterprise organizations manage, format and distribute data created from operational applications. I would suggest avoiding using tenantID/assigning value etc. As we had cases where the system was not functioning properly. From what I know currently, there is only one tenant so all users/dashboards/cubes should also have the same tenant assigned to them. Hope this makes sense to you and if you have any further questions don’t be afraid to reach out! Kind regards, BlueMetrics Re: Can you use export/import to make a copy of a dashboard, but with changes? Hi bpeikes, Our team developed a Python API for Sisense that makes a lot of the tasks you described faster and automated. For example, the code below could be used to perform the tasks described for datamodels: from sisense import Sisense import json host = 'https://your_sisense_url' token = 'your_api_token' elasticube_name = 'Name of the elasticube you wish to duplicate' sisense = Sisense(host, token) # Connection to Sisense # sisense.datamodel.list() # Lists datamodels, good for testing the connection # sisense.elasticube.all() # Same but for elasticubes on Windows # Get the cube by it's name and uses it to get the datamodel cube = sisense.elasticube.get(elasticube_name) model = sisense.datamodel.get(cube.oid) # Exports the datamodel to a JSON file filepath = 'Model.smodel' model.do_export(filepath) # Imports the JSON file for editing with open(filepath, 'r') as file: smodel = json.load(file) # Change model's properties (some connection parameter, for example) smodel['datasets'][0]['connection']['parameters'] = ... # Exports the altered JSON with open(filepath, 'w') as file: json.dump(smodel, file, indent=4) # Imports the altered datamodel as a new one in Sisense sisense.datamodel.do_import('New Datamodel', filepath) There are also very similar functions that allow you to do the same with dashboards. To use the Sisense API for Python, you will need to install it using pip as below: pip install sisense There's also documentation on getting started using the Python library: Sisense API — sisense documentation If you have any questions don't be afraid to reach us out! Best regards, BlueMetrics Re: How to export Dashboard/Widgets to CSV automatically? Hi Prajwal, I have a script that I believe fits your demand, see it below: from datetime import datetime from sisense import Sisense import pandas as pd import os import io folder_path = '' # path where the file will be sent date_format = 'MM/dd/yyyy' # date format that will be printed in the exported file name filename_sufix = datetime.now().strftime("%Y-%m-%dT%H:%M") server_name = 'server_name' # example: https://example.com access_token = 'access_token' # can be achieved through your own sisense REST API page dashboard_id = 'dashboard_id' # id of the dashboard you want to export, the id of the dashboard can be found in the URL on the dashboard page api = Sisense(server_name, access_token) dashboard = api.dashboard.get(oid=dashboard_id) for widget in dashboard.widgets: widget_metadata = [] panels = widget.metadata['panels'] for panel in panels: for item in panel['items']: if not item.get('disabled', False): if item['jaql']['datatype'] == 'datetime': item['format']['mask']['days'] = date_format widget_metadata.append(item) # Add dashboard filters if not widget.metadata['ignore']['all']: for filter in dashboard.filters: if not filter.get('disabled', False) and filter['instanceid'] not in widget.metadata['ignore']['ids']: filter.update({'panel': 'scope'}) widget_metadata.append(filter) # Calling API to download CSV response = api.datasource.to_csv(dashboard.datasource, widget_metadata) # Response is a CSV format as string # You can simply save the string in a file or convert it to a pandas.DataFrame for manipulation data = io.StringIO(response) dataframe = pd.read_csv(data, header=0, index_col=None, dtype=str) To use this script, you will need to install the sisense python library by running: $ pip install sisense Once you set up your script, you can schedule it using the cron (on Linux) or the Task Manager (on Windows). For a cron job: ┌───────────── min (0 - 59) │ ┌────────────── hour(0 - 23) │ │ ┌─────────────── Day of month (1 - 31) │ │ │ ┌──────────────── month (1 - 12) │ │ │ │ ┌───────────────── day of the week(0 - 6) │ │ │ │ │ 0 12 * * * python to_csv.py The command example above runs the script every day at 12:00. Hope this helps. If you have any questions, please, feel free to contact us. Best regards, BlueMetrics