As with other instances, your semantic models are added in the web interface. You add both the basic semantic model and the accompanying semantic endpoints that you want to use. You can always edit a semantic model instance to add more endpoints or remove existing ones.
To add a new semantic model, follow the steps below.
To add a semantic model instance go to the Add semantic model instance page. If you're already signed in, then go to Data Estate > Instances, click Add Instance, and then click Add semantic model instance.
The 'add' form is divided into two sections - we'll take them one by one in the following.
The first section is basic information that is - mostly - the same for all instance types.
- In the Name box, type the name you want to use for the data warehouse.
- In the Description box, type a description of the data warehouse. The description is displayed on the desktop and on the instance details page.
- (Optional) In the Log Retention Days box, adjust the number of days logs should be kept.
- (Optional) In the Team Development list, click Enabled if you want to allow multiple developers to access the instance at the same time.
When you've taken care of the basic info, it's time to add the endpoints you want to use with this model.
To add an endpoint
- In the Add endpoints list, click on the type of endpoint you want to add and then click Add an endpoint
A new form appears with the fields used by the endpoint you selected. For all types, the Name field is required.
If you want to use data from the semantic model in an endpoint that is not natively supported by TimeXtender, you can use the CSV endpoint to create files that can be read by almost everything under the sun. When you execute the endpoint, a file is created for each table in the model. Only regular fields are supported, not measures or custom fields.
- In the Directory box, enter the path to the folder where the files should be placed
- In the File extension box, enter the file extension you want to use (usually "txt" or "csv")
- In the Encoding list, click on the encoding you want to use.
- In the Field names in first row, click No if you do not want the field names to be output as the first line in the files.
- In the Field delimiter list, click on the character you want to use for separating columns of data. To use a delimiter not on the list, click Custom and enter the custom delimited in the Custom field delimiter box. For both field and row delimiters, it is possible to use special characters by setting the first value to "$" followed by "char[x]" where "x" is the special character, e.g. "$charchar" will be translated into "\\r\\n".
- In the Row delimiter list, click on the character you want to use for separating rows of data. To use a delimiter not on the list, click Custom and enter the custom delimited in the Custom row delimiter box.
- In the Text qualifier box, type the character you want to use to qualify text. Default is double quotes.
- In the Use text qualifier for names list, click Yes if you want to use the text qualifier for the column names.
- In the Use text qualifier for date and time list, click Yes if you want to use the text qualifier for fields where the data type is date or time.
Please see the separate article on Power BI XMLA Endpoint.
On deployment, the model is created on the SSAS Tabular server. To get data in the model, you need to execute the model as well.
- In the Server box, type the name of the Tabular server. The server can be on-premise or in Azure.
- In the Database box, type the name of the database.
- In the Deployment target list, click the version of SSAS you are targeting. Automatic (default) or Analysis Services Universal are the recommended settings.
- In the Compatibility box, click or type the compatibility level you want to use, or leave it blank to use the highest supported by the server.
- Under Server login, the following settings are available:
- Use Windows/Microsoft authentication: Uses the credentials of the user executing the endpoint.
- Use authentication login: Uses the credentials of a specific user or an App Registration (if the SSAS server is on Azure). This can be useful when your SSAS server is on Azure and the user executing the endpoint has two-factor authentication enabled, which will be triggered by an execution. Enter the user name for the user in the Username box and the corresponding password in the Password box. Prefix the username with 'app:' if it is an App Registration application key.
- In the Processing Authentication list, select how the Tabular service will connect to the data warehouse.
- Click Service account to use the SQL Server Analysis Services service account.
- Click Windows user to use another user and then enter the user name for the user in the Username box and the corresponding password in the Password box.
- Select Process model offline to process the model "behind the scenes" and make the deployment seamless for the users. The offline database will have the endpoint's name prefixed with "Offline_".
For Tableau, a TDS file is created with connection information that the application can read and then use to connect.
- In the File box, enter the path and file name for the Tableau data source file generated by TimeXtender. It must have the extension ".tds".
- (Optional) In the Schema box, type the schema name you want to use for the views generated by TimeXtender.
- (Optional) In the Postfix box, type the postfix TimeXtender uses for views.
When you deploy a Tableau endpoint, a view for each table in the model is created in the data warehouse that houses the table. The view name depends on the settings on the endpoint and has the format [view schema].[model name]_[endpoint name]_[table name]_[postfix], e.g. "Tableau.MyModel_MyTableau_Customers_tab".
For Qlik endpoints, the end product is a QVD file for each table in the model. QVD is a proprietary data format that stores data in a way that gives the best performance in Qlik apps. Since only Qlik applications can create QVD files, deployment and execution of Qlik endpoints create apps or scripts that a Qlik application can use to create QVD files.
- (Optional) In the Enforce unique field names list, click on No if you don't want TimeXtender to ensure that field names are always unique across tables by prefixing the name with the table name on deployment.
- (Optional) In the View schema box, type the schema name you want to use for the views generated by TimeXtender.
- (Optional) In Postfix box, type the postfix TimeXtender uses for views, folder names etc.
- (Optional) In the App prefix box, type a string to be prefixed to the endpoint name to create the app name used in Qlik Sense.
- In the Qlik application list, click on the Qlik application to target. You have the following options:
- Qlik Sense Enterprise: Use a Qlik Sense Enterprise server. When you chose this application type, you need to enter server connection information under Server Settings.
- Qlik Sense Desktop
- If you are deploying to Qlik Sense Enterprise or Qlik Sense Desktop, click on the app type you want to create in the Qlik Sense app type list. You have the following options:
- App for generating QVD file: Creates an app that generates a QVD file with data from the model in the QVD folder you specify. The QVD folder should accessible for both TimeXtender and Qlik Enterprise.
- App for displaying data: Creates an app and loads data from the model into it.
- Select Deploy Qlik script to text file and enter a path in File path to have TimeXtender output the script it generates to a text file.
- If you are deploying to Qlik Sense Enterprise, enter settings under Server:
- In the Protocol list, click on HTTPS if your server uses a secure HTTP connection.
- Type your server's hostname in the Hostname box.
- Type the port to connect to in the Port box if it is different from the default. The defaults are 4747 if you use certificate authentication, 80 if you use proxy authentication with HTTP and 443 if you use proxy authentication with HTTPS.
- (Optional) In the Timeout box, enter the timeout you want to use in communication with the server.
- Select Terminate execution when timeout is reached if you want TimeXtender to terminate - kill - an execution when the timeout is reached. This is useful in rare cases where executions will not terminate by themselves.
- In the Authentication list, select the method you are using to authenticate with the Qlik Sense Enterprise server.
- Click Use proxy authentication if you are using the proxy authentication method to authenticate with the Qlik Sense Enterprise server. Type your username in the Username box and your password in the Password box. Write the prefix from the virtual proxy in Qlik Sense in the Virtual proxy prefix box.
Click Use certificate authentication if you are using the certificate authentication method for authenticating with Qlik. Type your username in the Username box, enter the path to the certificate in the Certificate path box, and the associated password in the Certificate password box.
Data for the QVD files is extracted from views. On deployment, a view for each table in the model is created in the data warehouse or staging database that house the table. The view name depends on the settings on the endpoint and has the format [view schema].[table name]_[postfix], e.g. "QView.Customers_QV".
Apart from creating the views, deployment is different depending on your choice of Qlik application:
- Qlik Sense Enterprise: An app called "[Endpoint name]_QVDApp" is created on the server. Unlike the other Qlik applications, Qlik Sense Enterprise has an execution step. On execution, the app on the server is executed and creates QVD files on the file path specified.
- Qlik Sense Desktop: You can right-click the endpoint and click Create Qlik Sense Appto create an app in the application. When you execute this app in Qlik Sense Desktop, it creates QVD files based on the tables in the semantic model on the file path you have specified.
- QlikView: You can right-click the endpoint and click QlikView Scripts to show and copy the script you need to use in QlikView to generate QVD files based on the tables in the semantic model.
Note: TimeXtender Desktop must be refreshed to retrieve the newly created Semantic Model Instances and endpoints.
Edit a Semantic Model Instance
1. Click on your instance, it will open a page with instance details
2. Click on Edit button, edit properties and Save
Delete a Semantic Model Instance
1. Click on Delete button next to your instance. The Delete dialog will be shown.
Test Endpoint Connection
In order to deploy and execute a Semantic Model instance, the endpoint connection that is defined in the TimeXtender Portal needs to be valid. Right-click on the instance and select Edit Instance.