officetuning/skill-library

tmdl-pbir

Formatos de texto do Power BI Project (.pbip) — TMDL para o modelo semântico e PBIR para o relatório.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/officetuning/skill-library --skill tmdl-pbir

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

TMDL e PBIR

Um Power BI Project (.pbip) salva em pastas separadas, em texto amigável ao Git:

ParteFormatoPasta
Modelo semânticoTMDL*.SemanticModel\definition\
RelatórioPBIR*.Report\definition\

Os dois trocam um JSON monolítico por um arquivo por objeto: alterar uma medida gera diff em um único arquivo de tabela.

TMDL essencial

tmdl
table Vendas

    /// Soma o valor líquido das vendas. Exclui cancelados e devoluções.
    measure 'Total de Vendas' = SUM ( Vendas[Valor da Venda] )
        formatString: R$ #,##0.00
        displayFolder: Vendas

    column 'Código do Cliente'
        dataType: int64
        isHidden
        summarizeBy: none
        sourceColumn: CodigoCliente

    partition Vendas = m
        mode: import
        source =
            let
                Origem = Sql.Database(Servidor, Banco),
                Dados = Origem{[Schema = "dbo", Item = "VwFatVenda"]}[Data]
            in
                Dados
RegraSintaxe
Declarar objeto<tipo> <nome>
Nome com espaço, ., =, : ou ''Nome do Objeto' (aspas simples internas duplicadas '')
Propriedade comumpropriedade: valor
Booleano verdadeirosó o nome: isHidden
Propriedade padrão / expressãomeasure Nome = <expressão>
Expressão multilinhaum nível de indentação a mais que as propriedades
Preservar formatação exatadelimitar com logo após o =
Descrição/// na linha imediatamente acima, sem linha em branco
Referenciar sem redeclararref table Vendas
Nome qualificado'Tabela'.'Coluna'
Indentação1 tab por nível; erro de indentação = erro de parsing

Script de alteração — um só verbo por script:

tmdl
createOrReplace

    ref table Vendas
        measure '# Pedidos' = DISTINCTCOUNT ( Vendas[Código do Pedido] )
            formatString: #,##0

createOrReplace substitui o objeto e todos os descendentes: ao usar table Produto sem ref, colunas e medidas omitidas somem. Para acrescentar uma medida, use ref table.

UDFs são objetos function e ficam em definition/functions.tmdl:

tmdl
createOrReplace

    /// Aplica imposto sobre um valor.
    function 'Fiscal.ComImposto' = (valor : NUMERIC) => valor * 1.1

Sintaxe, tipos de parâmetro e padrões de UDF: skill dax-udf.

TMDL view: editar em lote

A TMDL view (GA no Desktop, qualquer licença) mostra fórmula, formato e pasta de exibição juntos. Receitas:

