In a typical build, the design phase alone can take one to two weeks. I moved the whole look into one page that is designed once, and Power BI fills it with fresh data every morning. This is the case, the build, and the honest trade-offs.
Dalam build biasa, fase desain saja bisa makan satu sampai dua minggu. Saya memindahkan seluruh tampilan ke satu halaman yang didesain sekali, lalu Power BI mengisinya dengan data baru setiap pagi. Ini kasusnya, cara buildnya, dan konsekuensinya secara jujur.
for the design and prototyping phase alone: layout, charts, filters and interactivity, often with stakeholder approval rounds on the wireframes.[2]
hanya untuk fase desain dan prototipe: layout, chart, filter, dan interaktivitas, sering kali dengan putaran persetujuan wireframe oleh stakeholder.[2]
formatting lives inside each visualformat melekat di setiap visualLeft: a published industry benchmark. Right: what this build actually requires, counted from the project documentation. It shows where the effort moves, not a stopwatch result.
Kiri: benchmark industri yang dipublikasikan. Kanan: apa yang benar-benar dibutuhkan build ini, dihitung dari dokumentasi proyek. Ini menunjukkan ke mana usaha berpindah, bukan hasil stopwatch.
X Department tracks every X document in one shared register, from the day it is received to the day it is approved.
X Department mencatat setiap dokumen X dalam satu register bersama, dari hari diterima sampai hari disetujui.
Management needed one view of cost structure and processing performance. The register held the answer, but in a form only its owners could use.
Manajemen butuh satu tampilan untuk struktur biaya dan kinerja proses. Jawabannya ada di register, tapi dalam bentuk yang hanya bisa dipakai pemiliknya.
Illustrative rows. Red cells show the kinds of issues the real file had: formula errors, numbers stored as text, approval dated before receipt, blank hierarchy levels.
Baris ilustrasi. Sel merah menunjukkan jenis masalah di file aslinya: formula error, angka tersimpan sebagai teks, tanggal approval sebelum tanggal terima, level hierarki kosong.
Thousands of rows, too big to read as a management view.
Ribuan baris, terlalu besar untuk dibaca sebagai tampilan manajemen.
Formula errors and inconsistent entries across the register.
Formula error dan entri yang tidak konsisten di seluruh register.
Cannot be sent to executives as a dashboard.
Tidak bisa dikirim ke eksekutif sebagai dashboard.
The consultant-style layout needed an org-chart tree and written summaries.
Layout gaya konsultan butuh pohon seperti org chart dan ringkasan tertulis.
Each objective came with a success measure. The constraints mattered just as much: they decided which solutions were even possible.
Setiap objektif punya ukuran keberhasilan. Batasannya sama penting: batasan itulah yang menentukan solusi mana yang mungkin.
Five moves, in order: rule out what can't work, design the flow, automate the morning, make changes safe, and test with gates before going live.
Lima langkah berurutan: singkirkan yang tidak mungkin, rancang alurnya, otomatiskan pagi hari, buat perubahan jadi aman, dan uji dengan gate sebelum live.
The constraints did most of the work. Every option was tested against them before any design began.
Batasan yang melakukan sebagian besar seleksi. Setiap opsi diuji terhadap batasan itu sebelum desain dimulai.
Six layers, each with one job. Easy way to picture it: the template is a blank certificate design, the data is the list of names, and Power BI is the printer that prints a fresh copy every morning.
Enam lapisan, masing-masing punya satu tugas. Cara mudah membayangkannya: template adalah desain sertifikat kosong, data adalah daftar nama, dan Power BI adalah printer yang mencetak salinan baru setiap pagi.
A Dataflow, SQL database or SharePoint source. Read access is enough. Source of truth.
Dataflow, database SQL, atau sumber SharePoint. Akses baca sudah cukup. Sumber kebenaran.
Tolerant header matching; every record packed as one JSON row.
Pencocokan header yang toleran; setiap record dikemas jadi satu baris JSON.
One .html file with a /*DATA*/ marker, split into 30,000-character chunks.
Satu file .html dengan penanda /*DATA*/, dipecah per 30.000 karakter.
A DAX measure: Part A + data JSON + Part B (+ optional patches).
Satu measure DAX: Part A + data JSON + Part B (+ patch opsional).
HTML Content (Regular) runs the HTML/JavaScript inside the Power BI sandbox.
HTML Content (Regular) menjalankan HTML/JavaScript di sandbox Power BI.
Scheduled refresh, access control and sharing by report link.
Refresh terjadwal, kontrol akses, dan sharing lewat link report.
Nobody has to do anything. The top row is what Power BI does by itself; the bottom row is what a viewer does.
Tidak ada yang perlu dikerjakan siapa pun. Baris atas dikerjakan Power BI sendiri; baris bawah adalah yang dilakukan viewer.
Each kind of change has exactly one place to go, so changes stay small and safe.
Setiap jenis perubahan punya tepat satu tempat, jadi perubahan tetap kecil dan aman.
Yellow diamonds are checkpoints. If the answer is "No", fix the issue first and repeat the check. Red GATE marks checks that must pass before going live.
Belah ketupat kuning adalah checkpoint. Kalau jawabannya "Tidak", perbaiki dulu lalu cek ulang. Label merah GATE menandai cek yang wajib lolos sebelum live.
Is the display visual permitted by IT, and do viewers have the right Power BI licence?
Apakah visualnya diizinkan IT, dan apakah viewer punya lisensi Power BI yang sesuai?
What is one record? Which numbers matter? What are the targets? Which filters are needed?
Satu record itu apa? Angka mana yang penting? Targetnya berapa? Filter apa yang dibutuhkan?
Note the exact table and column names. Never guess them.
Catat nama tabel dan kolom persisnya. Jangan pernah menebak.
Try it with a few sample rows first. If it looks right in a browser, it will usually look right in Power BI.
Coba dulu dengan beberapa baris contoh. Kalau sudah benar di browser, biasanya akan benar juga di Power BI.
Paste the three ready-made data steps and the one formula, then place the visual on a full page.
Tempel tiga langkah data yang sudah jadi dan satu formula, lalu letakkan visual di satu halaman penuh.
Check every tab, filter and button, and compare key totals with the source.
Cek setiap tab, filter, dan tombol, lalu bandingkan total utama dengan sumber.
Sign in once for each data source, schedule the daily refresh, and run it once to confirm.
Login sekali untuk setiap sumber data, jadwalkan refresh harian, dan jalankan sekali untuk memastikan.
Save the final files, write a short guide, and ask data owners not to rename columns or the file.
Simpan file final, tulis panduan singkat, dan minta pemilik data tidak mengganti nama kolom atau file.
Every robustness feature in the final build exists because something failed first.
Setiap fitur ketahanan di build final ada karena sesuatu pernah gagal lebih dulu.
Here is what went live. The time story is more nuanced than "AI built it in minutes", so it is told with benchmarks, not slogans.
Ini yang sudah live. Cerita soal waktunya lebih bernuansa daripada "AI membuatnya dalam hitungan menit", jadi diceritakan dengan benchmark, bukan slogan.
Management opens a Power BI link. No files are sent around.
Manajemen membuka link Power BI. Tidak ada file yang dikirim-kirim.
Daily at 06:00, straight from the live register. Nobody touches the data.
Setiap hari pukul 06:00, langsung dari register yang hidup. Tidak ada yang menyentuh datanya.
Executive summary, cost hierarchy tree, KPI analysis, detail table and data notes.
Ringkasan eksekutif, pohon hierarki biaya, analisis KPI, tabel detail, dan catatan data.
Currency, hierarchy levels, vendor, reviewer, status, KPI result, date range and search.
Mata uang, level hierarki, vendor, reviewer, status, hasil KPI, rentang tanggal, dan pencarian.
Wrong hierarchy values and impossible dates are flagged, with owners assigned to fix them at the source.
Nilai hierarki yang salah dan tanggal yang mustahil ditandai, dengan pemilik yang ditugaskan memperbaikinya di sumber.
The documentation is written so a new AI chat can rebuild the pattern for a different dataset.
Dokumentasinya ditulis supaya chat AI baru bisa membangun ulang pola ini untuk dataset lain.
Published industry ranges, in weeks
Rentang industri yang dipublikasikan, dalam minggu
The design phase is where this approach bites. In a conventional build, layout and look are made visual by visual. Here the look lives in one HTML file that can be drafted with an AI assistant and checked in a browser before Power BI is even opened.
Fase desain adalah tempat pendekatan ini paling terasa. Di build konvensional, layout dan tampilan dibuat visual demi visual. Di sini tampilannya ada di satu file HTML yang bisa dibuat bersama asisten AI dan dicek di browser bahkan sebelum Power BI dibuka.
faster. In a controlled experiment, developers with an AI pair programmer built an HTTP server in JavaScript in about 71 minutes, versus 161 minutes without it.
lebih cepat. Dalam eksperimen terkontrol, developer yang memakai AI pair programmer membangun HTTP server di JavaScript dalam sekitar 71 menit, dibanding 161 menit tanpa AI.
slower. In a randomized trial, experienced developers working on large, familiar open-source codebases took longer when allowed to use early-2025 AI tools, even though they believed they were faster.
lebih lambat. Dalam uji acak, developer berpengalaman yang mengerjakan codebase open-source besar yang sudah mereka kenal justru lebih lama saat boleh memakai AI tools awal 2025, padahal mereka merasa lebih cepat.
My reading, not a measurement: a dashboard template is a small, self-contained file built from scratch, which looks more like the first setting than the second. But the second study is a useful warning. Feeling faster is not the same as being faster, and that is why the reconciliation gates matter.
Pendapat saya, bukan hasil pengukuran: template dashboard adalah file kecil yang berdiri sendiri dan dibangun dari nol, lebih mirip kondisi studi pertama daripada kedua. Tapi studi kedua adalah peringatan yang berguna. Merasa lebih cepat tidak sama dengan benar-benar lebih cepat, dan karena itulah gate rekonsiliasi penting.
The speed comes from giving up some things native Power BI does for free.
Kecepatannya datang dari melepas beberapa hal yang dikerjakan Power BI native secara gratis.
The display visual is free but uncertified. If company policy later blocks such visuals, these dashboards stop rendering.
Visualnya gratis tapi tidak bersertifikat. Kalau kebijakan perusahaan nanti memblokirnya, dashboard ini berhenti tampil.
No PDF, PowerPoint or CSV export from the visual. Share the link, or take screenshots for slides.
Tidak bisa export PDF, PowerPoint, atau CSV dari visualnya. Bagikan link, atau ambil screenshot untuk slide.
Viewer access follows your organisation's Power BI licence and workspace setup. Check with your Power BI admin.
Akses viewer mengikuti lisensi Power BI organisasi dan setup workspace. Konfirmasikan ke admin Power BI kamu.
Numbers are calculated in JavaScript, not DAX, so other reports can't reuse them without rebuilding them as measures.
Angka dihitung di JavaScript, bukan DAX, jadi report lain tidak bisa memakainya tanpa dibangun ulang sebagai measure.
Refresh runs on a schedule, not in real time. Check the refresh limit of your own licence or capacity.
Refresh berjalan terjadwal, bukan real-time. Cek batas refresh pada lisensi atau kapasitas kamu sendiri.
The whole dataset travels inside one text string. Long text fields are trimmed to keep the page fast.
Seluruh dataset dikirim di dalam satu string teks. Field teks panjang dipotong supaya halaman tetap cepat.
Answer three questions. If most answers are "Yes", this approach is a good fit.
Jawab tiga pertanyaan. Kalau sebagian besar "Ya", pendekatan ini cocok.
Do you need a custom, presentation-style layout, for example an org-chart tree or written summaries?
Apakah kamu butuh layout custom bergaya presentasi, misalnya pohon org chart atau ringkasan tertulis?
Is the data moderate in size (up to roughly tens of thousands of rows) and refreshed once or a few times a day?
Apakah datanya berukuran menengah (sampai kira-kira puluhan ribu baris) dan di-refresh sekali atau beberapa kali sehari?
Is it fine that the dashboard cannot be exported to PDF or PowerPoint?
Apakah tidak masalah kalau dashboard tidak bisa di-export ke PDF atau PowerPoint?
Most of the pipeline carries over. These are the steps for a new dataset.
Sebagian besar pipeline terbawa. Ini langkah-langkah untuk dataset baru.
Define the grain, required fields and business rules (KPI, target, hierarchy).
Tentukan grain, field wajib, dan aturan bisnis (KPI, target, hierarki).
Copy the template. Keep the scoping, the /*DATA*/ marker and the script wrapper; adjust field order and rendering.
Salin template. Pertahankan scoping, penanda /*DATA*/, dan pembungkus script; sesuaikan urutan field dan rendering.
Copy the data query; change the source connection, the alias map, the required list and the field order.
Salin query data; ubah koneksi sumber, alias map, daftar wajib, dan urutan field.
Reuse the template and timestamp queries unchanged, except the template path.
Pakai ulang query template dan timestamp tanpa perubahan, kecuali path template.
Reuse the measure; drop patches that don't apply.
Pakai ulang measure; buang patch yang tidak relevan.
Test in Desktop, publish, set credentials and schedule, then share.
Tes di Desktop, publish, atur kredensial dan jadwal, lalu bagikan.
Architecture, decisions, build gates and lessons come from the project's own BRD and solution reference, with company-specific details removed.
Arsitektur, keputusan, gate build, dan pelajaran berasal dari BRD dan solution reference proyek itu sendiri, dengan detail spesifik perusahaan dihapus.