fx

Modelagem

PBIR

Referência de PBIR: estrutura de arquivos, schemas JSON, anotações e limites do Service.

Consolidado a partir da documentação oficial Microsoft Learn (Power BI Desktop Projects / Embedded). Fontes: projects-enhanced-report-format, projects-report (learn.microsoft.com/power-bi/developer). ✅ Atualizado em 02/10/2026: PBIP e PBIR estão em disponibilidade geral (GA) e o PBIR é o formato padrão de relatório (ver seção 3).

1. Contexto: onde o PBIR se encaixa

Um Power BI Project (PBIP) salva o relatório e o modelo semântico em pastas separadas, usando formatos amigáveis a controle de versão:

Parte do projetoFormato
Report (relatório)PBIR (Enhanced Report Format)
Semantic Model (modelo semântico)TMDL (ver guia dedicado)

O PBIR resolve, para o relatório, o mesmo problema que o TMDL resolve para o modelo: transformar um JSON monolítico (report.json) em uma estrutura de pastas com um arquivo por objeto, tornando o diff e o merge no Git muito mais legíveis.

Os Power BI Projects (.pbip) também estão em GA. Para editar o modelo semântico por código dentro do Desktop, veja a TMDL view no guia de TMDL.


2. O que é o PBIR

PBIR (Power BI Enhanced Report Format) é o formato aprimorado de definição de relatório usado dentro de arquivos Power BI Project (PBIP). Ele organiza cada visual, página, bookmark etc. em arquivos individuais, dentro de uma estrutura de pastas, usando JSON devidamente formatado.

Diferenciais em relação ao PBIR-Legacy (report.json):

  • Formato publicamente documentado — permite modificações a partir de aplicações que não sejam o Power BI Desktop.
  • Cada arquivo possui um JSON Schema público, que documenta cada propriedade e habilita validação de sintaxe em editores como o VS Code.
  • Ao abrir o projeto, o Power BI Desktop valida os arquivos PBIR alterados para garantir que o carregamento tenha sucesso.

Ganhos práticos habilitados pelo PBIR:

  • Copiar e colar visuais, páginas, bookmarks ou arquivos entre relatórios.
  • Garantir consistência de um conjunto de visuais em todas as páginas (copiando/colando os arquivos do visual).
  • Buscar e substituir (find & replace) facilmente em múltiplos arquivos de relatório.
  • Aplicar mudanças manuais ou programáticas em lote (ex.: ocultar filtros em nível de visual via script).

3. Status: formato padrão (GA)

Desde a versão de setembro de 2026, os Power BI Projects (PBIP) e o PBIR estão em disponibilidade geral (GA), e o PBIR é o formato padrão de relatório no Power BI Desktop e no Power BI Service. Não é mais preciso habilitar nenhum recurso de preview.

  • Relatórios em PBIR-Legacy (report.json) continuam abrindo normalmente no Desktop e no Service.
  • Ao editar e salvar um relatório PBIR-Legacy, o Power BI o converte automaticamente, sem perguntar, para PBIR.
  • O Fabric Git Integration e as Fabric REST APIs exportam as definições de relatório em PBIR.

💡 Precisa manter um relatório em PBIR-Legacy? Não o edite no Service, ou use uma versão do Power BI Desktop lançada antes de setembro de 2026.


4. Salvando, convertendo e restaurando

4.1 Salvar um projeto em PBIR

Ao salvar como Power BI Project (.pbip), o relatório é gravado dentro de uma pasta \definition, localizada dentro da pasta do relatório do PBIP.

4.2 Conversão automática (PBIR-Legacy → PBIR)

Antes de converter, o Power BI cria um backup do relatório.

No Power BI Desktop (retido por 30 dias):

Versão do DesktopLocal do backup
Microsoft Store%USERPROFILE%\Microsoft\Power BI Desktop Store App\TempSaves\Backups
Instalador executável%USERPROFILE%\AppData\Local\Microsoft\Power BI Desktop\TempSaves\Backups

