We've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Hi
I have created the following PowerShell Script to set parameters for a dataset , it returns the list is empty even though its not, the parameters list is a list I created in Power Query and referenced as query in the manage parameters section
Help would be appreciated - this is the error
VERBOSE: POST https://api.powerbi.com/v1.0/myorg/groups/e7229a42-46ef-4d80-b8ca-e42909509dbb/datasets/68fbeff4-ce6...
ers with -1-byte payload
VERBOSE: received -1-byte response of content type application/octet-stream
updateDetails
-------------
{@{name=Type; newValue=Product}}
error : @{code=InvalidRequest; message=Dataset Parameters list is invalid in 68fbeff4-ce61-43d4-8f8d-74dcd1452393. Reason: Empty;
target=68fbeff4-ce61-43d4-8f8d-74dcd1452393}
This is the Script
$clientId = "ab3afa9b-c31f-41ed-bdc9-84c9c68069b9"
$groupID = "e7229a42-46ef-4d80-b8ca-e42909509dbb" # the ID of the group that hosts the dataset. Use "me" if this is your My Workspace
$datasetID = "68fbeff4-ce61-43d4-8f8d-74dcd1452393" # the ID of the dataset that hosts the dataset
$json = @"
{ "updateDetails": [
{
"name": "Type",
"newValue": "Product"
}
]
}
"@
$powershellrepresentation = $json | ConvertFrom-Json
$powershellrepresentation
function GetAuthToken
{
$adal = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\4.5.0\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
$adalforms = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\4.5.0\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"
[System.Reflection.Assembly]::LoadFrom($adal) | Out-Null
[System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$resourceAppIdURI = "https://analysis.windows.net/powerbi/api"
$authority = "https://login.microsoftonline.com/common/oauth2/authorize";
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority
$authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto")
return $authResult
}
# Get the auth token from AAD
$token = GetAuthToken
# Building Rest API header with authorization token
$authHeader = @{
'Content-Type'='application/json'
'Authorization'=$token.CreateAuthorizationHeader()
}
# properly format groups path
$groupsPath = ""
if ($groupID -eq "me") {
$groupsPath = "myorg"
} else {
$groupsPath = "myorg/groups/$groupID"
}
# POST body
$postParams = $powershellrepresentation
$jsonPostBody = $postParams | ConvertTo-Json
# Make the request to clone the report
$uri = "https://api.powerbi.com/v1.0/$groupsPath/datasets/$datasetID/UpdateParameters"
try{$resp=Invoke-RestMethod -Uri $uri -Headers $authHeader -Method POST -Body $jsonPostBody -Verbose}
catch {
$streamReader = [System.IO.StreamReader]::new($_.Exception.Response.GetResponseStream())
$ErrResp = $streamReader.ReadToEnd() | ConvertFrom-Json
$streamReader.Close()
}
$ErrResp | Format-list
Solved! Go to Solution.
Hi,
Please check the thread below:
Have you checked the Enable Load for the parameters under Query editor?
The parameter may not be loaded when publish to Power BI service.
Regards,
Michael
Hi,
Please check the thread below:
Have you checked the Enable Load for the parameters under Query editor?
The parameter may not be loaded when publish to Power BI service.
Regards,
Michael
Thanks this was the issue
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |