Community연구 & 데이터 분석github.com

venkatv-hub/powerbi-dashboard-builder

대시보드 스펙으로부터 Power BI 시맨틱 모델과 보고서를 빌드합니다. 스타 스키마(TMDL, PBIP 프로젝트 형식), 시간 지능 및 반가산 패턴을 포함한 DAX 측정값, PBIR 형식의 보고서 페이지, 테마, 드릴스루, 필드 매개변수 및 행 수준 보안을 지원합니다. 사용자가 Power BI 대시보드, 보고서, 시맨틱 모델, 데이터셋, DAX 측정값 또는 .pbip 프로젝트를 빌드하거나 변경하려 할 때 사용하십시오. 재무, 공급망, 의료, 영업, 인사 등 도메인 기술이 대시보드 스펙을 생성하고 대상 플랫폼이 Power BI 또는 Fabric인 경우에도 포함됩니다.

powerbi-dashboard-builder란 무엇인가요?

이 기술은 대시보드 스펙(`bi-dashboard-design/references/dashboard-spec.md`)을 기반으로 완전한 Power BI 아티팩트를 생성합니다. 도메인별 지식은 별도의 도메인 기술에서 제공되며, 레이아웃과 스타일 규칙은 `bi-dashboard-design`에서 가져옵니다. 이 기술은 Power BI 고유의 구현 세부 사항을 담당합니다. 세 가지 빌드 모드(A: MCP/CLI를 통한 라이브 모델, B: PBIP 프로젝트 파일, C: 빌드 키트) 중 하나를 선택하여 실행할 수 있으며, 라이브 연결이 가능한 모드 A를 우선합니다. 주요 작업은 스타 스키마 설계, DAX 측정값(기본 측정값, 비율, 시간 지능, 표시 도우미 등) 작성, 보고서 페이지(PBIR) 구성, 그리고 보안(RLS) 적용입니다. 또한 1280x720 캔버스 기반의 그리드 매핑과 시각적 매핑 규칙을 따르며, 하드코딩된 날짜 사용 금지, DIVIDE() 함수 사용 등 다양한 가드레일을 통해 품질을 보장합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/venkatv-hub/semantic-model-AI-dashboard-skills/tree/main/skills/powerbi-dashboard-builder

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Power BI 대시보드 빌더

대시보드 스펙(bi-dashboard-design/references/dashboard-spec.md 참조)을 실제 작동하는 Power BI 아티팩트로 변환합니다. 도메인 지식은 도메인 기술에서 제공되며, 레이아웃 및 스타일 규칙은 bi-dashboard-design에서 제공됩니다. 이 기술은 Power BI 관련 세부 사항을 다룹니다.

먼저 빌드 모드 선택

사용 가능한 것을 확인하고 사용 중인 모드를 사용자에게 알립니다.

