Power BI Star Schema: Model Data yang Benar
Blog/Dashboard & Visualisasi/Power BI Star Schema: Model Data yang Benar

Power BI Star Schema: Model Data yang Benar

BimaBima
·4 November 2026·10 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Star schema di Power BI adalah cara nyusun model data dengan satu fact table (berisi angka transaksi kayak penjualan) di tengah, dikelilingi beberapa dimension table (berisi detail kayak produk, tanggal, toko). Struktur ini bikin DAX lebih sederhana, dashboard lebih cepat, dan menghindari angka ganda. Ini standar yang direkomendasikan Microsoft, jauh lebih baik dari satu tabel gemuk (flat table).

Star schema di Power BI adalah cara nyusun data dengan satu fact table di tengah, dikelilingi beberapa dimension table. Bentuknya kayak bintang, makanya dinamain gitu.

Ini bukan pilihan estetika. Model data yang bener bikin dashboard kamu cepat, rumus DAX gampang, dan angka nggak dobel. Model yang salah bikin semuanya lambat dan bikin pusing.

Aku jelasin di sini apa itu star schema, bedanya fact dan dimension table, dan kenapa satu tabel gemuk itu jebakan. Semua pakai contoh data toko yang gampang dibayangin.

Apa itu star schema di Power BI?

Star schema adalah model data yang menaruh satu fact table di tengah, dikelilingi dimension table, membentuk pola bintang. Fact table isinya angka transaksi yang bisa dijumlah, kayak penjualan. Dimension table isinya detail deskriptif, kayak nama produk atau tanggal. Struktur ini bikin Power BI ngolah relasi lebih efisien.

Kenapa bentuknya penting? Karena Power BI dirancang buat kerja optimal dengan model ini. Mesin di baliknya, namanya VertiPaq, jauh lebih cepat ngolah star schema dibanding struktur lain.

Kenapa dinamain bintang

Bayangin fact table di tengah sebagai titik pusat. Tiap dimension table nyambung ke situ lewat satu garis relasi. Kalau digambar, polanya kayak bintang dengan pusat di tengah dan cabang ke luar. Itu asal namanya, bukan istilah rumit.

Apa beda fact table dan dimension table?

Fact table nyimpen angka yang berubah tiap transaksi, kayak jumlah penjualan atau kuantitas, dan barisnya banyak. Dimension table nyimpen atribut deskriptif yang stabil, kayak daftar produk atau kalender. Fact table jawab pertanyaan berapa. Dimension table jawab siapa, apa, kapan, di mana.

Contoh isi fact table

Fact table penjualan barisnya kira-kira gini: tanggal_id, produk_id, toko_id, kuantitas, total_harga. Semua kolomnya angka atau kunci penghubung. Isinya ribuan sampai jutaan baris, satu baris per transaksi.

Contoh isi dimension table

Dimension produk isinya: produk_id, nama_produk, kategori, harga_satuan. Barisnya cuma sebanyak jenis produk, misal 14 baris buat 14 produk. Ini yang ngasih konteks ke angka di fact table.

AspekFact TableDimension Table
IsiAngka transaksiDetail deskriptif
Jumlah barisBanyak (ribuan+)Sedikit (puluhan)
Contoh kolomkuantitas, totalnama_produk, kategori
FungsiJawab berapaJawab apa, kapan, di mana

Kenapa satu tabel gemuk itu masalah?

Satu tabel gemuk, atau flat table, gabungin semua kolom jadi satu. Kelihatan simpel, tapi bikin masalah. Data deskriptif keulang di tiap baris transaksi, ukuran file membengkak, dan dashboard melambat. Star schema misahin angka dari detail, jadi nggak ada duplikasi.

Contohnya gini. Kalau nama produk Beras ditulis ulang di 10.000 baris transaksi, itu 10.000 kali penyimpanan teks yang sama. Di star schema, Beras cuma ditulis sekali di dimension table.

Efeknya kerasa pas data gede. Model flat yang 2 juta baris bisa lemot loading. Star schema dengan data sama jalan mulus karena kompresinya jauh lebih efisien.

DAX juga jadi korban di flat table. Rumus yang harusnya sederhana malah butuh trik buat ngehindarin angka ganda. Kalau kamu masih belajar DAX, mulai dari fungsi SUM di DAX yang jauh lebih gampang di model star schema.

Studi kasus: dashboard penjualan toko_berkah

Aku bikin dashboard buat toko_berkah, UMKM sembako dengan 5 cabang. Data mentahnya satu file Excel gemuk: 47 kolom, 180.000 baris transaksi setahun. Tiap baris ngulang nama produk, nama cabang, dan kategori.

Versi flat table-nya loading 14 detik tiap ganti filter. Bos ngeluh dashboard-nya lemot pas presentasi. Rumus DAX buat total penjualan per kategori juga sering ngasih angka ganda gara-gara relasi berantakan.

