Del via


Konfigurer skalering av semantisk modell

Du kan aktivere skalering i Power Bi-tjeneste eller bruke REST-API-er for Power BI-datasett. Før du konfigurerer semantisk modell, kan du lese oversikten over semantisk utskalering av Power BI-semantisk modell.

Aktiver skalering i Power Bi-tjeneste

Følg disse trinnene for å aktivere skalering for semantisk modell i Power Bi-tjeneste:

  1. Åpne arbeidsområdet med den semantiske modellen du vil aktivere skalering for, i Power Bi-tjeneste.

  2. Velg flere alternativer for semantisk modell (...).

  3. Velg Innstillinger fra menyen.

  4. Aktiver lagringsformatet for den store semantiske modellen hvis det ikke er aktivert, på siden for innstillingen.

  5. Aktiver utskalering av spørring, og velg Bruk.

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

Aktiver skalering ved hjelp av REST-API-er for datasett

Denne delen beskriver hvordan du bruker REST-API-ene for Power BI-datasett til å konfigurere semantisk modellskala.

Hent datasett-ID

Bruk Get-PowerBIDataset for å få datasettetId. Du må angi et arbeidsområde-ID og semantisk modellnavn.

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"

Få gjeldende konfigurasjon for utskalering

Før du konfigurerer skalering av semantisk modell, må du bestemme gjeldende konfigurasjon.

###
# 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."
}

Aktiver skalering av semantisk modell

Hvis du vil aktivere skalering av semantisk modell, satt maxReadOnlyReplicas til -1eller en verdi som ikke er 0. En verdi som -1 gjør det mulig for Power BI å opprette så mange skrivebeskyttede replikaer som Power BI-kapasiteten støtter. Du kan også eksplisitt angi replikaantallet til en verdi som er lavere enn den maksimale kapasiteten. Det anbefales å angi maxReadOnlyReplicas til -1 .

###
# 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 skalering av semantisk modell

Hvis du vil deaktivere skalering av semantisk modell, setter du 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
        }
     }