No Power BI Service (retido por 28 dias):

  • Para restaurar: Report settings no workspace → Restore as PBIR-Legacy.
  • Esse backup só é criado para relatórios convertidos diretamente no Service. Se a conversão aconteceu no Desktop, use o backup do Desktop.

⚠️ Restaurar o backup não impede uma nova conversão: se o relatório for editado e salvo de novo, ele volta a ser convertido para PBIR.

Após a conversão, o arquivo PBIR-Legacy (report.json) é substituído por uma pasta \definition com a representação PBIR do relatório.

4.3 Editar os arquivos com o Desktop aberto (preview)

A partir da versão de agosto de 2026, o Power BI Desktop detecta alterações salvas fora dele (ex.: no VS Code) nos arquivos do projeto e mostra o aviso Apply external changes, que recarrega o relatório e o modelo sem fechar o projeto.

  1. File → Options and settings → Options → Preview features → marcar Detect and reload external PBIP changes.
  2. Reiniciar o Power BI Desktop.
  3. Salvar o trabalho no Desktop antes de editar os arquivos por fora — alterações não salvas no Desktop são sobrescritas ao aplicar (o Desktop avisa).
  4. Manter o caminho de cada arquivo do projeto abaixo do limite de 260 caracteres do Windows.

O PBIP e o PBIR estão em GA; só esse recarregamento automático de alterações externas continua em preview.


5. Estrutura de pastas e arquivos do PBIR

A definição do relatório fica dentro da pasta definition\:

├── bookmarks\
│   ├── [bookmarkName].bookmark.json
│   └── bookmarks.json
├── pages\
│   ├── [pageName]\
│   │   ├── visuals\
│   │   │   ├── [visualName]\
│   │   │   │   ├── mobile.json
│   │   │   │   └── visual.json
│   │   │   
│   │   └── page.json
│   └── pages.json
├── version.json
├── reportExtensions.json
└── report.json
Arquivo/PastaObrigatórioDescrição
bookmarks\NãoPasta com todos os arquivos de bookmark do relatório
[bookmarkName].bookmark.jsonNãoMetadados do bookmark (visuais-alvo, filtros)
bookmarks.jsonNãoMetadados dos bookmarks (ordem, grupos)
pages\SimPasta com todas as páginas do relatório
[pageName]\SimUma pasta por página
visuals\NãoPasta com todos os visuais da página
[visualName]\NãoUma pasta por visual
mobile.jsonNãoLayout mobile do visual (posição e formatação mobile)
visual.jsonSimMetadados do visual (posição, formatação, query)
page.jsonSimMetadados da página (filtros e formatação de página)
pages.jsonNãoMetadados das páginas (ordem, página ativa)
version.jsonSimVersão do arquivo PBIR; determina quais arquivos são necessários
reportExtensions.jsonNãoExtensões do relatório, como medidas em nível de relatório
report.jsonSimMetadados do relatório (filtros e formatação em nível de relatório)

Todos os schemas JSON do PBIR estão publicados em: github.com/microsoft/json-schemas/tree/main/fabric/item/report/definition

⚠️ Alguns arquivos de metadados (ex.: visual.json, bookmarks.json) podem conter valores de dados do modelo semântico. Ex.: um filtro 'Company' = 'Contoso' aplicado a um visual persiste o valor 'Contoso' no metadado. O mesmo vale para seleções de slicer, largura de colunas customizadas de matriz, formatação de séries específicas etc.

