This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.
Working with Datasets in Power BI
Overview
The following operations allow you to work with datasets. Click an operation name to see details on how to use it.
For a sample proxy service that illustrates how to work with datasets, see Sample configuration.
Operation | Description |
---|---|
Creates a new dataset. | |
createGroupDataset | Creates a dataset in a group. |
listDatasets | Retrieves all datasets. |
listGroupDatasets | Retrieves a JSON list from a group. |
Operation details
This section provides further details on the operations related to datasets.
Creating a new dataset
The createDataset operation creates a new dataset from a JSON schema definition and returns the dataset ID and the properties of the dataset created. A dataset can be created in a group.
<powerbi.createDataset> <defaultRetentionPolicy>{$ctx:defaultRetentionPolicy}</defaultRetentionPolicy> <datasetName>{$ctx:datasetName}</datasetName> <tables>{$ctx:tables}</tables> </powerbi.createDataset>
Properties
Enables a default retention policy to automatically clean up old data while keeping a constant flow of new data going into your dashboard. None or basicFIFO.defaultRetentionPolicy:
Name of the Dataset.datasetName:
Array of JSON objects which contain table name and columns with field names and field types.tables:
Sample request
Following is a sample REST/JSON request that can be handled by the createDataset
operation.
{ "apiUrl": "https://api.powerbi.com", "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL2FuYWx5c2lzLndpbmRvd3MubmV0L3Bvd2VyYmkvYXBpIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMGQ4NTE2MGMtNTg5OS00NGNhLWFjYzgtZGIxNTAxYjk5M2I2LyIsImlhdCI6MTQ0NTU5NDYzOCwibmJmIjoxNDQ1NTk0NjM4LCJleHAiOjE0NDU1OTg1MzgsInZlciI6IjEuMCIsInRpZCI6IjBkODUxNjBjLTU4OTktNDRjYS1hY2M4LWRiMTUwMWI5OTNiNiIsIm9pZCI6IjU3OWY1YzVmLTU1NjctNGY1NC04ZjJjLTgwM2I5NzExYTA0ZiIsInVwbiI6ImhzZWthbmF5YWtlQFZpcnR1c2EuY29tIiwicHVpZCI6IjEwMDMzRkZGOENBODY3ODciLCJzdWIiOiIzZEhYSXVSdUR4QjlabXN1Y0VKTm5jeElLLXJvdDcxUWh1aFQxZHVFX3JZIiwiZ2l2ZW5fbmFtZSI6IkhhcmluZGEiLCJmYW1pbHlfbmFtZSI6IkVrYW5heWFrZSIsIm5hbWUiOiJIYXJpbmRhIEVrYW5heWFrZSIsImFtciI6WyJ3aWEiXSwidW5pcXVlX25hbWUiOiJoc2VrYW5heWFrZUBWaXJ0dXNhLmNvbSIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0xOTM1NjU1Njk3LTIxMzk4NzE5OTUtNjgyMDAzMzMwLTE5Mjg4NSIsImFwcGlkIjoiMmY4M2JiYTgtOGU3Ni00ODM2LTk2NDktYmJjOWJlYTExZjMyIiwiYXBwaWRhY3IiOiIxIiwic2NwIjoiQ29udGVudC5DcmVhdGUgRGFzaGJvYXJkLlJlYWQuQWxsIERhdGEuQWx0ZXJfQW55IERhdGFzZXQuUmVhZC5BbGwgRGF0YXNldC5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWQuQWxsIE1ldGFkYXRhLlZpZXdfQW55IiwiYWNyIjoiMSIsImlwYWRkciI6IjIwMy42Mi4xNzUuNCJ9.fv3ErVcHqb2KRiNsiQ2k2RImcxnCNKmzCMe2Na1_4MTEnDkpmBujqDMsAqzmDdV4fYUFwLKeXD7WSUCa2ftsYDz17j-7EI726b8HbuGemfhjirCRb0n-NQVNmUt2JiMfbF_8LmFO8hnf_Hqer6Coyf9YKWUhkm93kPBgZiZWGOIy2f6yevH2cHqe7wt1HWTmr73x2UhF1fHnkVtR1rflMaajYd4Z9BfWNxj87rwg44FxZkYTYeqOHXOdwyy42-H-wXMUfFwn7RA0zAyKToPrtoADr7qIjBw8dXc9NOyermuh9XfEZMqcIjIYibicRjYVYD0c9q2mSyS6sE9L4VWdTA", "defaultRetentionPolicy": "none", "datasetName": "Sample", "tables": [ { "name": "Product", "columns": [ { "name": "ProductID", "dataType": "Int64" }, { "name": "Name", "dataType": "string" }, { "name": "Category", "dataType": "string" }, { "name": "IsCompete", "dataType": "bool" }, { "name": "ManufacturedOn", "dataType": "DateTime" } ] }, { "name": "Products", "columns": [ { "name": "ProductID", "dataType": "Int64" }, { "name": "Name", "dataType": "string" }, { "name": "Category", "dataType": "string" }, { "name": "IsCompete", "dataType": "bool" }, { "name": "ManufacturedOn", "dataType": "DateTime" } ] } ] }
Related Power BI documentation
https://msdn.microsoft.com/en-us/library/mt203562.aspx
Creating a dataset in a group
The
operation creates a dataset in a group.createGroupDataset
<powerbi.createGroupDataset> <groupId>{$ctx:groupId}</groupId> <defaultRetentionPolicy>{$ctx:defaultRetentionPolicy}</defaultRetentionPolicy> <datasetName>{$ctx:datasetName}</datasetName> <tables>{$ctx:tables}</tables> </powerbi.createGroupDataset>
Properties
Group ID of the group to use.groupId:
Enables a default retention policy to automatically clean up old data while keeping a constant flow of new data going into your dashboard. None or basicFIFO.defaultRetentionPolicy:
Name of the dataset.datasetName:
Array of JSON objects which contain table name and columns with field names and field types.tables:
Sample request
Following is a sample REST/JSON request that can be handled by the createGroupDataset
operation.
{ "apiUrl" : "https://api.powerbi.com", "accessToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL2FuYWx5c2lzLndpbmRvd3MubmV0L3Bvd2VyYmkvYXBpIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMGQ4NTE2MGMtNTg5OS00NGNhLWFjYzgtZGIxNTAxYjk5M2I2LyIsImlhdCI6MTQ0NTU5NDYzOCwibmJmIjoxNDQ1NTk0NjM4LCJleHAiOjE0NDU1OTg1MzgsInZlciI6IjEuMCIsInRpZCI6IjBkODUxNjBjLTU4OTktNDRjYS1hY2M4LWRiMTUwMWI5OTNiNiIsIm9pZCI6IjU3OWY1YzVmLTU1NjctNGY1NC04ZjJjLTgwM2I5NzExYTA0ZiIsInVwbiI6ImhzZWthbmF5YWtlQFZpcnR1c2EuY29tIiwicHVpZCI6IjEwMDMzRkZGOENBODY3ODciLCJzdWIiOiIzZEhYSXVSdUR4QjlabXN1Y0VKTm5jeElLLXJvdDcxUWh1aFQxZHVFX3JZIiwiZ2l2ZW5fbmFtZSI6IkhhcmluZGEiLCJmYW1pbHlfbmFtZSI6IkVrYW5heWFrZSIsIm5hbWUiOiJIYXJpbmRhIEVrYW5heWFrZSIsImFtciI6WyJ3aWEiXSwidW5pcXVlX25hbWUiOiJoc2VrYW5heWFrZUBWaXJ0dXNhLmNvbSIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0xOTM1NjU1Njk3LTIxMzk4NzE5OTUtNjgyMDAzMzMwLTE5Mjg4NSIsImFwcGlkIjoiMmY4M2JiYTgtOGU3Ni00ODM2LTk2NDktYmJjOWJlYTExZjMyIiwiYXBwaWRhY3IiOiIxIiwic2NwIjoiQ29udGVudC5DcmVhdGUgRGFzaGJvYXJkLlJlYWQuQWxsIERhdGEuQWx0ZXJfQW55IERhdGFzZXQuUmVhZC5BbGwgRGF0YXNldC5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWQuQWxsIE1ldGFkYXRhLlZpZXdfQW55IiwiYWNyIjoiMSIsImlwYWRkciI6IjIwMy42Mi4xNzUuNCJ9.fv3ErVcHqb2KRiNsiQ2k2RImcxnCNKmzCMe2Na1_4MTEnDkpmBujqDMsAqzmDdV4fYUFwLKeXD7WSUCa2ftsYDz17j-7EI726b8HbuGemfhjirCRb0n-NQVNmUt2JiMfbF_8LmFO8hnf_Hqer6Coyf9YKWUhkm93kPBgZiZWGOIy2f6yevH2cHqe7wt1HWTmr73x2UhF1fHnkVtR1rflMaajYd4Z9BfWNxj87rwg44FxZkYTYeqOHXOdwyy42-H-wXMUfFwn7RA0zAyKToPrtoADr7qIjBw8dXc9NOyermuh9XfEZMqcIjIYibicRjYVYD0c9q2mSyS6sE9L4VWdTA", "groupId" : "fda86e48-d7c3-413a-a8b1-2ddafe46b511", "defaultRetentionPolicy" : "none", "datasetName": "Inventory", "tables": [ { "name": "Product", "columns": [ { "name": "ProductID", "dataType": "Int64" }, { "name": "Name", "dataType": "string" }, { "name": "Category", "dataType": "string" }, { "name": "IsCompete", "dataType": "bool" }, { "name": "ManufacturedOn", "dataType": "DateTime" } ] } ] }
Related Power BI documentation
https://msdn.microsoft.com/en-us/library/mt203562.aspx
Retrieving all datasets
The
operation retrieves a JSON list of all dataset objects which includes a name and ID or a JSON list from a group.listDatasets
<powerbi.listDatasets> </powerbi.listDatasets>
Sample request
Following is a sample REST/JSON request that can be handled by the listDatasets
operation.
{ "apiUrl" : "https://api.powerbi.com", "accessToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL2FuYWx5c2lzLndpbmRvd3MubmV0L3Bvd2VyYmkvYXBpIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMGQ4NTE2MGMtNTg5OS00NGNhLWFjYzgtZGIxNTAxYjk5M2I2LyIsImlhdCI6MTQ0NTU5NDYzOCwibmJmIjoxNDQ1NTk0NjM4LCJleHAiOjE0NDU1OTg1MzgsInZlciI6IjEuMCIsInRpZCI6IjBkODUxNjBjLTU4OTktNDRjYS1hY2M4LWRiMTUwMWI5OTNiNiIsIm9pZCI6IjU3OWY1YzVmLTU1NjctNGY1NC04ZjJjLTgwM2I5NzExYTA0ZiIsInVwbiI6ImhzZWthbmF5YWtlQFZpcnR1c2EuY29tIiwicHVpZCI6IjEwMDMzRkZGOENBODY3ODciLCJzdWIiOiIzZEhYSXVSdUR4QjlabXN1Y0VKTm5jeElLLXJvdDcxUWh1aFQxZHVFX3JZIiwiZ2l2ZW5fbmFtZSI6IkhhcmluZGEiLCJmYW1pbHlfbmFtZSI6IkVrYW5heWFrZSIsIm5hbWUiOiJIYXJpbmRhIEVrYW5heWFrZSIsImFtciI6WyJ3aWEiXSwidW5pcXVlX25hbWUiOiJoc2VrYW5heWFrZUBWaXJ0dXNhLmNvbSIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0xOTM1NjU1Njk3LTIxMzk4NzE5OTUtNjgyMDAzMzMwLTE5Mjg4NSIsImFwcGlkIjoiMmY4M2JiYTgtOGU3Ni00ODM2LTk2NDktYmJjOWJlYTExZjMyIiwiYXBwaWRhY3IiOiIxIiwic2NwIjoiQ29udGVudC5DcmVhdGUgRGFzaGJvYXJkLlJlYWQuQWxsIERhdGEuQWx0ZXJfQW55IERhdGFzZXQuUmVhZC5BbGwgRGF0YXNldC5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWQuQWxsIE1ldGFkYXRhLlZpZXdfQW55IiwiYWNyIjoiMSIsImlwYWRkciI6IjIwMy42Mi4xNzUuNCJ9.fv3ErVcHqb2KRiNsiQ2k2RImcxnCNKmzCMe2Na1_4MTEnDkpmBujqDMsAqzmDdV4fYUFwLKeXD7WSUCa2ftsYDz17j-7EI726b8HbuGemfhjirCRb0n-NQVNmUt2JiMfbF_8LmFO8hnf_Hqer6Coyf9YKWUhkm93kPBgZiZWGOIy2f6yevH2cHqe7wt1HWTmr73x2UhF1fHnkVtR1rflMaajYd4Z9BfWNxj87rwg44FxZkYTYeqOHXOdwyy42-H-wXMUfFwn7RA0zAyKToPrtoADr7qIjBw8dXc9NOyermuh9XfEZMqcIjIYibicRjYVYD0c9q2mSyS6sE9L4VWdTA" }
Related Power BI documentation
https://msdn.microsoft.com/en-us/library/mt203567.aspx
Retrieving a JSON list from a group
The
operation retrieves a JSON list from a group.listGroupDatasets
<powerbi.listGroupDatasets> <groupId>{$ctx:groupId}</groupId> </powerbi.listGroupDatasets>
Properties
GUID of the group to use.groupId:
Sample request
Following is a sample REST/JSON request that can be handled by the listGroupDatasets
operation.
{ "apiUrl" : "https://api.powerbi.com", "accessToken" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSIsImtpZCI6Ik1uQ19WWmNBVGZNNXBPWWlKSE1iYTlnb0VLWSJ9.eyJhdWQiOiJodHRwczovL2FuYWx5c2lzLndpbmRvd3MubmV0L3Bvd2VyYmkvYXBpIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMGQ4NTE2MGMtNTg5OS00NGNhLWFjYzgtZGIxNTAxYjk5M2I2LyIsImlhdCI6MTQ0NTU5NDYzOCwibmJmIjoxNDQ1NTk0NjM4LCJleHAiOjE0NDU1OTg1MzgsInZlciI6IjEuMCIsInRpZCI6IjBkODUxNjBjLTU4OTktNDRjYS1hY2M4LWRiMTUwMWI5OTNiNiIsIm9pZCI6IjU3OWY1YzVmLTU1NjctNGY1NC04ZjJjLTgwM2I5NzExYTA0ZiIsInVwbiI6ImhzZWthbmF5YWtlQFZpcnR1c2EuY29tIiwicHVpZCI6IjEwMDMzRkZGOENBODY3ODciLCJzdWIiOiIzZEhYSXVSdUR4QjlabXN1Y0VKTm5jeElLLXJvdDcxUWh1aFQxZHVFX3JZIiwiZ2l2ZW5fbmFtZSI6IkhhcmluZGEiLCJmYW1pbHlfbmFtZSI6IkVrYW5heWFrZSIsIm5hbWUiOiJIYXJpbmRhIEVrYW5heWFrZSIsImFtciI6WyJ3aWEiXSwidW5pcXVlX25hbWUiOiJoc2VrYW5heWFrZUBWaXJ0dXNhLmNvbSIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0xOTM1NjU1Njk3LTIxMzk4NzE5OTUtNjgyMDAzMzMwLTE5Mjg4NSIsImFwcGlkIjoiMmY4M2JiYTgtOGU3Ni00ODM2LTk2NDktYmJjOWJlYTExZjMyIiwiYXBwaWRhY3IiOiIxIiwic2NwIjoiQ29udGVudC5DcmVhdGUgRGFzaGJvYXJkLlJlYWQuQWxsIERhdGEuQWx0ZXJfQW55IERhdGFzZXQuUmVhZC5BbGwgRGF0YXNldC5SZWFkV3JpdGUuQWxsIEdyb3VwLlJlYWQuQWxsIE1ldGFkYXRhLlZpZXdfQW55IiwiYWNyIjoiMSIsImlwYWRkciI6IjIwMy42Mi4xNzUuNCJ9.fv3ErVcHqb2KRiNsiQ2k2RImcxnCNKmzCMe2Na1_4MTEnDkpmBujqDMsAqzmDdV4fYUFwLKeXD7WSUCa2ftsYDz17j-7EI726b8HbuGemfhjirCRb0n-NQVNmUt2JiMfbF_8LmFO8hnf_Hqer6Coyf9YKWUhkm93kPBgZiZWGOIy2f6yevH2cHqe7wt1HWTmr73x2UhF1fHnkVtR1rflMaajYd4Z9BfWNxj87rwg44FxZkYTYeqOHXOdwyy42-H-wXMUfFwn7RA0zAyKToPrtoADr7qIjBw8dXc9NOyermuh9XfEZMqcIjIYibicRjYVYD0c9q2mSyS6sE9L4VWdTA", "groupId" : "fda86e48-d7c3-413a-a8b1-2ddafe46b511" }
Related Power BI documentation
https://msdn.microsoft.com/en-us/library/mt203567.aspx
Sample configuration
Following is a sample proxy service that illustrates how to connect to Power BI with the init
operation and use the createDataset
operation. The sample request for this proxy can be found in the createDataset sample request.
<?xml version="1.0" encoding="UTF-8"?> <proxy xmlns="http://ws.apache.org/ns/synapse" name="powerbi_createDataset" transports="https http" startOnLoad="true" trace="disable"> <description/> <target> <inSequence> <property name="apiUrl" expression="json-eval($.apiUrl)"/> <property name="accessToken" expression="json-eval($.accessToken)"/> <property name="defaultRetentionPolicy" expression="json-eval($.defaultRetentionPolicy)"/> <property name="datasetName" expression="json-eval($.datasetName)"/> <property name="tables" expression="json-eval($.tables)"/> <powerbi.init> <apiUrl>{$ctx:apiUrl}</apiUrl> <accessToken>{$ctx:accessToken}</accessToken> </powerbi.init> <powerbi.createDataset> <defaultRetentionPolicy>{$ctx:defaultRetentionPolicy}</defaultRetentionPolicy> <datasetName>{$ctx:datasetName}</datasetName> <tables>{$ctx:tables}</tables> </powerbi.createDataset> <respond/> </inSequence> <outSequence> <send/> </outSequence> </target> </proxy>