officetuning/skill-library

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 g…

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/officetuning/skill-library --skill bi-qa-documentacao

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

QA e documentação de modelos Power BI

Três frentes, na ordem em que aparecem no ciclo:

FrenteQuandoOnde
Descrever a medida com ///Ao escrever a medidaAbaixo
QA em três camadasAntes de cada merge ou publicaçãoreferences/qa-pipeline.md
Gerar documentação .docxA cada publicaçãoreferences/documentacao.md

1. Descrição de medida com /// na DAX Query View

A descrição vai no próprio código, sem abrir o Model Explorer.

dax
DEFINE
    /// Soma o valor líquido das vendas.
    /// Exclui pedidos cancelados e devoluções.
    /// Retorna BLANK() quando não há vendas no período filtrado.
    /// Usada nos KPIs comerciais e financeiros.
    MEASURE Vendas[Total de Vendas Líquidas] =
        SUM ( Vendas[Valor Líquido] )

EVALUATE
    ROW ( "Total de Vendas Líquidas", [Total de Vendas Líquidas] )

Depois, execute Atualizar modelo com alterações (CodeLens acima do MEASURE). A descrição vai para a propriedade Description e aparece no Model Explorer, no painel Dados, no tooltip do campo e no TMDL.

Regras

  • /// imediatamente acima do MEASURE; várias linhas viram uma descrição.
  • Descreva o quê, a regra de negócio, as exceções, quando retorna BLANK() e

onde é usada. Pense no próximo dev e no Copilot.

  • Não repita a fórmula na descrição. Nada de "Calcula vendas" ou "Medida de teste".
  • Fórmula mudou → descrição muda junto.
  • A tabela no MEASURE é a tabela semântica visível (Vendas), e as colunas

usam o nome semântico ([Valor Líquido]), nunca o físico (skill bi-nomenclatura).

DAX Query View

2. QA em três camadas

Se eu publicar agora, o que quebra — e eu fico sabendo antes do usuário?
CamadaValidaFerramenta
3. BindingTodo campo de visual.json existe no TMDLscripts/check_visual_bindings.py
1. BPAModelo segue as regrasTabular Editor 2 CLI (TabularEditor.exe)
2. Smoke testCada medida calcula sem erroInvoke-ASCmd via XMLA, pós-deploy em staging

Rode a camada 3 primeiro: é a mais barata e pega o erro mais comum (campo renomeado).

Obrigatório

  • As três camadas antes de publicar.
  • Rodar contra a pasta TMDL/PBIR versionada no Git, nunca contra "o que deveria estar".
  • Versionar o arquivo de regras do BPA no repositório.
  • Falhar o pipeline em regra de severidade Alta.

Como o Tabular Editor 2 falha o pipeline: não existe opção --error-on-violation. O CLI retorna exit code 1 quando há saída de nível Error, e o BPA emite Error para regra com severidade ≥ 3. Portanto, deixe as regras Altas com severidade 3 no arquivo de regras. Severidade 2 vira Warning e 1 vira informação.

powershell
# Camada 1 — BPA sobre a pasta TMDL; -G anota no GitHub Actions (-V no Azure DevOps)
$p = Start-Process -FilePath ".\te2\TabularEditor.exe" -Wait -NoNewWindow -PassThru `
       -ArgumentList "`"VendasAurora.SemanticModel\definition`" -A `"ci\BPARules.json`" -G"
exit $p.ExitCode

⚠️ TabularEditor.exe é aplicativo WinForms: sem -Wait (ou start /wait no cmd), o prompt volta antes de terminar e o exit code se perde. -B não é "modo build": ele salva o modelo como Model.bim. Confirme a leitura de pasta TMDL na versão que o time usa.

Comandos completos das três camadas, workflow do GitHub Actions e proveniência das ferramentas: references/qa-pipeline.md.

3. Documentação automática

Alguém que nunca abriu este relatório entende o modelo só lendo o documento?

Gere a partir do repositório, a cada publicação. Nunca digite à mão.

bash
python scripts/extrair_modelo.py VendasAurora.SemanticModel/definition VendasAurora.Report/definition > modelo.json
node scripts/gerar_docx.js modelo.json documentacao-modelo.docx "Vendas Aurora" 2B579A

O documento sai com capa, sumário, tabelas (papel pelo prefixo), colunas, relacionamentos (inativos marcados), medidas com DAX completo, formato, pasta e descrição, e páginas com os campos de cada visual. Medida sem formato ou sem /// aparece marcada com ❗. Commit de origem no rodapé.

Estrutura, o que extrair de cada arquivo, cuidados (RLS com valores sensíveis, explicação de DAX complexo) e checklist: references/documentacao.md.

Scripts

ScriptFazRequer
scripts/tmdl_parser.pyLê tabelas, colunas, medidas multilinha e relacionamentos do TMDLPython 3.9+
scripts/check_visual_bindings.pyCamada 3; exit 1 se houver campo quebradoPython 3.9+
scripts/extrair_modelo.pyJSON intermediário para a documentaçãoPython 3.9+
scripts/gerar_docx.js.docx a partir do JSONNode + npm install docx

O leitor TMDL é mínimo: cobre QA e documentação, não substitui o TmdlSerializer.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills
officetuning
Community

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.

Installationen
1
GitHub Stars
1
Aktualisiert
3. Okt.
officetuning
Community

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.

Installationen
1
GitHub Stars
1
Aktualisiert
3. Okt.
officetuning
Community

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

Installationen
1
GitHub Stars
1
Aktualisiert
3. Okt.
officetuning
Community

data-storytelling

Storytelling com dados aplicado a relatórios Power BI, a partir dos frameworks de Cole Nussbaumer Knaflic — contexto e audiência, escolha do gráfico eficaz, limpeza de poluição visual, atributos pré-atentivos, Big Idea, título-conclusão e arco narrativo entre páginas. Use quando o usuário pedir a mensagem principal de uma página, reduzir poluição visual, preparar apresentação para diretoria, decidir qual gráfico comunica melhor, ou citar storytelling, Big Idea, gráfico de espaguete ou "então o q

Installationen
1
GitHub Stars
1
Aktualisiert
3. Okt.