5.1 Convenção de nomenclatura PBIR

  • Nomes entre colchetes ([ ]) na tabela acima seguem uma convenção padrão, mas podem ser renomeados para nomes mais amigáveis.
  • Por padrão, páginas, visuais e bookmarks usam como nome de arquivo/pasta o nome do objeto no relatório — inicialmente um identificador único de 20 caracteres (ex.: 90c2e07d8e84e7d5c026).
  • Renomear a propriedade 'name' dentro de cada arquivo JSON é suportado, mas pode quebrar referências externas (dentro e fora do relatório).
  • O nome do objeto e/ou arquivo/pasta deve consistir em um ou mais caracteres de palavra (letras, dígitos, underscore) ou hífens.
  • Após renomear arquivos/pastas PBIR, é necessário reiniciar o Power BI Desktop. No reinício, o Desktop preserva os nomes originais ao salvar.

5.2 Copiar nome de objeto do relatório

Cada objeto do relatório é salvo em pasta/arquivo separado, mas o nome nem sempre é óbvio. É possível copiar o nome de qualquer objeto (páginas, visuais, bookmarks, filtros) diretamente para a área de transferência:

No Desktop:

  1. File → Options and settings → Report settings → Report objects → habilitar Copy object names when right clicking on report objects (uma vez só).
  2. Clique com o botão direito em qualquer objeto do relatório → Copy object name.

No Service:

  1. Nas configurações do relatório, habilite Copy object names when right clicking on report objects (uma vez só, vale para todos os relatórios).
  2. Em modo de edição, clique com o botão direito no objeto → Copy object name.

O nome copiado pode ser colado na busca do Windows Explorer ou VS Code para localizar o objeto correspondente na pasta PBIR. No Service, ele também ajuda a ligar uma consulta DAX ao visual que a gerou, no Workspace Monitoring ou no Log Analytics.


6. PBIR JSON Schemas

  • Cada arquivo JSON do PBIR inclui uma declaração de JSON Schema no topo do documento.
  • A URL do schema é publicamente acessível e documenta as propriedades/objetos disponíveis para cada arquivo.
  • Editores como o VS Code oferecem IntelliSense e validação embutidos a partir desse schema.
  • A URL do schema também define a versão do documento, que muda conforme a definição do relatório evolui.
  • Todos os schemas: github.com/microsoft/json-schemas/tree/main/fabric/item/report/definition

7. Recursos avançados

7.1 definition.pbir — definição geral do relatório

Contém a definição geral do relatório e configurações centrais, incluindo a referência ao modelo semântico usado. O Power BI Desktop pode abrir um arquivo PBIR diretamente (assim como se o relatório fosse aberto a partir de um PBIP); se houver referência relativa via byPath, o modelo semântico é aberto junto.

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definitionProperties/2.0.0/schema.json",
  "version": "4.0",
  "datasetReference": {
    "byPath": {
      "path": "../Sales.Dataset"
    }
  }
}

A propriedade datasetReference referencia o modelo semântico e pode ser de dois tipos:

TipoDescrição
byPathCaminho relativo para a pasta do modelo semântico (caminhos absolutos não são suportados; separador /). Ao usar, o Power BI Desktop abre o modelo em modo de edição completo.
byConnectionConnection string para um modelo semântico em um workspace do Fabric. Não abre o modelo em modo de edição.

Exemplo byConnection:

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definitionProperties/2.0.0/schema.json",
  "version": "4.0",
  "datasetReference": {
    "byConnection": {
      "connectionString": "Data Source=\"powerbi://api.powerbi.com/v1.0/myorg/[WorkpaceName]\";initial catalog=[SemanticModelName];access mode=readonly;integrated security=ClaimsToken;semanticmodelid=[SemanticModelId]"
    }
  }
}

⚠️ Ao implantar um relatório via Fabric REST API, é obrigatório usar referência byConnection — apenas a propriedade semanticmodelid precisa ser especificada:

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definitionProperties/2.0.0/schema.json",
  "version": "4.0",
  "datasetReference": {
    "byConnection": {
      "connectionString": "semanticmodelid=[SemanticModelId]"
    }
  }
}

⚠️ Não confundir o datasetReference do relatório com o storage mode do modelo semântico (ex.: DirectQuery). O datasetReference só define a qual modelo o relatório se conecta, não como esse modelo armazena/acessa os dados.