TarefaComo
Mover várias medidas para uma pastaArraste as medidas para o editor, troque displayFolder: de todas com Ctrl + H, Apply
Corrigir formato em loteLocalize formatString: 0.00 e substitua pelo padrão (ex.: #,0.00)
Renomear com padrãoCtrl + F com expressão regular; confira dependências antes
Copiar tabela para outro modeloArraste a tabela, copie o script, cole na TMDL view do outro modelo
Backup antes de mudança grandeArraste o modelo inteiro e salve o script (fica em TMDLScripts\ no .pbip)

A TMDL view aplica na hora. Editar arquivos .tmdl fora do Desktop exige reiniciar o Desktop, a menos que o recurso em preview Detect and reload external PBIP changes (Desktop agosto/2026) esteja ligado: aí aparece o aviso Apply external changes. Ele não recarrega o cache.abf.

Estrutura de pastas, tabela de propriedades que são expressão, API .NET (TmdlSerializer), exceções e fontes: references/tmdl.md.

PBIR essencial

definition\
├── pages\
│   ├── pages.json                 (ordem das páginas)
│   └── [pagina]\
│       ├── page.json              (obrigatório)
│       └── visuals\[visual]\visual.json   (obrigatório: posição, formatação, query)
├── bookmarks\
├── version.json                   (obrigatório)
└── report.json                    (obrigatório)
  • Cada arquivo declara um JSON Schema público; o VS Code valida e dá IntelliSense.

Schemas: microsoft/json-schemas.

  • definition.pbir aponta o modelo: byPath (caminho relativo, edição completa)

ou byConnection (live connect; obrigatório via Fabric REST API).

  • Nome de pasta/arquivo: letras, dígitos, _ ou -. Renomear exige reiniciar o

Desktop e pode quebrar referências.

  • ⚠️ visual.json e bookmarks podem guardar valores de dados (filtro

'Company' = 'Contoso', seleção de slicer). Cuidado ao versionar em repositório público.

  • ⚠️ Converter PBIR-Legacy → PBIR não se desfaz pela interface. Salve uma cópia antes.

Status (02/10/2026): PBIP e PBIR estão em disponibilidade geral (GA) e o PBIR é o formato padrão de relatório. Ao editar e salvar um relatório PBIR-Legacy, o Power BI converte para PBIR. Status muda: confirme na documentação antes de afirmar.

Habilitar, converter, restaurar, recursos avançados, erros comuns e limites: references/pbir.md.

PBIP + Git: a rotina mínima

Antes: instale Git e VS Code; salve como Power BI Project (.pbip).

`.gitignore`: o Desktop cria sozinho (se ainda não existir) com:

**/.pbi/localSettings.json
**/.pbi/cache.abf

cache.abf é o cache com dados: nunca versionar. Sem ele, o Desktop abre o modelo completo, só sem dados (basta atualizar).

Começar: VS Code → abrir a pasta do projeto → Source Control → Initialize Repository → primeiro commit.

AçãoComoDica
Gravar versãoCommit depois de cada mudança que funcionaMensagem diz o porquê: "Margem % passa a excluir devoluções"
RevisarVeja o diff antes do commitUma medida alterada aparece só no .tmdl da tabela
Desfazer o que não foi gravadogit restore <arquivo>—
Voltar um arquivo a um commit anteriorgit checkout <commit> -- <arquivo>—

⚠️ Feche o Power BI Desktop antes de restaurar, trocar de branch ou fazer git pull: sem o recurso em preview de recarga externa, o Desktop só relê os arquivos ao abrir e pode sobrescrever a versão restaurada ao salvar.

⚠️ unappliedChanges.json guarda alterações do Power Query ainda não aplicadas; ao aplicar, elas sobrescrevem consultas editadas fora do Desktop.

Agente de IA alterando o modelo (MCP): comece de um commit limpo e revise o diff no fim. Ver skill powerbi-mcp. Pipeline (BPA, binding, CI/CD): skill bi-qa-documentacao.

Posição dos visuais

O bloco de posição do visual.json (x, y, z, width, height, tabOrder, em pixel, origem no canto superior esquerdo) recebe as coordenadas do grid da skill dashboard-layout. Confirme o formato no schema antes de editar em lote.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
officetuning
커뮤니티

bi-nomenclatura

Padrão Corporativo de Nomenclatura para SQL, ETL e modelo semântico Power BI — prefixos Tab/Vw/Pr/Fn/Cns, TabDim/TabFat/TabPon/TabFlt, fronteira entre camada física e semântica, nomes de medida e a convenção de comparativo temporal AV/AA/Δ/Δ%/Δi. Use ao nomear ou renomear tabela, view, procedure, consulta, coluna ou medida, ao escolher prefixo, ao criar alias SQL ou ao nomear medida que compara com o ano anterior.

설치 수
1
GitHub Stars
1
업데이트
10월 3일
officetuning
커뮤니티

bi-qa-documentacao

Documentar e validar um modelo Power BI antes de publicar — descrição de medida com /// na DAX Query View, QA em três camadas (Best Practice Analyzer pelo Tabular Editor CLI, smoke test de medidas via XMLA, binding visual.json × TMDL), pipeline de CI/CD e geração de documentação .docx a partir do TMDL/PBIR. Use para documentar medida no código, checklist de publicação automatizado, validar PBIP, CI/CD Power BI, testar medidas por script, visual quebrado, dicionário de dados, handoff ou "gerar Wo

설치 수
1
GitHub Stars
1
업데이트
10월 3일
officetuning
커뮤니티

dashboard-canvas

Método Dashboard Canvas (OfficeTuning) para planejar um relatório Power BI antes de abrir o Desktop — 12 blocos em 4 fases (Descoberta, Dados, Governança, Execução), taxonomia de tabela e campo, matrizes Tipo de Dado × Segmentação e Tipo de Dado × 5W2H, anatomia de página e revisão de modelo existente contra o Canvas. Use em briefing de BI, workshop com cliente, escopo de dashboard, cronograma de projeto BI, 5W2H ou "planejar dashboard". Para posição em pixel dos visuais use dashboard-layout.

설치 수
1
GitHub Stars
1
업데이트
10월 3일
officetuning
커뮤니티

dashboard-layout

Wireframe, grid e sistema visual de relatórios Power BI — base 8px, grid 12×9 sobre canvas 1920×1080, conversão para x/y/width/height do visual.json, zonas reservadas e modos de filtro do Background Builder, tooltip 400×304, paleta derivada de Accent/Navy e o bug de fuso horário em "última atualização" no Service. Use para definir onde cada visual fica, padronizar layout entre páginas, montar um relatório a partir do Background Builder, diagnosticar relatório desalinhado ou data de atualização e

설치 수
1
GitHub Stars
1
업데이트
10월 3일