Asset Auditor
Asset Auditor provides complete transparency into the data assets across your Sisense environment, helping teams optimize performance, reduce unnecessary costs, and ensure high-quality analytics. With dedicated dashboards, organizations can see all data sources, track dependencies, and pinpoint inefficiencies in data models, dashboards, and widgets.
Installation and configuration
The Asset Auditor plugin can be installed by an Admin. Note that the Asset Auditor has a different installation process than other QBeeQ plugins.
The Asset Auditor is supported for Sisense customers that have Sisense installations:
- On-prem and Cloud
- Self-managed or Managed Cloud
- Live connections, Sisense Elasticubes, and Sisense Build to Destination
Operating system support:
- Linux
Asset Auditor requires using the Custom Code feature, which is unavailable on Windows.
Extract files from the zip archive
Download the files from the QBeeQ Framework Dashboard and extract the files from the zipped folder. Verify you have the following files before starting:
QBeeQ Asset Auditor Code.sipynb
QBeeQ Asset Auditor.smodel
QBeeQ Asset Auditor Dashboards.dash
Enable Custom Code
To enable the Custom Code feature:
- Navigate to Admin Tab > Feature Management > Advanced Analytics.
- Toggle Custom Code to on and click Save.
Import the data model and delete table
To import the Asset Auditor data model:
- Locate the zip file and extract the
QBeeQ Asset Auditor.smodel
file
- Navigate to the Data Tab and import the data model without assets, using the above file.
- Open the model QBeeQ Asset Auditor
- Delete the
RESTAPIMetadataDataModels
table from the model
Import custom code notebook
To import the code into a notebook:
- Click + Custom at the top of the Data Model page
- Select Add Custom Code from the dropdown
- Select Import Notebook
Open custom code in the notebook
- Click + Custom at the top of the Data Model page
- Select Add Custom Code from the dropdown
- Select the Notebook named QBeeQ Asset Auditor Code
- Click Open in Jupyter Notebook link. The Jupyter Notebook will open in a new browser tab.
Replace code variables
It is required to replace the following variables so that the Asset Auditor has access to the assets in your Sisense instance. In the Transformation section of the Notebook, the following variables are visible.
licensing_email = 'yourlicenseemail@mail.com' hostname = "https://test.com" bearerToken = "test" headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + bearerToken } TimeoutRequest=100 # set timeout for API request(default is 100) model_skip= 0 # set 1 to skip the section Models dashboard_skip=0 # set 1 to skip the section Dashboards plugin_skip=0 # set 1 to skip the section Plugins
The licensing_email
will be read from the system and automatically populated.
- Replace
hostname
with your Sisense URL
When replacing the hostname
, the new URL should not include the slash
â "https://myinstance.sisense.com"
â "https://myinstance.sisense.com/"
- Replace
bearerToken
with your Sisense bearer token - Navigate to Admin Tab > REST API
- If not already selected, click 1.0
- Scroll to locate and expand the
authentication
endpoints - Expand the
GET/authentication/tokens/api
endpoint - Click the Try it button
- Click the Execute button
- Copy the token from the response
"token": "this_is_the_sample_tokenâ
and replace in the Notebook
The Sisense bearerToken
is not the same as your individual API key and must be generated from the REST API
Run code in notebook
- Run the code in the Notebook by clicking Run > Run All Cells from the top menu bar
- When completed successfully, save the Notebook
Depending on the number of Elasticubes and Dashboards on the server, executing code in the Notebook could take around 10 minutes to an hour, or more.
- Leave the Notebook tab, but leave it open. Do not close the tab.
Add custom code RESTAPIMetadataDataModels
- Click + Custom at the top of the Data Model page
- Select Add Custom Code from the dropdown
- Select the Notebook named QBeeQ Asset Auditor Code
- Click Done
- Hover over the table New Custom Code newNotebook, and click the three-dot menu
- Rename the new table as RESTAPIMetadataDataModels
Build the Elasticube
- Build the Elasticube and select Replace All
The RESTAPIMetadataDataModels table does not need to be connected to any of the other tables within the model.
Import dashboards
- Locate the zip file
QBeeQ Asset Auditor Dashboards.dash
- Create a new folder, named QBeeQ Asset Auditor
- Hover over Dashboards list in the home page and click the + symbol.
- You can also right-click anywhere in the dashboards list, or click on the menu of one of your existing folders to import a dashboard into a folder.
- Select Import Dashboard from the menu.
- Select
QBeeQ Asset Auditor Dashboards.dash
file and click OK
Troubleshooting
Below are troubleshooting tips for common issues you may experience when installing and configuring the Asset Auditor. If you are unable to resolve issues, contact support@qbeeq.io
bearerToken has expired
If the code worked before but later started showing format-related errors, the issue might be an expired token. Try regenerating the token and updating it in the Notebook before running the code again.
Sisense Custom Code Notebook has timed out
If the build error shows a timeout message for 900 seconds and the cube takes more than 15 minutes to build, you need to adjust the settings:
- Go to Admin tab > Feature Management > 5 clicks on Sisense Logo > Build section.
- Change the customCodeNotebookTimeoutSec.value to a higher value (1880).
- Click Save
Code does not run successfully in Jupyter Notebooks
If the code fails to run, update the TimeoutRequest
variable in the Transformation section. This will increase the timeout for API requests.
Only change the TimeoutRequest
variable if you encounter an API-related error
The Jupyter Notebook crashes on the first run
If the notebook crashes on the first run, set one or more of the following variables to identify the problematic section
model_skip
dashboard_skip
plugin_skip
The default is set to 0 and will run all sections of the code. Setting the value to 1 will ignore/skip that section.
Using the Asset Auditor Dashboards
The Asset Auditor was built as a diagnostic tool to help users visualize and understand the data assets within their Sisense environment. The Asset Auditor includes six different dashboards that provide information on the usage and utilization of these data assets.
Asset Auditor dashboards may not be compatible with the unique theme or branding set by customers. Users may need to make manual changes.
Overview
Section | Chart | Description |
Data Models Utilization | Data Models Utilization | |
Data Models Utilization | Tables Utilization | |
Data Models Utilization | Columns Utilization | |
Dashboards and Widgets Score | Dashboards with Valid Data References | |
Dashboards and Widgets Score | Dashboards with Valid Plugin References | |
Dashboards and Widgets Score | Dashboards with Valid Widget References | |
Dashboards and Widgets Score | Plugins with Valid Widget References |
Data Models Overview
Section | Chart | Description |
Overview | Data Models | |
Overview | Tables | |
Overview | Columns | |
Overview | Data Models by Type | |
Overview | Tables by Type | |
Overview | Tables by Connectors | |
Overview | Most Used Data Models in Dashboards | |
Details | Data Models Details |
Data Models Utilization
Chart | Description | |
Data Models | Data Models Utilization | |
Data Models | Data Models | |
Data Models | Unused Data Models | |
Data Models | Empty Data Models | |
Tables | Tables Utilization | |
Tables | Tables | |
Tables | Unused Tables | |
Tables | % of Unused | |
Columns | Columns Utilization | |
Columns | Columns | |
Columns | Unused Columns | |
Details | Utilization by Data Model | |
Details | Column Use by Data Model | |
Recommendations | Empty Data Models | |
Recommendations | Unused Data Models | |
Recommendations | Unused Tables | |
Recommendations | Unused Columns |
Dashboards Overview
Section | Chart | Description |
Dashboards Overview | Dashboards | |
Dashboards Overview | Data Model Usage | |
Dashboards Overview | Widget Types by Dashboards | |
Dashboards Overview | Widget Count by Dashboard | |
Widgets Overview | Widgets | |
Widgets Overview | Unique Widget Types | |
Widgets Overview | Most Used Widget Types | |
Dashboards List | Dashboards List |
Dashboards Validation
Section | Chart | Description |
Dashboard Data Reference Checks | Dashboards | |
Dashboard Data Reference Checks | Dashboards with Issues | |
Dashboard Data Reference Checks | Dashboard Issues | |
Recommendations | Empty Dashboards | |
Recommendations | Empty Dashboards List | |
Recommendations - Dashboards | Dashboard Reference Check - Data Models | |
Recommendations - Dashboards | Dashboards Referencing Deleted Data Models | |
Dashboards Referencing Missing Data Models | Dashboard Reference Check - Tables or Columns | |
Dashboards Referencing Missing Data Models | Dashboards Referencing Deleted Tables or Columns | |
Recommendations - Dashboards Referencing Missing Tables and/or Columns | Dashboard Reference Check - Tables or Columns | |
Recommendations - Dashboards Referencing Missing Tables and/or Columns | Dashboards Referencing Deleted Tables or Columns | |
Dashboard Widget Reference Checks | ||
Dashboard Widget Reference Checks | ||
Recommendations for Dashboards referencing disabled plugins | Dashboards with Unregistered Plugins | |
Recommendations for Dashboards referencing missing plugins | Dashboards with Missing Plugins | |
Number of widgets per Dashboard | Number of widgets per Dashboard | |
Recommendations for Dashboards with more than 8 widgets | Dashboards with more than 8 widgets |
Plugins
Section | Chart | Description |
Plugins | Installed Plugins | |
Plugins | Disabled Plugins | |
Plugins | Plugins by Use | |
Plugins | Dashboards by Plugin | |
Recommendations | Unused Widget Plugins | |
Recommendations | Disabled Plugins | |
Installed Plugins | Installed Plugins |
Editing the Asset Auditor Dashboards
The Asset Auditor dashboards can be edited by users with a Sisense Admin or Designer role.
This is beneficial so that users can make changes to dashboards to better suite specific use cases. We have provided the canonical column names and descriptions for the data in the QBeeQ Asset Auditor data model.
It is recommended to create your own dashboards when creating new charts so that when dashboards are updated by QBeeQ, bespoke charts do not get removed.
Tables_and_columns
Column | Description |
ColumnID | The unique id of the column in Sisense. |
ColumnName | The name of the column in the table in the data model in SIsense. |
ColumnSourceName | The name of the column in the source table in source connection (if exist). It could have id value for some type of data sources. |
ColumnType | The code of the data format in Sisense. |
Database | The name of the database in the source connection (if exist). |
DataModel | The name of the data model |
DataModelID | The unique id of the data model |
DataModelLink | The HTML version of URL associated with the data model, clickable when added to a table |
DataModelType | The type of the data model in Sisense
Values: live or elasticube |
Dataset | The source of data in the data model. data models can have more than one source. Example: DataModel1 has two datasets: CSV and Snowflake |
DatasetName | Full name of the data set as is in the Sisense. |
DatasetType | Type of the dataset
live : Live connections for data models
extract : Data imported (ex. Excel or DB)
custom : Custom tables in the model created by data designer
|
key | The concatentation of DataModel , TableName and ColumnName for relationship beetween tables in the data model.! Technical field for this data model. |
SchemaName | The name of the schema in the source connection, if it exists |
TableName | The name of the table in the data model |
TableSourceName | The name of the table in the source connection, if it exists. The table name may present as a clear text, or an ID depending on how it is designated in the data model. |
TableID | The unique id of the table |
RelationFlag | Shows whether the column is part of any relationship in the data model
0 : The column has no a relation(s)
1 : The column has a relation(s)
|
URL | The URL of the data model |
Dashboards
Plugins
Column | Description |
ColumnKey | The concatenation of the TableName and ColumnName |
ColumnName | The name of the column from table from data model in sisense that was used in the widget |
DashboardEmptyCheck | A flag that indicates if the dashboard is empty
false : The dashboard contains widgets
true : the dashboard contains no widgets |
DashboardErrorMessage | The message that describes the type of dashboard error. This message is visible when DashboardHasError=1
Possible messages:
Empty Dashboard , Deleted Data Model , Deleted Table or Column |
DashboardHasError | A flag that indicates if the dashboard contains at least one error related to missing data references
0 : Dashboard has no errors
1 : Dashboards has at least one error |
DashboardID | The unique id of a dashboard |
DashboardName | The name of the dashboard |
DashboardOwner | The plaintext email address of the dashboard owner |
DatasourceName | The name of the data model(s) that are referenced as data sources for widgets on a dashboard. A dashboard can have many data sources, but a widget can only have one. |
Field | A string that contains part of the code of widget data panel |
key | The concatenation of DatasourceName , TableName and ColumnName for relationship between tables in the data model |
Link | The HTML version of URL associated with the dashboard, clickable when added to a table |
ObjectType | Type of the object on the dashboard
Options:
Widget : a widget from the dashboard
Filter : a filter from dashboard filter panel |
QBeeQWidget | A flag that indicates if the plugin is by QBeeQ
0 : The plugin is provided by another vendor or custom
1 : The plugin is by QBeeQ |
ReferencingMissingColumnOrTable | A flag that indicates if the column or table used in the widget/filter is missing from the data model
0 :
1 : It references missing value |
ReferencingMissingDataSource | A flag that indicates if the data model used in the widget/filter is missing |
TableName | The name of the table from data model that was used in the widget |
URL | The URL of the dashboard |
Widgetid | The unique id of a widget |
WidgetLink | The HTML version of URL associated with the widget, clickable when added to a table |
WidgetType | The type of widget, values are based on Sisense and custom naming
Sample values:
Filter : filter from dashboard filter panel
indicator : Sisense indicator widget
pivot2 - Sisense pivot table widget |
Column | Description |
isSisense | Specifies whether the plugin is an official Sisense plugin
Values:
Sisense plugin : A plugin provided by Sisense
Plugin : A plugin provided by a third-party or a custom plugin |
PluginActive | Indicates whether the plugin is enabled (active)
Values:
true : Plugin is enabled
false : Plugin is not enabled |
PluginName | The name of the plugin |
PluginVersion | The version of the plugin |
pluginType | Specifies the plugin type
widget : A visualization-related plugin based on a predefined list
functional : All other types of plugins |