Múltiplos arquivos *.pbir

Quando modelo semântico e relatório compartilham o mesmo workspace, o Fabric Git Integration sempre exporta definições com referência byPath. Para forçar o relatório a abrir em live connect (ex.: para trabalhar com medidas em nível de relatório), é possível ter múltiplos arquivos *.pbir — um com conexão byPath e outro com byConnection. O Fabric Git Integration processa apenas o arquivo definition.pbir e ignora os demais *.pbir, mas eles podem coexistir no mesmo repositório:

├── definition\
├── StaticResources\
├── .platform
├── definition-liveConnect.pbir
└── definition.pbir

A propriedade version do definition.pbir determina os formatos suportados:

VersionFormatos suportados
1.0Definição deve ser armazenada em PBIR-Legacy (report.json)
4.0 ou superiorDefinição pode ser PBIR-Legacy (report.json) ou PBIR (pasta \definition)

7.2 Anotações PBIR (annotations)

É possível incluir anotações como pares nome-valor na definição do relatório, para cada visual, page e report. O Power BI Desktop ignora essas anotações, mas elas podem ser úteis para aplicações externas (ex.: scripts de deploy).

Exemplo — definindo uma defaultPage customizada em report.json:

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/report/1.0.0/schema.json",
  "themeCollection": {
    "baseTheme": {
      "name": "CY24SU06",
      "reportVersionAtImport": "5.55",
      "type": "SharedResources"
    }
  },
  "annotations": [
    {
      "name": "defaultPage",
      "value": "c2d9b4b1487b2eb30e98"
    }
  ]
}

7.3 Alterações externas aos arquivos PBIR

Os arquivos JSON do PBIR podem ser editados com editores de código (VS Code) ou ferramentas externas, desde que respeitem o JSON Schema. Nome/tipo de propriedade incorretos são detectados diretamente no VS Code.

Alterações externas mal formadas podem gerar dois tipos de erro ao reabrir no Power BI Desktop:

Tipo de erroComportamento
Blocking errorsImpedem o Power BI Desktop de abrir o relatório (ex.: schema inválido, propriedade obrigatória ausente). O erro identifica o arquivo problemático.
Non-blocking errorsNão impedem a abertura; são corrigidos automaticamente (ex.: activePageName inválido). O aviso existe para permitir que o usuário evite salvar com o autofix, prevenindo perda de trabalho.

Erros comuns

CenárioSolução
Após renomear pasta de visual/página, o objeto some do relatórioVerificar se o nome segue a convenção de nomenclatura; se não seguir, o Desktop ignora o arquivo/pasta e o trata como arquivo privado do usuário
Novos objetos com nomes diferentes dos antigos (ex.: ReportSection0e71dafbc949c0853608 vs 1b3c2ab12b603618070b)A nova convenção de nomenclatura só se aplica a objetos novos; nomes existentes são preservados ao salvar (para não quebrar referências). Para uniformizar, usar script de renomeação em lote
Copiar um bookmark apaga parte da configuração ao salvarComportamento intencional — bookmarks capturam o estado de uma página e seus visuais; visuais inválidos (não presentes no destino) são removidos. Copiar também os visuais e a página dependentes preserva a configuração
Copiar uma página de outro relatório gera erro "Values for the 'pageBinding.name' property must be unique"O pageBinding viabiliza drillthrough e tooltips de página; o nome deve ser único no relatório. Atribuir um valor único à página recém-copiada resolve (após junho/2024 o pageBinding.name passou a ser um GUID por padrão, eliminando o problema)

8. Considerações e limitações

  • Filtros automáticos de visual só são persistidos no visual.json depois que o painel de filtros for expandido pelo menos uma vez durante a edição.
  • Se um relatório PBIR-Legacy não for convertido para PBIR ao ser editado e salvo, a Microsoft trata como problema do produto: abra uma solicitação de suporte.