모드사용 시기생성 결과물
A. MCP/CLI를 통한 라이브 모델Power BI Modeling MCP 서버(@microsoft/powerbi-modeling-mcp) 또는 pbi-cli가 연결되어 있고 Power BI Desktop에서 모델이 열려 있는 경우열려 있는 모델에 테이블, 관계, 측정값을 직접 생성하고, 보고서는 PBIR 파일로 빌드
B. PBIP 프로젝트 파일파일을 쓸 수 있지만 라이브 연결이 없는 경우.pbip 프로젝트 폴더: <Name>.SemanticModel/definition/*.tmdl 및 <Name>.Report/definition/ (PBIR) – 사용자가 Power BI Desktop에서 열어야 함
C. 빌드 키트파일이나 도구를 실용적으로 사용할 수 없는 경우(예: 채팅 전용)DAX 측정값 스크립트, TMDL 스니펫, 테마 JSON 및 개발자가 따를 페이지별 빌드 시트

A 모드를 선호하고, 그 다음 B 모드를 사용합니다. B 모드에서는 사용자에게 PBIP 저장 옵션을 활성화하고 Power BI Desktop 미리 보기 기능(아직 미리 보기 상태인 경우)에서 "TMDL 형식을 사용하여 시맨틱 모델 저장"을 활성화하도록 알리십시오.

워크플로

  1. 스펙과 도메인 메트릭스 파일을 읽습니다. 생성하는 모든 측정값은 도메인 기술의 <domain-skill>/references/metrics.md에 있는 정의와 일치해야 합니다.
  2. 스타 스키마를 모델링합니다 (references/tmdl-patterns.md 참조):
    • 스펙에 있는 각 그레인(grain)에 대해 하나의 팩트 테이블을 사용하고, 팩트 전반에 걸쳐 차원을 컨폼드(conformed)합니다.
    • 전용 Date 테이블을 날짜 테이블로 표시하고 연속적이며 모든 팩트 날짜를 포함하도록 하고, 도메인에서 회계 달력을 사용하는 경우 회계 열을 포함합니다.
    • 차원에서 팩트로의 단방향 일대다 관계를 사용합니다. 양방향 관계는 서면 이유와 함께만 사용합니다. 역할 수행 날짜(송장일 vs. 납부기한 vs. 납부일)의 경우 하나의 활성 관계를 사용하고 다른 관계는 비활성화한 후 측정값에서 USERELATIONSHIP으로 활성화합니다.
    • 외래 키와 측정값으로 대체된 원시 숫자 열은 숨기고, 키, ID 및 연도/월 숫자에는 summarizeBy: none을 설정합니다.
    • 월 이름과 버킷 레이블(에이징, 밴드)에 대한 정렬 기준 열을 만듭니다.
  3. 측정값을 작성합니다 (references/dax-patterns.md 참조): _Measures 테이블을 만들고, 테마별 표시 폴더(예: 01 Revenue, 02 Margin)를 사용하며, 모든 측정값에 형식 문자열과 설명을 포함합니다. 먼저 기본 측정값을 빌드한 다음, 비율, 시간 지능, 그리고 표시 도우미(델타 %, 화살표, 상태 색상)를 빌드합니다.
  4. 보고서 페이지를 빌드합니다 (references/report-pbir.md 참조): 각 스펙 구성 요소를 시각적 개체에 매핑하고, 1280×720 캔버스의 그리드 매핑을 사용하여 배치하며, bi-dashboard-design/references/theme-tokens.md의 테마를 적용하고, 드릴스루 페이지와 재설정 책갈피를 추가합니다.
  5. 보안: 스펙에 row_level이 있으면 관련 차원에 DAX 필터를 사용하여 RLS 역할을 만들고 서비스에서 멤버를 할당하는 방법을 문서화합니다.
  6. 확인: references/dax-patterns.md#verification의 DAX 검사(합계가 원본과 일치, 시간 지능이 최신 기간에 대한 값 반환, 빈 KPI 없음)를 실행한 다음 bi-dashboard-design 승인 체크리스트를 실행합니다. 확인할 수 없었던 사항을 보고합니다.

그리드 매핑 (1280 × 720 캔버스)

  • 여백 16px, 사용 가능한 너비 1248px, 88px 열 12개와 16px 간격.
  • 열 너비 c → 너비 c*88 + (c-1)*16 px, x = 16 + col_index*104
  • 높이 단위 1개 = 56px, 16px 간격(헤더 행 ≈ 64px)
  • 긴 페이지: L1/L2의 경우 세로 스크롤보다 두 번째 페이지를 선호하며, L3 상세 페이지는 테이블을 위해 더 높은 캔버스(1280 × 1440)를 사용할 수 있습니다.

시각적 개체 매핑

스펙 구성 요소Power BI 시각적 개체참고 사항
kpi_card카드(신규) / KPI비교를 위한 참조 레이블, 측정값을 통한 조건부 색상
trend_line꺾은선형 차트목표를 두 번째 측정값 또는 상수선으로 표시, 상대 날짜 필터 또는 측정값 창을 통해 13개월 표시
ranked_bar묶은 가로 막대형상위 N 필터 + 필요 시 동적 세분화 측정값을 통한 "기타"
variance_bar분산 측정값의 묶은 가로 막대형Var 부호 × 방향에 대한 규칙별 색상
waterfall폭포수분류 필드 = 드라이버 차원
stacked_bar100% 기준 누적 가로 막대형
matrix행렬행 계층 구조, 값 Actual/Budget/Var/Var%, Var%에 대한 셀 요소
exception_table테이블상위 N 또는 심각도 필터, 조건부 아이콘, 드릴스루 활성화
aging_buckets묶은 세로 막대형버킷 순서 열로 정렬된 버킷 열
funnel깔때기형 또는 가로 막대형단계 순서로 정렬된 막대가 더 읽기 쉬움
mapAzure 지도 / 채워진 지도테넌트에서 지도를 허용하는 경우에만
slicer슬라이서(드롭다운 또는 타일)기간 및 조직용 슬라이서를 페이지 전체에서 동기화

가드레일

  • 측정값에 "2026-10-31"과 같은 날짜를 하드코딩하지 말고, 데이터 또는 매개변수에서 "최신 완료 기간"을 파생시키십시오.
  • 모든 비율에 대해 DIVIDE()를 사용하십시오. 행 전체의 비율을 평균하지 마십시오.
  • 계산 열보다 측정값을 선호하고, DAX 계산 테이블보다 Power Query / 웨어하우스 변환을 선호하십시오.
  • 스펙에서 요청하지 않고 RLS/OLS가 적용되지 않는 한 민감한 열(SSN, 환자 이름, 급여 세부 정보)을 가져오지 마십시오.
  • 자동 날짜/시간을 비활성화하십시오. 모델을 비대하게 만들고 Date 테이블과 충돌합니다.

참조 파일

  • references/tmdl-patterns.md – 테이블, 열, 관계, 날짜 테이블, 역할에 대한 TMDL 구문. 모드 A/B에서 읽습니다.
  • references/dax-patterns.md – 재사용 가능한 DAX: 비율, 시간 지능, 반가산 스냅샷, 에이징 버킷, 상위 N + 기타, 표시 도우미, 확인 쿼리.
  • references/report-pbir.md – PBIR 폴더 레이아웃, 시각적 개체 JSON 필수 요소, 드릴스루, 책갈피 및 모드 C용 빌드 시트 형식.

관련 스킬