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…

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/officetuning/skill-library --skill bi-qa-documentacao

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

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.

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills
officetuning
Społeczność

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.

instalacje
1
GitHub Stars
1
Aktualizacja
3 paź
officetuning
Społeczność

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.

instalacje
1
GitHub Stars
1
Aktualizacja
3 paź
officetuning
Społeczność

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

instalacje
1
GitHub Stars
1
Aktualizacja
3 paź
officetuning
Społeczność

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

instalacje
1
GitHub Stars
1
Aktualizacja
3 paź