Forum Discussion
Create partition via powershell error
I am trying to write a Powershell script to create a partition in a Power BI dataset. Anyone know how to resolve this error? I am receiving the following error:
My Powershell Code:
$m_code = "let
Source = Sql.Database(`"source`", `"db`", [Query=`"sel column form table`", CommandTimeout=#duration(0, 1, 0, 0)])
in
Source"
$tmsl = "{
`"create`": {
`"parentObject`": {
`"database`": `"model name`",
`"table`": `"Table name`"
},
`"partition`": {
`"name`": `"test partition`",
`"source`": {
`"type`": `"m`",
`"expression`": [
`"$m_code`"
]
}
}
}
}"
invoke-ascmd -Server "powerbi://api.powerbi.com/v1.0/myorg/workspace" -Database "model Name" -Query $tmsl
- Anonymous3 years ago
Hi poweruser1,
Perhaps you can take a look the following sample code if it help with your scenario:
$groupID = "<your group ID>" $datasetID = "<your dataset ID>" $token = Get-PowerBIAccessToken $authHeader = @{ "Authorization" = "Bearer $token" } $uri = "https://api.powerbi.com/v1.0/myorg/groups/$groupID/datasets/$datasetID/Partitions" $body = @{ "name" = "ImportName" "mode" = "Import" "source" = @{ "type" = "Query" "query" = "SELECT * FROM $tableName" "dataSource" = @{ "type" = "Sql" "connectionDetails" = @{ "server" = "$serverName.database.windows.net" "database" = "$databaseName" "authentication" = "Windows" } } } } $jsonBody = $body | ConvertTo-Json Invoke-RestMethod -Uri $uri -Headers $authHeader -Method Post -Body $jsonBodyRegards,
Xiaoxin Sheng
1 Reply
- AnonymousNot applicable
Hi poweruser1,
Perhaps you can take a look the following sample code if it help with your scenario:
$groupID = "<your group ID>" $datasetID = "<your dataset ID>" $token = Get-PowerBIAccessToken $authHeader = @{ "Authorization" = "Bearer $token" } $uri = "https://api.powerbi.com/v1.0/myorg/groups/$groupID/datasets/$datasetID/Partitions" $body = @{ "name" = "ImportName" "mode" = "Import" "source" = @{ "type" = "Query" "query" = "SELECT * FROM $tableName" "dataSource" = @{ "type" = "Sql" "connectionDetails" = @{ "server" = "$serverName.database.windows.net" "database" = "$databaseName" "authentication" = "Windows" } } } } $jsonBody = $body | ConvertTo-Json Invoke-RestMethod -Uri $uri -Headers $authHeader -Method Post -Body $jsonBodyRegards,
Xiaoxin Sheng