Connect to data sources in load scripts
Data connections in Data load editor and Script let you save shortcuts to the data sources you commonly use: databases, local files, or remote files.
Data connections lists the connections you have saved in alphabetical order grouped by the spaces to which they belong. You can use the search box to narrow the list down to connections with a certain name or type. You can access Data connections by clicking Data sources.
Creating a new data connection
Do the following:
-
Click Data sources.
- Click Create new connection.
-
Under Space, select the space where the connection will be located.
-
Select the type of data source you want to create from the drop-down list.
The settings dialog, specific for the type of data source you selected, opens.
-
Enter the data source settings and click Create to create the data connection.
Deleting a data connection
Do the following:
-
Click Data sources.
- Click on the data connection you want to delete.
- Confirm that you want to delete the connection.
The data connection is now deleted.
Editing a data connection
Do the following:
-
Click Data sources.
-
Under Data connections, select the space containing the data connection you want to edit.
- Click on the data connection you want to edit.
-
Edit the data connection details. Connection details are specific to the type of connection.
You may need to provide the connection's credentials.
The data connection is now updated.
About DataFiles connections
DataFiles connections are automatically created for each space you can access. The connections are available from each space section under Data Connections.
Selecting data from a data connection
If you want to select data from a data connection to load in your app do the following:
-
Click Data sources.
- Create new connection linking to the data source (if the data connection does not already exist).
- Select data from the connection.
Referring to a data connection in the script
You can use the data connection to refer to data sources in statements and functions in the script, typically where you want to refer to a file name with a path.
In Qlik Cloud Analytics, the syntax for referring to a file in the load script is:
[lib:// (space_name):(connection_name)/(folder_name)/(file_name)]
The full folder path must be provided. Relative paths are not supported.
If the space does not exist, the statement cannot be executed and returns an error.
The folder path can include multiple folders in a hierarchical structure. Each folder_name in the path must be delimited with / characters.
The following are not allowed in the path when referencing files residing in a folder structure:
-
//
-
\
-
\\
-
/./
-
/../
Trailing period symbols (.) in the space, folder, or file name are acceptable as long as they do not appear in the configurations in the above list.
Examples: Non-compliant syntax
These examples are considered invalid syntax for the path:
Depending on the type of script statement being used, non-compliant syntax might cause reload failure, or could still be executed with different behavior. For specific details, see:
You do not need to add the space_name if you are connecting to a personal space.
Example: Loading a file from a DataFiles connection
This example loads the file orders.csv from a personal space defined in the Data data connection.
LOAD * FROM [lib://DataFiles/orders.csv];
This example loads the file orders.csv from a shared space defined in the Data data connection.
LOAD * FROM [lib://TeamSharedConnection:DataFiles/orders.csv];
This example loads the file orders_Europe.csv from the folder Orders By Region within a personal space.
LOAD * FROM [lib://DataFiles/Orders By Region/orders_Europe.csv];
This example loads the file orders_Europe.csv from the folder Orders By Region within a shared, managed, or data space. The name of the space is SalesSpace.
LOAD * FROM [lib://SalesSpace:DataFiles/Orders By Region/orders_Europe.csv];
This example loads the file orders.csv from the current space. If the app is moved to another space, for example, it will use the file orders.csv in the new space.
LOAD * FROM [lib://:DataFiles/orders.csv];
Example: Loading from a database in the current user's personal space
This example loads the table Sales_data from the DataSource database connection in a user's personal space.
LIB CONNECT TO 'DataSource';
LOAD *;
SQL SELECT * FROM `Sales_data`;
Example: Loading from a database in another space
This example loads the table Sales_data from the DataSource database connection in the current space.
LIB CONNECT TO ':DataSource';
LOAD *;
SQL SELECT * FROM `Sales_data`;
Example: Loading from a database in a specific space
This example loads the table Sales_data from the DataSource database connection in the space SalesSpace.
LIB CONNECT TO 'SalesSpace:DataSource';
LOAD *;
SQL SELECT * FROM `Sales_data`;
Examples: Loading from analytic connections
The following examples show how to write expressions to load data from analytic connections. Use the SSE syntax to connect to data from an analytic connection.
These examples demonstrate the use of the connections in scripts. For examples showing how to reference analytic connections in charts, see Using analytic connections and server-side extensions syntax.
Loading from an analytic connection in the current space
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":":Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});
Loading from an analytic connection in the current user's personal space
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});
Loading from an analytic connection in a specific space
This example loads data from the connection named Amazon_Titan_(Amazon_Bedrock) in the space SalesSpace.
EXTENSION endpoints.ScriptEval('{"RequestType":"endpoint", "endpoint":{"connectionname":"SalesSpace:Amazon_Titan_(Amazon_Bedrock)"}}', QuestionsTable{Question_ID,Question});