Limites de tamanho (impostos pelo Service)

LimiteValor
Máximo de páginas por relatório1.000
Máximo de visuais por página1.000
Máximo de arquivos de resource package por relatório1.000
Tamanho máximo de todos os arquivos de resource package300 MB
Tamanho máximo de todos os arquivos do relatório300 MB

Ao atingir esses limites, considerar otimizar o relatório — ver o guia de otimização Power BI.

O Fabric Git Integration e as Fabric REST APIs exportam as definições de relatório em PBIR.


9. Outros arquivos da pasta Report (fora de \definition)

Além da pasta definition\ (PBIR), a pasta Report de um Power BI Project pode conter:

Arquivo/PastaObrigatórioDescrição
.pbi\localSettings.jsonNãoConfigurações do relatório específicas do usuário/máquina local. Deve constar no .gitignore (por padrão, o Git já ignora)
CustomVisuals\NãoMetadados de visuais customizados privados (pbiviz carregados manualmente). Visuais do AppSource e da Organização são carregados automaticamente pelo Desktop, sem entrar nesta pasta
StaticResources\RegisteredResources\NãoArquivos de recurso do relatório carregados pelo usuário (temas customizados, imagens, arquivos pbiviz). Editável — trocar o arquivo e reiniciar o Desktop carrega a nova versão. Todo arquivo aqui precisa de entrada correspondente em report.json; só é suportado editar recursos já carregados, que o Desktop registrou
semanticModelDiagramLayout.jsonNãoDiagramas do modelo de dados associado ao relatório. Não suporta edição externa
definition.pbirSimDefinição geral e referência ao modelo semântico (ver seção 7.1)
mobileState.jsonNãoAparência/comportamento do relatório em dispositivos móveis. Não suporta edição externa
report.jsonObrigatório apenas em PBIR-LegacyDefinição do relatório em formato legado; não suporta edição externa
definition\Obrigatório apenas em PBIRSubstitui o report.json quando o projeto usa PBIR (ver seção 5)
.platform—Arquivo de plataforma Fabric com propriedades para conexão entre itens Fabric e Git

Tipos de visuais customizados suportados

TipoDescrição
Organizational store visualsAprovados e implantados pela organização para uso interno
AppSource Power BI visuals ("públicos")Disponíveis no Microsoft AppSource; instaláveis direto pelo Desktop
Custom visual files ("privados")Carregados via upload de pacote .pbiviz; são os únicos que entram na pasta CustomVisuals\

10. Quick reference

PerguntaResposta
PBIR substitui o quê?O report.json monolítico (PBIR-Legacy)
Formato do relatório em PBIPPBIR (report) + TMDL (semantic model)
Onde fica a definição PBIR?Pasta Report\definition\
Arquivos sempre obrigatórios em definition\pages\[pageName]\page.json, pages\[pageName]\visuals\[visualName]\visual.json, version.json, report.json
Como referenciar o modelo semântico?definition.pbir → datasetReference.byPath (edição completa) ou byConnection (live, obrigatório via Fabric REST API)
Precisa habilitar?Não — o PBIR é o formato padrão (GA desde set/2026)
Dá para voltar ao PBIR-Legacy?Só restaurando o backup (30 dias no Desktop / 28 dias no Service); editar e salvar de novo reconverte
Manter PBIR-LegacyNão editar no Service, ou usar Desktop lançado antes de set/2026

💡 Para versionar estes arquivos e voltar a uma versão anterior, veja PBIP + Git.


11. Fontes consultadas

  1. Create a Power BI report in enhanced report format — visão geral do PBIR, motivação e como habilitar.
  2. Power BI Desktop project report folder — estrutura completa da pasta Report, formato PBIR, estrutura definition\, schemas, anotações, erros comuns, conversão (GA), limitações e limites de tamanho.
  3. Edit PBIP files outside Power BI Desktop — recarregar alterações externas com o Desktop aberto (preview).