Compartilhar via


Configurar a expansão do modelo semântico

Você pode habilitar a expansão no serviço do Power BI ou usando as APIs REST de conjuntos de dados do Power BI. Antes de configurar a expansão do modelo semântico, leia visão geral da expansão do modelo semântico do Power BI.

Habilitar expansão no serviço do Power BI

Para habilitar a expansão para seu modelo semântico no serviço do Power BI, siga estas etapas:

  1. No serviço do Power BI, abra o workspace com o modelo semântico para o qual você quer habilitar a expansão.

  2. Selecione mais opções do modelo semântico (...).

  3. No menu, selecione Configurações.

  4. Na página da configuração, habilite o formato de armazenamento de modelo semântico grande se ele não estiver habilitado.

  5. Habilite Expansão de consulta e selecione Aplicar.

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

Habilitar a expansão usando as APIs REST dos conjuntos de dados

Esta seção descreve o uso das APIs REST de conjuntos de dados do Power BI para configurar a expansão do modelo semântico.

Obter datasetId

Para obter o datasetId, use Get-PowerBIDataset. Você deve especificar uma workspaceId e um nome de modelo semântico.

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"

Obtenha a configuração de expansão atual

Antes de configurar a expansão do modelo semântico, determine a configuração atual.

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

Habilitar a expansão de modelo semântico

Para habilitar a expansão do modelo semântico, defina maxReadOnlyReplicas como -1, ou qualquer valor diferente de 0. Um valor de -1 permite que o Power BI crie quantas réplicas somente leitura forem suportadas pela sua capacidade do Power BI. Você também pode definir explicitamente a contagem de réplicas para um valor inferior ao da capacidade máxima. É recomendável a configuração maxReadOnlyReplicas para -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
        }
     }

Desabilitar a expansão de modelo semântico

Para desabilitar a expansão do modelo semântico, defina maxReadOnlyReplicas como 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
        }
     }