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 dos conjuntos de dados do Power BI. Antes de configurar o modelo semântico, leia a visão geral em expansão do modelo semântico do Power BI.
Habilitar a expansão no serviço do Power BI
Para habilitar a expansão para seu modelo semântico no serviço Power BI, siga estas etapas:
No serviço do Power BI, abra o espaço de trabalho com o modelo semântico para o qual você deseja habilitar a expansão.
Selecione mais opções do modelo semântico (...).
No menu, selecione Configurações.
Na página da configuração, habilite o formato de armazenamento de modelo semântico grande se ele não estiver habilitado.
Habilite a expansão da consulta e selecione Aplicar.
Habilitar a expansão usando as APIs REST de conjuntos de dados
Esta seção descreve o uso das APIs REST dos 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 um 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 do 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 permite que o Power BI crie tantas réplicas somente leitura quanto sua capacidade do -1
Power BI suportar. Você também pode definir explicitamente a contagem de réplicas para um valor inferior ao da capacidade máxima. Recomenda-se a configuração maxReadOnlyReplicas
de -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
}
}
Desativar a expansão do modelo semântico
Para desativar 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
}
}