Forum Discussion

KieranNZ's avatar
KieranNZ
Frequent Visitor
2 years ago
Solved

Bind dataset for /ExportTo from different workspaces fails

I've got a working embedded setup where the "template" reports/datasets live in a single workspace, and the "customer" datasets live in a separate workspace.

 

This is working nicely for embedding reports. However when I try to export using the "bindDataset" set in the request it fails...

POST https://api.powerbi.com/v1.0/myorg/groups/:templateGroupId/reports/:templateReportId/ExportTo


Request

 

{
        "format": "PDF",
        "powerBIReportConfiguration": {
            "datasetToBind": "{{dataset_id}}",
            "settings": {
                "locale": "en-nz",
                "includeHiddenPages": false
            },
            // RLS identity
            "identities": [
                {
                    "username": "[email protected]",
                    "roles": [ "App User" ],
                    "datasets": [ "{{dataset_id}}","{{template_dataset_id}}" ]
                }
            ]
        }
    }

 


Response

 

{
    "error": {
        "code": "InvalidRequest",
        "message": "Export report was called with a bad request"
    }
}

 

 

Removing "datasetToBind" and the customer dataset IDs from the request works as normal.

 

ExportTo and other endpoints using datasets should work the same as embed; it should allow cross-workspace binding.

  • I did the classic developer move of solving my issue as soon as I asked...

    To export a bound dataset, you don't need to define the template dataset ID at all in the request...

     

    {
            "format": "PDF",
            "powerBIReportConfiguration": {
                "datasetToBind": "{{dataset_id}}",
                "settings": {
                    "locale": "en-nz",
                    "includeHiddenPages": false
                },
                // RLS identity
                "identities": [
                    {
                        "username": "[email protected]",
                        "roles": [ "App User" ],
                        "datasets": [ "{{dataset_id}}" ]
                    }
                ]
            }
        }


    Unfortunately I cannot verify the report data right now, but the export otherwise works. Hope this will help others

1 Reply

  • KieranNZ's avatar
    KieranNZ
    Frequent Visitor

    I did the classic developer move of solving my issue as soon as I asked...

    To export a bound dataset, you don't need to define the template dataset ID at all in the request...

     

    {
            "format": "PDF",
            "powerBIReportConfiguration": {
                "datasetToBind": "{{dataset_id}}",
                "settings": {
                    "locale": "en-nz",
                    "includeHiddenPages": false
                },
                // RLS identity
                "identities": [
                    {
                        "username": "[email protected]",
                        "roles": [ "App User" ],
                        "datasets": [ "{{dataset_id}}" ]
                    }
                ]
            }
        }


    Unfortunately I cannot verify the report data right now, but the export otherwise works. Hope this will help others