Del via


Konfigurer semantisk modelskalering

Du kan aktivere scale-out i Power BI-tjeneste eller ved hjælp af REST API'erne til Power BI-datasæt. Før du konfigurerer semantisk model, skal du læse oversigten over semantisk udskalering af Power BI-model .

Aktivér scale-out i Power BI-tjeneste

Hvis du vil aktivere scale-out for din semantiske model i Power BI-tjeneste, skal du følge disse trin:

  1. I Power BI-tjeneste skal du åbne arbejdsområdet med den semantiske model, du vil aktivere scale-out for.

  2. Vælg den semantiske models flere indstillinger (...).

  3. Vælg Indstillinger i menuen.

  4. Aktivér lagringsformatet Store semantiske modeller på siden for indstillingen, hvis det ikke er aktiveret.

  5. Aktivér Udskalering af forespørgsel, og vælg Anvend.

    A screenshot showing how to enable scale out in Power BI service.

Aktivér udskalering ved hjælp af REST API'er for datasæt

I dette afsnit beskrives det, hvordan du bruger REST API'er for Power BI-datasæt til at konfigurere semantisk modelskalering.

Hent datasæt-id

Hvis du vil hente datasetId, skal du bruge Get-PowerBIDataset. Du skal angive et workspaceId og et semantisk modelnavn.

Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Write-Host
Write-Host "Workspace Id: $workspaceId"
Write-Host "Dataset Id: $datasetId"

Hent aktuel udskaleringskonfiguration

Før du konfigurerer semantisk modelskalering, skal du bestemme den aktuelle konfiguration.

###
# Get current scale-out configuration
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get | ConvertFrom-Json

$response.queryScaleOutSettings | Format-List

if ($response.queryScaleOutSettings.maxReadOnlyReplicas -eq -1 `
    -or $response.queryScaleOutSettings.maxReadOnlyReplicas -gt 0)
{
    Write-Host "Semantic model scale-out is enabled."
}
else
{
    Write-Host "Semantic model scale-out is disabled."
}

Aktivér semantisk modelskalering

Hvis du vil aktivere semantisk modelskalering, skal du angive maxReadOnlyReplicas til -1eller en værdi, der ikke er 0. En værdi af -1 gør det muligt for Power BI at oprette så mange skrivebeskyttede replikaer, som din Power BI-kapacitet understøtter. Du kan også eksplicit angive antallet af replikaer til en værdi, der er lavere end den maksimale kapacitet. Indstilling maxReadOnlyReplicas til -1 anbefales.

###
# Enable scale-out
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
    -Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": -1 }}'

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
    | ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
    | ForEach { 
        if($_.maxReadOnlyReplicas -eq -1)
        { 
            Write-Host "Success! Semantic model scale-out has been enabled."
        } else
        {
            Write-Host "Something went wrong! Semantic model scale-out is still disabled." -ForegroundColor Red
        }
     }

Deaktiver semantisk modelskalering

Hvis du vil deaktivere semantisk modelskalering, skal du angive maxReadOnlyReplicas til 0.

###
# Disable scale-out
###
Login-PowerBI | Out-Null

$workspaceId = '<enter workspaceId>'

$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
    | Where{$_.Name -match "<enter semantic model name>"} `
    | Select-Object -ExpandProperty Id -First 1 `
    | ForEach-Object {$_.Guid}

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
    -Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": 0 }}'

Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
    | ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
    | ForEach { 
        if($_.maxReadOnlyReplicas -eq 0)
        { 
            Write-Host "Success! Semantic model scale-out has been disabled."
        } else
        {
            Write-Host "Something went wrong! Semantic model scale-out is still enabled." -ForegroundColor Red
        }
     }