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…

소스 보기

사용 방법

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

시작 전 확인

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

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

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.

관련 작업

같은 저장소의 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
커뮤니티

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일
officetuning
커뮤니티

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

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