# Sisense Shell (PSM.EXE)
Sisense includes a CLI (Command Line Interface) utility called PSM.exe
which supports executing various ElastiCube-related commands using the Windows command line ("shell") or Windows PowerShell.
The Sisense CLI allows you to automate Sisense tasks that you can then implement as part of your application.
# Accessing the Sisense CLI
The Sisense Shell is installed by default when you install Sisense.
To access the Sisense Shell, you should open the Command Prompt as an administrator:
Next, navigate to the directory containing the Sisense CLI executable by entering the following command:
cd "C:\Program Files\Sisense\Prism\"
Lastly, run the command psm.exe
(or just psm
) and the CLI will output a list of available commands:
The table below lists the Sisense Shell commands, descriptions, related parameters, and examples.
# Available Commands
The commands listed below are available in the latest version of Sisense. If commands that are listed here are not available in your version of the CLI, you may need to upgrade to the latest version.
Note
The attributes and their examples below are case sensitive.
# ecube attach
Attaches an ElastiCube folder to the local server.
Example:
psm ecube attach path=s:\ElastiCubedata\acheck1 serverAddress=192.168.1.xxx
Arguments
Name | Description |
---|---|
path | Defines the full path of the folder you want to attach to a server. |
serverAddress | Defines the address of a remote server. If the address is not a remote server or no value is entered, the default value localhost is used. |
sync | Determines whether to execute this synchronously or asynchronously. Optional. By default, the value is False, asynchronously. |
# ecube build
Builds an ElastiCube from an ecube file or server-hosted ElastiCube.
Example:
Full Build, Local Server
psm ecube build name="<elasticube name>" mode=restart serverAddress=localhost
Accumulative Build, Remote Server
psm ecube build name="<elasticube name>" mode=restart serverAddress=192.168.1.134
Note: You can access similar functionality in the REST API. See /elasticubes/{server}/{elasticube}/startBuild for more information.
Arguments
Name | Description |
---|---|
filename | Defines the name of the ecube file. The ecube file contains the ElastiCube schema and data connection settings required for building the ElastiCube on the target server. |
name | Defines the name of an existing ElastiCube in an ElastiCube server. Use the name parameter when you want to rebuild the ElastiCube. |
serverAddress | Defines the target server address on which the ElastiCube should be built. |
mode | Defines the how the ElastiCube should be built. |
OrchestratorTask Id | Optional. The default value is none. This parameter is relevant for high availability configurations. For more information, see High Availability (opens new window). |
# Possible values for mode
argument
mode=restart
: Rebuilds the ElastiCube entirely.mode=full
: Rebuilds the ElastiCube and accumulates data for tables marked as accumulative. This mode should only be used for accumulative builds.mode=changes
: Rebuilds from scratch tables that have changed in the ElastiCube schema.mode=metadataonly
: Updates the ElastiCube server with the ElastiCube schema, without building.
# ecube convert
Converts ElastiCube XMLs files or encrypted ElastiCube XMLs files into ElastiCube files or ElastiCube files into ElastiCube XMLs (unencrypted).
The converted file is created in the same folder as the source file.
Example:
Ecube to XML
psm ecube convert name="c:\mycube.ecube"
XML to Ecube
psm ecube convert name="c:\mycube.xml"
Arguments
Name | Description |
---|---|
name | Address and filename of the source file. |
# ecube create
Creates an empty ElastiCube.
Example:
psm ecube create serverAddress=localhost name=TestCube
Arguments
Name | Description |
---|---|
serverAddress | Defines the target server address on which the ElastiCube should be built. |
name | Defines the name of the new ElastiCube. |
# ecube delete
Delete an ElastiCube from the target server.
Example:
psm ecube delete name="mycube" serverAddress=localhost
Arguments
Name | Description |
---|---|
name | Defines the name of the ElastiCube to be removed from the target server. |
serverAddress | Defines the target server address from which the ElastiCube should be removed. |
# ecube detach
Detaches an ElastiCube from the local server. When you detach an ElastiCube, the ElastiCube can no longer be accessed, but is saved in your ElastiCube folder in case you want to attach and reuse the ElastiCube again.
Example:
psm ecube detach name="mycube" serverAddress=localhost
Arguments
Name | Description |
---|---|
name | Defines the name of the ElastiCube you want to detach. |
serverAddress | Defines the address of a remote server. If the address is not a remote server or no value is entered, the default value localhost is used. |
sync | Determines whether to execute this synchronously or asynchronously. Optional. By default, the value is False, asynchronously. |
# ecube edit fields addCustomField
Adds a custom field to a specified table in an ElastiCube.
Example:
psm ecube edit fields addCustomField serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable fieldName=MyField sqlExpression="SELECT 1"
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the table where a new custom field will be added. |
fieldName | The name of the table. |
sqlExpression | The SQL expression of the new custom field. |
# ecube edit fields getListOfFields
Retrieves a list of all fields from a table.
Example:
psm ecube edit fields getListOfFields serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable isCustom=false
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the table. |
isCustom | Indicates if the table is custom when set to true. |
# ecube edit fields getSqlOfCustomField
Retrieves the SQL string of a custom field in a table in the specified ElastiCube.
Example:
psm ecube edit fields getSqlOfField serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable fieldName=MyField
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the table. |
fieldName | The name of the custom field. |
# ecube edit fields removeField
Removes a field from a specific table from an ElastiCube.
Example:
psm ecube edit fields removeField serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable fieldName=MyField
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the table. |
fieldName | The name of the custom field. |
# ecube edit fields updateSqlStatementOfField
Modifies the SQL statement of a field.
Example:
psm ecube edit fields updateSqlStatementOfField serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable fieldName=MyField sqlExpression="SELECT 2"
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the table. |
fieldName | The name of the custom field. |
sqlExpression | The new SQL expression. |
# ecube edit rename
Renames local ElastiCube files.
Example:
psm ecube edit rename ecube="c:\test.ecube" name="mycube"
Arguments
Name | Description |
---|---|
ecube | Address and filename of the .ecube file. |
name | The new name of the ElastiCube file. |
backup | (Optional) Boolean value that creates a .bak file of the ecube when renaming it. The backup file created has the format name.ecube.bak. By default, this value is false. |
# ecube edit connection refresh
Refreshes all tables within an ElastiCube.
Example:
psm ecube edit connection refresh ecube="C:\test.ecube"
Arguments
Name | Description |
---|---|
ecube | Address and filename of the .ecube file. |
# ecube edit tables addCustomTable
Adds a new custom table to the specified ElastiCube.
Example:
psm ecube edit tables addCustomTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable sqlExpression="SELECT * FROM [category]"
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the table. |
sqlExpression | The new SQL expression. |
# ecube edit tables addTable
Adds a new Base table to the specified ElastiCube.
Example:
psm ecube edit tables addTable serverAddress=localhost cubeName="Sample ECommerce" provider=MySql connectionString="data source=10.0.0.4;UID=admin;password=password;database=testdb" schemaName=testdb tableName=currency customTableName="MyTable" sqlExpression=""
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
provider | The name of the provider. Currently supported providers and their usage: |
connectionString | The name of the ElastiCube where the table is to be added. |
schemaName | The schema name of new table to be added. |
tableName | The name of new table to be added. |
customTableName | An optional custom name for the new table to be added. |
sqlExpression | An SQL expression for the new Base table. |
# Supported values for provider
- MsSql:
sql
- MySql:
MySql
- Amazon Redshift:
RedShift
- PostGreSQL:
PostgreSQL
- Oracle:
Oracle
# ecube edit tables deleteTable
Deletes a table from the specified ElastiCube.
Example:
psm ecube edit tables deleteTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
# ecube edit tables getConnectionStringOfTable
Retrieves the connection string of a table from an ElastiCube.
Example:
psm ecube edit tables getConnectionStringOfTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
additionalParameters | A boolean value that allows additional parameters to be returned as part of the connection string instead of just the basic string that is returned by default. |
# ecube edit fields getListOfFields
Retrieves a list of all custom tables from an ElastiCube.
Example:
psm ecube edit fields getListOfFields serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable isCustom=true
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
isCustom | Set to true to return only custom fields. |
# ecube edit tables getListOfTables
Retrieves a list of all tables from an ElastiCube.
Example:
psm ecube edit tables getListOfTables serverAddress=localhost cubeName="Sample ECommerce" isCustom=false
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
isCustom | Set to true to return only custom tables. |
# ecube edit tables getProviderOfTable
Retrieves the provider string of a specific table from an ElastiCube.
Example:
psm ecube edit tables getProviderOfTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
# ecube edit tables getSqlOfTable
Retrieves the SQL string of a specific table from an ElastiCube.
Example:
psm ecube edit tables getSqlOfTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
# ecube edit tables updateSqlStatementOfTable
Modifies the SQL statement of a table.
Example:
psm ecube edit tables updateSqlStatementOfTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable sqlExpression="SELECT * FROM accounts360.account" isCustom=false
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
sqlExpression | The new SQL expression. |
isCustom | Set to true if the table is a custom table. |
# ecube edit relations createRelation
Creates a new relationship between two fields in an ElastiCube.
Example:
psm ecube edit relations createRelation serverAddress=localhost cubeName="Sample ECommerce" sourceTable=category sourceField="Category ID" targetTable=brand targetField="Brand ID"
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
sourceTable | The name of the relationship source table. |
sourceField | The name of the relationship source field. |
targetTable | The name of the relationship target table. |
targetField | The name of the relationship target field. |
buildChanges | Whether to build the ElastiCube at the end of the relationship edit. |
# ecube edit relations deleteRelation
Deletes a relation between two fields.
Example:
psm ecube edit relations deleteRelation serverAddress=localhost cubeName="Sample ECommerce" sourceTable=category sourceField="Category ID" targetTable=brand targetField="Brand ID"
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
sourceTable | The name of the relationship source table. |
sourceField | The name of the relationship source field. |
targetTable | The name of the relationship target table. |
targetField | The name of the relationship target field. |
buildChanges | Whether to build the ElastiCube at the end of the relationship edit. |
# ecube edit relations getRelationsOfTable
Retrieves a list of all relations of a specified table in an ElastiCube.
Example:
psm ecube edit relations getRelationsOfTable serverAddress=localhost cubeName="Sample ECommerce" tableName=MyTable
Arguments
Name | Description |
---|---|
serverAddress | The target server address where the ElastiCube is hosted. The default value is LocalHost. |
cubeName | The name of the ElastiCube. |
tableName | The name of the ElastiCube table. |
# ecube edit
Modifies the the database connection attributes.
The following data sources are supported:
- MS SQL Server
- Oracle
- MySQL
- PostgreSQL
- DB2
- Teradata
- Salesforce
- Zendesk
- Splunk
Example:
psm ecube edit connection database ecube="c:\users\myuser\documents\mycube.ecube" server="10.0.0.1" database="tracking" newserver="localhost" newdatabase="trackingX" newusername="mynewuser" newpassword="newpassword"
Arguments
Name | Description |
---|---|
ecube | Defines the ecube file name to edit. |
server | Defines the source server to modify (leave empty to modify all databases in server). |
database | Defines the source database to modify. |
newserver | Defines the new server address (leave empty to keep previous value). |
newdatabase | The new database (leave empty to keep previous value). |
newschema | The new schema (leave empty to keep previous value). |
newusername | Defines the new username (leave empty to keep previous value). |
newpassword | Defines the new password (leave empty to keep previous value). |
backup | Indicates if the ElastiCube file should be backed up (defaults is true). |
# ecube info
Returns information about the ElastiCube such as its build history and current status.
Example:
psm ecube info name="mycube" serverAddress=localhost
Arguments
Name | Description |
---|---|
name | Defines the name of the ElastiCube. |
serverAddress | Defines the target server address of the ElastiCube. |
# ecube restart
Restarts an ElastiCube on the target server.
Example:
psm ecube restart name="mycube" serverAddress=localhost
Arguments
Name | Description |
---|---|
name | Defines the name of the ElastiCube to be restarted. |
serverAddress | Defines the target server address on which the ElastiCube should be restarted. |
# ecube scaleanalysis
Performs a scale analysis of ElastiCubes or tables within an ElastiCube without building a new ElastiCube.
The scale analysis returns two CSV files, Columns and Tables, which provides data regarding the type, size and standard deviation of the data within the files.
Scale analysis is supported for MySQL, PostGreSQL, and Oracle-based tables.
Example:
psm ecube scaleanalysis name="C:\My ElastiCubes\mycube.ecube"
Arguments
Name | Description |
---|---|
name | Address and filename of the .ecube file. |
table | The name of the table to be analyzed. When this parameter is blank all the tables are analyzed. |
# ecube start
Starts an ElastiCube on the target server.
Example:
psm ecube start name="myCube" serverAddress="localhost"
Arguments
Name | Description |
---|---|
name | Defines the name of the ElastiCube to be started. |
serverAddress | Defines the target server address on which the ElastiCube should be started. |
# ecube stop
Stops an ElastiCube on the target serving. Stopping an ElastiCube reduces the amount of system resources Sisense uses. When you stop an ElastiCube, the ElastiCube can longer be queried.
Example:
psm ecube stop name="myCube" serverAddress="localhost"
Arguments
Name | Description |
---|---|
name | Defines the name of the ElastiCube to be started. |
serverAddress | Defines the target server address on which the ElastiCube should be stopped. |
# doc changedatasource
Changes the data source behind a psm to another data source.
Note: This is a legacy command used with Sisense version 4. Note: You can access similar functionality in the REST API. See /dashboards/{server}/{title}/replaceDatasource for more information.
Arguments
Name | Description |
---|---|
file | Prism document file name to open and convert. |
prev | Previous data source that is being updated. |
new | New data source. |
# ecs start
Starts the ElastiCube server.
Example:
psm ecs start
Note: You can access similar functionality in the REST API. See /elasticubes/{server}/{elasticube}/start for more information.
Arguments
N/A
# ecs stop
Stops the ElastiCube server.
Example:
psm ecs stop
Note: You can access similar functionality in the REST API. See /elasticubes/{server}/{elasticube}/stop for more information.
Arguments
N/A
# sysinfo
Returns system information (server hardware) and ElastiCube details (number of cubes, size, etc.).
Example:
psm sysinfo
Note: You can access similar functionality in the REST API. See /settings/system for more information.
Arguments
N/A
# ecdata 62downgrade
Downgrades ElastiCube data files created and encrypted in Sisense version 6.2 to ElastiCube files compatible with versions prior to 6.2 without encryption. This is useful if you have created ElastiCubes in 6.2 and wish to downgrade while still using all of your ElastiCubes.
Example:
psm ecdata 62downgrade filename="C:\Program Files\test62.ecdata"
Arguments
Name | Description |
---|---|
filename | The filename and location of the ecdata file. |