Aku pecah jadi star schema: satu fact table penjualan, plus empat dimension table (produk, tanggal, cabang, pelanggan). Ukuran file turun dari 240 MB jadi 62 MB, sekitar 74% lebih kecil. Loading filter turun jadi di bawah 2 detik.

Yang lebih penting, DAX-nya jadi bersih. Total penjualan per kategori tinggal satu SUM sederhana, nggak perlu trik anti-duplikat. Angka yang tadinya sering salah sekarang selalu akurat.

Struktur akhirnya

  • Fact_Penjualan: tanggal_id, produk_id, cabang_id, pelanggan_id, kuantitas, total.
  • Dim_Produk: produk_id, nama, kategori, harga.
  • Dim_Tanggal: tanggal_id, tanggal, bulan, kuartal, tahun.
  • Dim_Cabang: cabang_id, nama_cabang, kota.
  • Dim_Pelanggan: pelanggan_id, nama, segmen.

Gimana cara bikin relasinya?

Buat kolom kunci di tiap dimension table, misal produk_id, lalu pastikan fact table punya kolom yang sama. Di tampilan Model, tarik garis dari kunci di dimension ke kolom yang sama di fact table. Power BI otomatis bikin relasi one-to-many, dan arah filter mengalir dari dimension ke fact.

Satu produk_id di Dim_Produk bisa muncul di banyak baris Fact_Penjualan. Itu makna one-to-many: satu sisi dimension, banyak sisi fact. Ini pola relasi yang bener buat star schema.

Pastikan tiap dimension punya kolom kunci yang unik, nggak ada yang dobel. Kalau kunci-nya nggak unik, relasinya jadi ambigu dan Power BI bisa error atau ngasih angka salah. Buat lebih dalam soal ini, cek pengertian primary key yang jadi dasar relasi antar tabel.

Kesalahan umum saat model data

Pertama, maksa semua jadi satu tabel karena kelihatan simpel. Ini utang yang bakal ditagih pas data gede. Pecah dari awal.

Kedia, bikin dimension table yang kegedean dengan kolom transaksi di dalamnya. Dimension harus tipis dan deskriptif. Angka transaksi tempatnya di fact table.

Ketiga, lupa bikin tabel tanggal khusus. Dim_Tanggal itu wajib buat analisis waktu. Jangan andelin kolom tanggal mentah di fact table buat filter bulanan atau perbandingan tahun.

Keempat, relasi dua arah di mana-mana. Default filter dari dimension ke fact udah bener. Relasi dua arah cuma dipakai kalau kamu tau persis kenapa, karena bisa bikin hasil nggak terduga.

FAQ

Pertanyaan yang sering muncul soal star schema di Power BI.

Lanjut rapiin model kamu

Poin utamanya: star schema misahin angka (fact) dari detail (dimension), bikin dashboard cepat dan DAX gampang. Hindari satu tabel gemuk kecuali datamu kecil banget.

Kalau dashboard-mu sekarang lemot atau angkanya sering ganda, kemungkinan besar model datanya yang salah. Pecah jadi star schema, dan banyak masalah kelar sendiri.

Mau lanjut belajar dashboard yang efektif? Baca cara bikin visualisasi yang rapi biar chart di dashboard-mu kebaca. Panduan resmi model data ada di dokumentasi Microsoft star schema. Pahami juga konsep ETL buat nyiapin data sebelum masuk Power BI.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

Tableau LOD Expression: FIXED, INCLUDE, EXCLUDE (2026)
Dashboard & Visualisasi
16 November 2026•10 menit baca

Tableau LOD Expression: FIXED, INCLUDE, EXCLUDE (2026)

Tableau LOD expression bikin kamu ngatur level agregasi terlepas dari yang ada di view. FIXED, INCLUDE, dan EXCLUDE punya perilaku beda. Ini cara pakainya dengan contoh nyata.

BimaBima
Power Query Bahasa M: Dasar untuk Analis (2026)
Dashboard & Visualisasi
10 November 2026•11 menit baca

Power Query Bahasa M: Dasar untuk Analis (2026)

Bahasa M itu bahasa formula di balik Power Query. Ini dasar sintaks let...in, fungsi yang sering dipakai, dan contoh bersihin data toko.

BimaBima
Power BI Slicer: Cara Bikin Filter Interaktif di Dashboard (2026)
Dashboard & Visualisasi
7 November 2026•9 menit baca

Power BI Slicer: Cara Bikin Filter Interaktif di Dashboard (2026)

Slicer bikin dashboard Power BI bisa difilter cuma dengan sekali klik. Ini cara bikinnya, atur tipenya, dan sync ke banyak halaman sekaligus.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore