Templat Data Perencanaan Produksi Anda
Templat Data Perencanaan Produksi Anda
- Atribut yang disarankan untuk dikumpulkan
- Aktivitas utama yang perlu dilacak
- Panduan ekstraksi data dari Microsoft Dynamics 365 Manufacturing
Atribut Perencanaan Produksi
| Nama | Deskripsi | ||
|---|---|---|---|
| Pesanan produksi ProductionOrderNumber | Pengenal unik untuk pesanan produksi. ID ini menjadi ID kasus utama untuk melacak seluruh aktivitas perencanaan dan pelaksanaan yang terkait. | ||
| Deskripsi Nomor Pesanan Produksi, yang sering disebut ProdId di Microsoft Dynamics 365, adalah pengenal utama yang menghubungkan semua peristiwa, bahan, sumber daya, dan biaya untuk satu pekerjaan manufaktur. Nomor ini memungkinkan analisis menyeluruh atas siklus perencanaan dan pelaksanaan produksi untuk satu pekerjaan. Dalam process mining, atribut ini penting untuk mengelompokkan peristiwa terkait ke dalam satu kasus. Analisis berdasarkan Nomor Pesanan Produksi membantu menemukan hambatan, keterlambatan, dan penyimpangan dari alur produksi standar, mulai dari pembuatan dan penjadwalan hingga penyelesaian dan penghitungan biaya. Mengapa ini penting Ini adalah pengenal utama kasus yang penting untuk mengelompokkan semua peristiwa terkait dan merekonstruksi seluruh proses perencanaan produksi untuk dianalisis. Sumber data Ini adalah kolom 'ProdId' di tabel 'ProdTable' pada Microsoft Dynamics 365 Manufacturing. Contoh WO-000456WO-000457WO-000458 | |||
| Nama aktivitas ActivityName | Nama peristiwa bisnis atau langkah tertentu yang terjadi dalam proses perencanaan produksi. | ||
| Deskripsi Nama Aktivitas menjelaskan satu langkah dalam siklus perencanaan produksi, seperti 'Pesanan produksi dibuat', 'Bahan diambil untuk produksi', atau 'Produksi dimulai'. Aktivitas ini menjadi bagian dasar peta proses. Dengan menganalisis urutan dan durasi aktivitas, Anda dapat memvisualisasikan alur proses, menemukan jalur yang umum, mendeteksi pengulangan pekerjaan, dan mengukur waktu di setiap tahap. Atribut ini penting untuk memahami apa yang terjadi pada setiap titik dalam proses. Mengapa ini penting Atribut ini menentukan langkah-langkah dalam proses. Dengan begitu, Anda dapat menyusun peta proses dan menganalisis alur, variasi, serta hambatan proses. Sumber data Nilai ini biasanya diambil dari log peristiwa atau diperoleh dengan memetakan berbagai perubahan status dan jenis transaksi di tabel seperti 'ProdRouteTrans', 'ProdJournalBOM', serta perubahan pada kolom status 'ProdTable'. Contoh Pesanan produksi dibuatPesanan produksi dirilisProduksi dimulaiProduksi dilaporkan selesai | |||
| Pembaruan data terakhir LastDataUpdate | Stempel waktu yang menunjukkan kapan data untuk peristiwa ini terakhir diperbarui atau diekstrak dari sistem sumber. | ||
| Deskripsi Atribut ini menunjukkan tanggal dan waktu pengambilan data terbaru dari sistem sumber. Sebagai kolom metadata, atribut ini penting untuk mengetahui seberapa baru data yang digunakan dalam analisis. Dengan mengetahui waktu pembaruan data terakhir, analis dan pengguna bisnis dapat menilai keandalan wawasan dari alat process mining. Informasi ini juga memperjelas apakah dashboard menampilkan data terkini atau data dari waktu sebelumnya, yang penting untuk pengambilan keputusan operasional. Mengapa ini penting Atribut ini penting untuk tata kelola data. Pengguna dapat mengetahui seberapa baru data yang digunakan dan menilai ketepatan waktu wawasan proses. Sumber data Stempel waktu ini dibuat dan ditambahkan ke setiap catatan selama proses ekstraksi, transformasi, dan pemuatan data (ETL). Contoh 2023-05-20T05:00:00Z2023-05-21T05:00:00Z | |||
| Sistem sumber SourceSystem | Sistem pencatatan asal tempat data diekstrak. | ||
| Deskripsi Atribut ini menunjukkan sistem informasi sumber tempat data peristiwa berasal. Untuk tampilan proses ini, nilainya akan selalu 'Microsoft Dynamics 365 Manufacturing'. Jika lingkungan Anda menggunakan beberapa sistem terintegrasi, kolom ini penting untuk melacak asal data, mengatasi masalah kualitas data, dan memahami kontribusi setiap sistem terhadap proses secara keseluruhan. Atribut ini memperjelas sumber data yang dianalisis. Mengapa ini penting Atribut ini memberikan konteks penting tentang asal data. Informasi tersebut diperlukan untuk tata kelola dan validasi data, serta pengelolaan alur data dari berbagai sistem perusahaan. Sumber data Tambahkan nilai statis ini saat mengekstrak dan mengubah data untuk menandai asal dataset. Contoh Microsoft Dynamics 365 ManufacturingD365 F&O | |||
| Waktu peristiwa EventTime | Stempel waktu yang menunjukkan secara tepat kapan aktivitas terjadi. | ||
| Deskripsi Waktu Peristiwa atau stempel waktu mencatat tanggal dan waktu persis saat suatu aktivitas berlangsung. Data ini menjadi dasar analisis process mining berbasis waktu, termasuk penghitungan waktu siklus, pencarian jeda antarlangkah, dan pemahaman kinerja proses dari waktu ke waktu. Dalam perencanaan produksi, atribut ini digunakan untuk mengukur durasi seperti waktu tunggu perencanaan, keterlambatan mulai produksi, dan total waktu pemenuhan pesanan. Stempel waktu yang akurat dan berurutan penting untuk membangun model proses yang tepat dan bermakna. Mengapa ini penting Stempel waktu ini penting untuk mengurutkan peristiwa, menghitung durasi antaraktivitas, dan menjalankan analisis berbasis waktu, seperti waktu siklus dan pencarian hambatan. Sumber data Data ini tersedia di berbagai tabel transaksi, misalnya 'createdDateTime' di 'ProdTable' atau kolom tanggal transaksi di 'ProdRouteTrans', 'ProdJournalRoute', dan 'ProdJournalBOM'. Contoh 2023-04-15T09:00:12Z2023-04-15T11:30:00Z2023-04-16T14:22:05Z | |||
| Jenis Produksi ProductionType | Klasifikasi perintah produksi, misalnya standar, pengerjaan ulang, atau berbasis proyek. | ||
| Deskripsi Jenis Produksi mengelompokkan perintah berdasarkan tujuannya. Contohnya, perintah 'Standard' digunakan untuk produksi stok rutin, 'Rework' untuk memperbaiki cacat pada barang yang sudah diproduksi, dan 'Project' untuk pekerjaan yang terkait dengan proyek pelanggan tertentu. Atribut ini penting untuk membuat tampilan analisis yang bisa dibandingkan. Proses untuk perintah pengerjaan ulang tentu berbeda dari proses standar. Dengan mengelompokkan analisis berdasarkan Jenis Produksi, Anda dapat membandingkan proses secara lebih tepat dan memahami tantangan serta alur kerja tiap jenis. Mengapa ini penting Atribut ini membantu mengelompokkan analisis. Jenis perintah seperti 'Standard' dan 'Rework' biasanya mengikuti proses yang berbeda dan memiliki ekspektasi kinerja masing-masing. Sumber data Ini adalah field 'ProdType' di tabel 'ProdTable'. Contoh StandarPengerjaan ulangProyek | |||
| Kuantitas Aktual ActualQuantity | Jumlah barang yang berhasil diproduksi dan dilaporkan selesai untuk perintah tersebut. | ||
| Deskripsi Kuantitas Aktual menunjukkan jumlah unit yang telah selesai diproduksi dan lolos pemeriksaan kualitas untuk suatu perintah produksi. Nilai ini dicatat saat produksi dilaporkan 'Reported as finished'. Atribut ini digunakan untuk menganalisis hasil produksi dan efisiensi. Dengan membandingkan Kuantitas Aktual dengan Kuantitas Terencana, Anda dapat menghitung tingkat barang sisa dan memahami kehilangan produksi. Nilai ini juga menjadi bagian penting dalam analisis throughput dan dasbor pemanfaatan kapasitas. Mengapa ini penting Nilai ini penting untuk menghitung hasil produksi, tingkat barang sisa, dan throughput aktual, serta memahami efisiensi dan kinerja manufaktur. Sumber data Nilai ini biasanya berasal dari field 'QtyGood' di tabel 'ProdTable' atau tabel pencatatan jurnal terkait saat perintah dilaporkan selesai. Contoh 100985000 | |||
| Nomor Produk ProductNumber | Pengenal unik untuk barang yang diproduksi. | ||
| Deskripsi Nomor Produk, atau ID Barang, menunjukkan barang jadi yang akan dibuat berdasarkan perintah produksi. Atribut ini menghubungkan proses produksi dengan produk tertentu, termasuk daftar bahan dan instruksi rutenya. Analisis proses berdasarkan Nomor Produk membantu menemukan perbedaan dalam siklus produksi tiap produk. Analisis ini dapat menunjukkan produk dengan waktu siklus lebih lama, lebih sering perlu dikerjakan ulang, atau lebih sering terlambat. Temuan tersebut dapat menjadi masukan bagi teknisi produk dan proses. Mengapa ini penting Atribut ini membantu menganalisis variasi proses berdasarkan produk yang dibuat, serta menemukan hambatan atau masalah kualitas yang khusus pada produk tertentu. Sumber data Ini adalah field 'ItemId' di tabel 'ProdTable'. Contoh FG-1001FG-2050ASSY-500B | |||
| Pabrik Produksi ProductionPlant | Lokasi atau pabrik tempat perintah produksi dijalankan. | ||
| Deskripsi Pabrik Produksi menunjukkan lokasi fisik atau fasilitas yang bertanggung jawab atas proses manufaktur. Atribut ini menjadi dimensi organisasi yang penting untuk mengelompokkan dan membandingkan kinerja produksi. Dalam process mining, atribut ini membantu membandingkan kinerja antar-pabrik. Analis dapat membandingkan waktu siklus, pemanfaatan sumber daya, dan kepatuhan terhadap proses standar di setiap lokasi untuk menemukan praktik terbaik atau fasilitas yang perlu diperbaiki. Atribut ini juga penting untuk menganalisis pemanfaatan kapasitas. Mengapa ini penting Atribut ini membantu membandingkan dan mengukur kinerja antar-lokasi manufaktur, sehingga praktik terbaik dan masalah khusus di tiap area dapat ditemukan. Sumber data Ini adalah field 'InventSiteId' di tabel 'ProdTable'. Contoh SITE-ASITE-BMain-WH | |||
| Pengguna UserId | ID pengguna yang melakukan atau bertanggung jawab atas aktivitas. | ||
| Deskripsi ID Pengguna menunjukkan karyawan atau akun sistem yang menjalankan langkah proses tertentu, seperti melepas perintah atau melaporkan penyelesaian. Informasi ini memperlihatkan siapa yang mengerjakan proses. Analisis proses berdasarkan pengguna membantu Anda memahami pembagian beban kerja, menemukan kebutuhan pelatihan, membandingkan kinerja antarindividu atau tim, serta menyelidiki penyimpangan yang dilakukan pengguna tertentu. Informasi ini juga penting untuk kepatuhan dan jejak audit. Mengapa ini penting Atribut ini memungkinkan analisis kinerja proses berdasarkan pengguna atau tim, membantu menemukan peluang otomatisasi, dan menyediakan jejak audit untuk aktivitas proses yang penting. Sumber data Tersedia di field seperti 'modifiedBy' atau 'createdBy' pada berbagai tabel, atau di field pengguna dalam tabel log transaksi seperti 'ProdJournalTable'. Contoh j.smithm.jonesAX_BATCH_SVC | |||
| Prioritas Produksi ProductionPriority | Nilai yang menunjukkan tingkat urgensi atau prioritas perintah produksi. | ||
| Deskripsi Perencana dan penjadwal menggunakan Prioritas Produksi untuk mengatur urutan pekerjaan di lantai produksi. Perintah berprioritas tinggi dapat dipercepat, sehingga berpotensi mengganggu jadwal perintah lainnya. Analisis atribut ini membantu Anda memahami seberapa sering rencana produksi terganggu oleh perintah berprioritas tinggi atau yang harus dipercepat. Perubahan prioritas selama siklus perintah dapat menunjukkan ketidakstabilan permintaan atau perencanaan. Atribut ini penting untuk dasbor 'Expedited Production Trends' dan KPI 'Expedited Production Rate'. Mengapa ini penting Atribut ini membantu mengetahui seberapa sering perintah dipercepat dan dampaknya. Hal tersebut dapat menunjukkan perencanaan yang tidak stabil atau pengelolaan operasional yang reaktif. Sumber data Field ini bisa berupa field standar atau khusus di 'ProdTable'. Konfigurasinya sering berbeda di tiap perusahaan. Contoh NormalTinggiMendesak | |||
| Status pesanan produksi ProductionOrderStatus | Menunjukkan status terkini pesanan produksi dalam siklusnya. | ||
| Deskripsi Status Pesanan Produksi menunjukkan kemajuan pesanan dalam siklus manufaktur. Status umum di Dynamics 365 mencakup Created, Estimated, Scheduled, Released, Started, Reported as finished, dan Ended. Atribut ini memberikan gambaran status setiap pesanan pada waktu tertentu. Dalam process mining, analisis perubahan status menjadi cara utama untuk menentukan aktivitas dan memahami alur proses. Anda dapat memfilter pesanan berdasarkan status tertentu, menganalisis waktu di setiap status, serta menemukan pesanan yang tertahan atau terlambat. Mengapa ini penting Atribut ini memberikan gambaran umum tentang kemajuan pesanan. Atribut ini penting untuk memfilter data, memeriksa kesesuaian proses, dan menganalisis waktu di berbagai tahap produksi. Sumber data Ini adalah kolom 'ProdStatus' di tabel 'ProdTable'. Contoh DijadwalkanDirilisDimulaiDitutup | |||
| Tanggal mulai yang direncanakan PlannedStartDate | Tanggal dan waktu yang dijadwalkan untuk memulai perintah produksi. | ||
| Deskripsi Tanggal Mulai Terencana menjadi salah satu hasil utama proses penjadwalan. Tanggal ini menunjukkan waktu yang ditargetkan untuk memulai kegiatan produksi suatu perintah. Penentuannya mempertimbangkan ketersediaan bahan, kapasitas sumber daya, dan tenggat permintaan. Atribut ini penting untuk menganalisis kepatuhan terhadap jadwal. Dengan membandingkan Tanggal Mulai Terencana dengan waktu mulai produksi yang sebenarnya (dari timestamp aktivitas 'Production Started'), organisasi dapat mengukur ketepatan waktu, mencari penyebab keterlambatan, dan menghitung KPI seperti Tingkat Kepatuhan terhadap Jadwal Produksi. Mengapa ini penting Tanggal ini menjadi acuan untuk mengukur kepatuhan terhadap jadwal dan menemukan keterlambatan antara perencanaan dan dimulainya produksi. Sumber data Ini adalah field 'SchedStart' di tabel 'ProdTable'. Contoh 2023-04-18T08:00:00Z2023-04-19T08:00:00Z2023-04-20T08:00:00Z | |||
| Tanggal Selesai Terencana PlannedEndDate | Tanggal dan waktu yang dijadwalkan untuk menyelesaikan perintah produksi. | ||
| Deskripsi Tanggal Selesai Terencana adalah waktu target penyelesaian perintah produksi yang ditetapkan oleh mesin penjadwalan. Perhitungannya mempertimbangkan waktu operasi, kalender sumber daya, dan waktu tunggu untuk memperkirakan kapan barang jadi siap. Dalam analisis proses, atribut ini penting untuk menilai kinerja penyelesaian tepat waktu. Dengan membandingkan Tanggal Selesai Terencana dengan timestamp penyelesaian aktual (dari aktivitas 'Production Reported As Finished' atau 'Production Order Ended'), Anda dapat menghitung KPI Tingkat Penyelesaian Produksi Tepat Waktu dan menemukan penyebab sistemis keterlambatan pengiriman. Mengapa ini penting Atribut ini menjadi acuan untuk mengukur tingkat penyelesaian tepat waktu dan menganalisis akurasi penjadwalan produksi. Sumber data Ini adalah field 'SchedEnd' di tabel 'ProdTable'. Contoh 2023-04-25T17:00:00Z2023-04-26T17:00:00Z2023-04-27T17:00:00Z | |||
| Jumlah Revisi ProductionOrderRevisionNumber | Jumlah perubahan yang dilakukan pada rencana produksi setelah pertama kali dibuat. | ||
| Deskripsi Atribut ini mencatat jumlah revisi atau perubahan penting pada perintah produksi, seperti perubahan kuantitas, tanggal, atau rute, setelah perintah dijadwalkan atau dirilis. Semakin tinggi nilainya, semakin tidak stabil rencana tersebut. Atribut ini menjadi ukuran langsung untuk KPI 'Production Plan Revision Rate'. Analisisnya membantu menemukan penyebab ketidakstabilan perencanaan, seperti perubahan permintaan yang sering atau rencana awal yang kurang akurat. Nilai ini mengukur banyaknya pekerjaan ulang dan upaya penjadwalan ulang yang sering menimbulkan inefisiensi. Mengapa ini penting Atribut ini mengukur kestabilan perencanaan secara langsung dan mendukung KPI 'Production Plan Revision Rate'. Nilainya membantu menemukan proses yang terlalu sering berubah dan memerlukan pengerjaan ulang. Sumber data Atribut ini dihitung dengan menghitung jumlah aktivitas 'Production Order Adjusted' untuk setiap kasus. Contoh 012 | |||
| Keterlambatan Awal Produksi ProductionStartDelay | Waktu yang berlalu antara pelepasan perintah dan dimulainya produksi. | ||
| Deskripsi Durasi hasil perhitungan ini mengukur waktu tunggu atau waktu antre di lantai produksi. Nilainya adalah selisih waktu antara aktivitas 'Production Order Released' dan 'Production Started'. KPI ini penting untuk dasbor 'Resource Allocation Delay Analysis' karena menunjukkan keterlambatan setelah perencanaan selesai dan perintah siap dijalankan. Nilai yang tinggi dapat menandakan masalah ketersediaan sumber daya, penyiapan bahan, atau aliran informasi ke lantai produksi. Temuan ini memberi sasaran yang jelas untuk perbaikan operasional. Mengapa ini penting Atribut ini mengukur dengan tepat keterlambatan antara kesiapan dan dimulainya produksi, sehingga hambatan terkait ketersediaan sumber daya atau kesiapan lantai produksi dapat ditemukan. Sumber data Ini adalah metrik hasil perhitungan: Timestamp('Production Started') - Timestamp('Production Order Released'). Contoh 0h 4j 15m1h 2j 0m0h 1j 30m | |||
| Ketersediaan Bahan MaterialAvailabilityStatus | Menunjukkan apakah bahan baku yang dibutuhkan untuk perintah produksi tersedia. | ||
| Deskripsi Atribut ini mencatat kesiapan komponen yang dibutuhkan untuk produksi. Statusnya dapat berupa 'Available', 'On Order', atau 'Shortage'. Informasi ini membantu penjadwal mengetahui apakah perintah produksi dapat dimulai sesuai rencana. Dalam process mining, atribut ini penting untuk mencari penyebab utama keterlambatan dimulainya produksi. Dengan menghubungkan status ini dengan waktu antara 'Production Order Released' dan 'Production Started', analis dapat mengukur dampak kekurangan bahan terhadap kepatuhan jadwal dan waktu siklus secara keseluruhan. Informasi ini mendukung dasbor 'Material Availability Delay Impact'. Mengapa ini penting Atribut ini membantu memahami dan mengukur keterlambatan awal produksi akibat kekurangan bahan, serta menghubungkan kinerja rantai pasok dengan efisiensi manufaktur. Sumber data Status ini biasanya tidak berasal dari satu field. Status dihitung dengan memeriksa jumlah stok tersedia untuk semua barang dalam daftar bahan (BOM) perintah produksi melalui tabel 'InventSum'. Contoh Tersedia SepenuhnyaKekurangan SebagianTidak Tersedia | |||
| Kuantitas Terencana PlannedQuantity | Jumlah barang yang direncanakan untuk diproduksi. | ||
| Deskripsi Kuantitas Terencana adalah jumlah unit yang ditargetkan untuk diproduksi berdasarkan suatu perintah produksi. Jumlah ini biasanya ditentukan oleh permintaan dari pesanan penjualan, kebutuhan stok pengaman, atau perencanaan induk. Atribut ini menjadi acuan untuk metrik kinerja seperti hasil produksi dan barang sisa. Dengan membandingkan Kuantitas Terencana dengan Kuantitas Aktual, perencana dapat memantau efisiensi produksi dan selisih penggunaan bahan. Data ini juga menjadi dasar perencanaan kapasitas dan kebutuhan bahan. Mengapa ini penting Kuantitas ini menjadi acuan untuk mengukur hasil produksi dan tingkat barang sisa dengan membandingkannya dengan jumlah aktual yang diproduksi. Sumber data Ini adalah field 'QtySched' di tabel 'ProdTable'. Contoh 1005000250 | |||
| Lini Produksi ProductionLine | Lini produksi, pusat kerja, atau kelompok sumber daya tertentu yang ditetapkan untuk perintah produksi. | ||
| Deskripsi Lini Produksi menunjukkan mesin, sel kerja, atau kelompok sumber daya tertentu yang menjalankan operasi manufaktur. Atribut ini memberikan detail yang lebih spesifik daripada Pabrik Produksi. Analisis proses berdasarkan Lini Produksi penting untuk mengukur kapasitas dan pemanfaatan secara terperinci. Analisis ini membantu menemukan pusat kerja yang kelebihan beban, membandingkan efisiensi lini yang membuat produk sama, dan mengidentifikasi hambatan pada sumber daya tertentu yang mungkin tidak terlihat di tingkat pabrik. Mengapa ini penting Atribut ini memungkinkan analisis terperinci atas pemanfaatan dan kinerja sumber daya, serta membantu menemukan pusat kerja yang kelebihan beban atau lini yang tidak efisien. Sumber data Informasi ini biasanya tersedia di field 'WrkCtrId' dalam transaksi rute produksi (tabel 'ProdRoute' atau 'ProdRouteTrans'). Contoh LINE-01LINE-02CNC-A | |||
| Mulai Tepat Waktu ProductionScheduleAdherence | Penanda boolean bernilai true jika perintah produksi dimulai pada atau sebelum tanggal mulai yang direncanakan. | ||
| Deskripsi Atribut hasil perhitungan ini memberikan indikator sederhana, dengan dua kemungkinan nilai, untuk menunjukkan kepatuhan jadwal awal produksi. Atribut ini membandingkan timestamp mulai aktual (aktivitas 'Production Started') dengan atribut 'PlannedStartDate'. Penanda ini sangat berguna untuk membuat dasbor dan KPI yang jelas, seperti 'Production Schedule Adherence Rate'. Anda dapat memfilter dan mengelompokkan data dengan mudah untuk melihat persentase perintah yang dimulai tepat waktu dan menganalisis ciri-ciri perintah yang terlambat, tanpa perlu membandingkan tanggal langsung di alat analisis. Mengapa ini penting Atribut ini menyederhanakan pelaporan dan penghitungan KPI kepatuhan jadwal. Anda dapat dengan mudah memfilter dan mengelompokkan perintah yang dimulai tepat waktu maupun terlambat. Sumber data Ini adalah metrik hasil perhitungan. Logikanya: EventTime 'Production Started' <= PlannedStartDate. Contoh truefalse | |||
| Nomor Perintah Kualitas QualityOrderNumber | Pengenal perintah pemeriksaan kualitas yang terkait dengan perintah produksi. | ||
| Deskripsi Jika pemeriksaan kualitas diperlukan, Dynamics 365 biasanya membuat Quality Order. Atribut ini menghubungkan proses produksi dengan proses penjaminan kualitas dan mencatat ID perintah kualitas terkait. Hubungan ini memberikan gambaran proses menyeluruh yang mencakup langkah pengelolaan kualitas. Anda dapat menganalisis dampak pemeriksaan kualitas terhadap waktu tunggu produksi, menemukan keterlambatan dalam proses kualitas, dan memahami frekuensi pemeriksaan untuk produk atau lini produksi yang berbeda. Mengapa ini penting Atribut ini menghubungkan proses produksi dengan proses penjaminan kualitas, sehingga dampak pemeriksaan kualitas terhadap keseluruhan waktu tunggu dapat dianalisis. Sumber data Informasi ini disimpan dalam tabel pengelolaan kualitas (misalnya, 'InventQualityOrderTable') dan perlu dihubungkan kembali ke perintah produksi. Contoh QO-00123QO-00124QO-00125 | |||
| Waktu Selesai EndTime | Timestamp yang menunjukkan dengan tepat kapan aktivitas selesai. | ||
| Deskripsi Waktu Selesai menandai berakhirnya suatu aktivitas. Waktu Mulai menunjukkan kapan aktivitas dimulai, sedangkan Waktu Selesai diperlukan untuk mengetahui durasi atau waktu pemrosesan langkah tersebut. Dalam process mining, data Waktu Mulai dan Waktu Selesai untuk aktivitas memungkinkan analisis waktu tunggu dan waktu pemrosesan yang lebih terperinci. Data ini membantu membedakan waktu saat aktivitas benar-benar dikerjakan dari waktu tunggu sebelum langkah berikutnya dimulai. Perbedaan ini penting untuk menganalisis hambatan secara mendalam. Mengapa ini penting Atribut ini membantu menghitung waktu pemrosesan aktivitas dan membedakannya dari waktu tunggu, sehingga analisis hambatan lebih akurat. Sumber data Nilai ini sering dihitung dari data lain. Misalnya, waktu selesai 'Production Started' dapat menggunakan waktu mulai 'Operation Completed'. Beberapa log mencatat timestamp selesai secara langsung. Contoh 2023-04-15T09:30:45Z2023-04-15T12:00:00Z2023-04-16T15:00:10Z | |||
Aktivitas Perencanaan Produksi
| Aktivitas | Deskripsi | ||
|---|---|---|---|
| Pesanan produksi dibuat | Aktivitas ini menandai pembuatan pesanan produksi yang menetapkan kebutuhan untuk memproduksi sejumlah produk tertentu. Biasanya, aktivitas ini tercatat saat pesanan produksi terencana ditetapkan, sehingga sistem membuat catatan resmi dengan ID unik. | ||
| Mengapa ini penting Ini adalah peristiwa awal utama dalam proses produksi. Dengan menganalisis waktu dari pembuatan pesanan hingga langkah berikutnya, Anda dapat mengukur waktu tunggu dan efisiensi perencanaan secara keseluruhan. Sumber data Peristiwa ini disimpulkan dari stempel waktu pembuatan catatan pesanan produksi di ProdTable. Status awal biasanya 'Created'. Pengumpulan data Catat stempel waktu pembuatan entri baru di ProdTable saat ProdStatus bernilai 'Created'. Jenis peristiwa inferred | |||
| Pesanan produksi dijadwalkan | Aktivitas ini menandai penjadwalan pesanan produksi, yang menetapkan sumber daya, tanggal, dan waktu untuk operasionalnya. Langkah ini dapat mencakup penjadwalan operasional atau penjadwalan pekerjaan yang lebih terperinci. | ||
| Mengapa ini penting Penjadwalan penting untuk perencanaan kapasitas dan pengelolaan sumber daya. Dengan menganalisis waktu yang diperlukan untuk menjadwalkan pesanan dan jeda sebelum pesanan dirilis, Anda dapat menemukan kendala perencanaan dan kapasitas. Sumber data Aktivitas ini tercatat saat status pesanan produksi di ProdTable berubah menjadi 'Scheduled'. Perubahan ini dipicu saat pengguna menjalankan fungsi penjadwalan. Pengumpulan data Deteksi stempel waktu saat kolom ProdStatus di ProdTable berubah menjadi 'Scheduled'. Jenis peristiwa inferred | |||
| Pesanan produksi dirilis | Aktivitas ini menandakan bahwa pesanan produksi telah disetujui dan diizinkan untuk dijalankan di lantai produksi. Ini adalah pencapaian penting yang memicu penerbitan dokumen seperti kartu kerja dan kartu rute. | ||
| Mengapa ini penting Ini adalah serah terima resmi dari perencanaan ke pelaksanaan. Jeda antara 'Scheduled' dan 'Released' dapat menunjukkan keterlambatan persetujuan atau pemeriksaan akhir. Sementara itu, waktu dari 'Released' hingga 'Started' menunjukkan kesiapan lantai produksi. Sumber data Aktivitas ini tercatat saat status pesanan produksi di ProdTable berubah menjadi 'Released'. Perubahan ini dipicu oleh tindakan pengguna, baik manual maupun otomatis. Pengumpulan data Deteksi stempel waktu saat kolom ProdStatus di ProdTable berubah menjadi 'Released'. Jenis peristiwa inferred | |||
| Pesanan produksi ditutup | Ini adalah aktivitas terakhir yang menandai penutupan keuangan pesanan produksi. Semua biaya telah dihitung dan diposting, dan tidak ada transaksi lain yang dapat dilakukan untuk pesanan tersebut. | ||
| Mengapa ini penting Peristiwa ini menandai selesainya pesanan dari sisi fisik maupun keuangan. Jeda antara 'Reported as Finished' dan 'Ended' dapat menunjukkan masalah dalam akuntansi biaya atau proses penutupan keuangan. Sumber data Perubahan status terakhir ini tercatat saat kolom 'ProdStatus' di 'ProdTable' diatur menjadi 'Ended'. Perubahan ini dipicu dengan menjalankan penghitungan biaya dan menutup pesanan. Pengumpulan data Deteksi stempel waktu saat kolom ProdStatus di ProdTable berubah menjadi 'Ended'. Jenis peristiwa inferred | |||
| Produksi dilaporkan selesai | Menandakan bahwa proses manufaktur untuk jumlah produk yang ditentukan telah selesai secara fisik dan barang jadi kini tersedia dalam persediaan. Pembaruan status penting ini memicu transaksi persediaan. | ||
| Mengapa ini penting Peristiwa ini menandai berakhirnya produksi fisik. Informasi ini penting untuk menghitung tingkat penyelesaian tepat waktu, durasi produksi aktual, dan hasil produksi. Sumber data Aktivitas ini tercatat saat status pesanan produksi di ProdTable berubah menjadi 'Reported as finished'. Perubahan ini dipicu oleh posting jurnal Report as Finished. Pengumpulan data Deteksi stempel waktu saat kolom ProdStatus di ProdTable berubah menjadi 'Reported as finished'. Jenis peristiwa inferred | |||
| Produksi dimulai | Menandai dimulainya pekerjaan produksi fisik untuk pesanan di lantai produksi. Biasanya, aktivitas ini tercatat saat operasi atau pekerjaan pertama dimulai melalui terminal lantai produksi atau posting jurnal. | ||
| Mengapa ini penting Aktivitas ini memberikan waktu mulai produksi yang sebenarnya. Informasi ini penting untuk menghitung keterlambatan mulai, kepatuhan terhadap jadwal, dan waktu tunggu aktual. Sumber data Aktivitas ini tercatat saat status pesanan produksi di ProdTable berubah menjadi 'Started'. Biasanya, perubahan ini dipicu oleh posting jurnal kartu kerja atau kartu rute untuk operasi pertama. Pengumpulan data Deteksi stempel waktu saat kolom ProdStatus di ProdTable berubah menjadi 'Started'. Jenis peristiwa inferred | |||
| Bahan diambil untuk produksi | Menandakan bahwa bahan baku untuk pesanan produksi sudah diambil dari gudang dan siap digunakan. Peristiwa ini dicatat setelah pekerjaan pengambilan bahan baku selesai atau jurnal daftar pengambilan diposting. | ||
| Mengapa ini penting Aktivitas ini merupakan prasyarat penting untuk memulai produksi. Jeda antara penjadwalan dan pengambilan bahan dapat menunjukkan masalah dalam operasional gudang atau ketersediaan bahan. Sumber data Biasanya, peristiwa ini tercatat secara langsung di tabel manajemen gudang (WHSWorkTable) atau jurnal persediaan (InventJournalTrans) yang terkait dengan pesanan produksi. Pengumpulan data Catat stempel waktu posting jurnal daftar pengambilan yang terkait dengan pesanan produksi. Jenis peristiwa explicit | |||
| Biaya pesanan produksi dihitung | Aktivitas ini menunjukkan penghitungan perkiraan konsumsi bahan dan biaya untuk pesanan produksi. Ini merupakan langkah penting dalam perencanaan untuk memastikan kebutuhan biaya dan bahan sudah diketahui sebelum proses dilanjutkan. | ||
| Mengapa ini penting Keterlambatan penghitungan perkiraan dapat menjadi hambatan besar dalam tahap perencanaan. Dengan melacak aktivitas ini, Anda dapat menemukan inefisiensi dalam proses perencanaan biaya dan bahan. Sumber data Aktivitas ini tercatat saat status pesanan produksi di ProdTable berubah menjadi 'Estimated'. Perubahan ini dipicu saat pengguna menjalankan fungsi 'Estimate' pada pesanan. Pengumpulan data Deteksi stempel waktu saat kolom ProdStatus di ProdTable berubah menjadi 'Estimated'. Jenis peristiwa inferred | |||
| Operasi selesai | Aktivitas ini menandakan selesainya satu operasi atau langkah dalam rute produksi. Satu pesanan produksi biasanya memiliki beberapa peristiwa seperti ini. | ||
| Mengapa ini penting Dengan menganalisis waktu antaroperasi, Anda dapat menemukan hambatan di dalam proses produksi. Analisis ini memberikan gambaran alur kerja di lantai produksi secara lebih terperinci. Sumber data Peristiwa ini tercatat secara langsung saat jurnal kartu rute (ProdJournalRoute) untuk setiap operasi diposting, yang menandakan langkah tersebut telah selesai. Pengumpulan data Catat stempel waktu posting setiap catatan ProdJournalRoute yang terkait dengan pesanan produksi. Jenis peristiwa explicit | |||
| Pemeriksaan kualitas lulus | Menunjukkan bahwa pesanan kualitas yang terkait dengan proses produksi telah selesai dan dinyatakan lulus. Ini memastikan barang yang diproduksi memenuhi standar kualitas yang ditetapkan. | ||
| Mengapa ini penting Ini adalah pencapaian penting dalam proses kualitas. Durasi dari pembuatan pesanan kualitas hingga pemeriksaan dinyatakan lulus menunjukkan efisiensi tim QA. Sumber data Disimpulkan dari perubahan status catatan InventQualityOrderTable menjadi 'Pass'. Nilai status yang digunakan dapat berbeda. Pengumpulan data Deteksi stempel waktu saat status pada catatan InventQualityOrderTable terkait diperbarui menjadi 'Pass'. Jenis peristiwa inferred | |||
| Pesanan kualitas dibuat | Pesanan kualitas dibuat untuk memeriksa hasil pesanan produksi. Peristiwa ini menandai dimulainya proses jaminan kualitas untuk barang yang diproduksi. | ||
| Mengapa ini penting Melacak proses kualitas penting untuk memahami total waktu tunggu. Keterlambatan pemeriksaan kualitas dapat menghambat pengiriman barang atau penggunaannya dalam proses berikutnya. Sumber data Peristiwa ini tercatat secara langsung saat catatan dibuat di InventQualityOrderTable dan merujuk pada pesanan produksi sumber. Pengumpulan data Catat stempel waktu pembuatan pesanan kualitas di InventQualityOrderTable yang terkait dengan ID pesanan produksi. Jenis peristiwa explicit | |||
| Pesanan produksi dibatalkan | Menunjukkan pembatalan pesanan produksi sebelum selesai. Ini merupakan akhir proses alternatif yang tidak berhasil. | ||
| Mengapa ini penting Melacak pembatalan membantu menemukan penyebab kegagalan proses, seperti perubahan permintaan atau kesalahan perencanaan. Tingkat pembatalan yang tinggi dapat menunjukkan masalah sistemik. Sumber data Ini adalah kondisi akhir alternatif yang disimpulkan dari perubahan status. Status pastinya dapat berbeda, tetapi biasanya pesanan dikembalikan ke status sebelumnya lalu ditandai sebagai dibatalkan. Pengumpulan data Deteksi perubahan status yang menandakan pembatalan. Analisis sistem tertentu mungkin diperlukan untuk menemukannya. Jenis peristiwa inferred | |||
| Pesanan produksi disesuaikan | Menunjukkan perubahan penting pada pesanan produksi setelah dirilis, seperti perubahan jumlah atau tanggal. Peristiwa ini disimpulkan dengan membandingkan kolom-kolom penting sebelum dan sesudah perubahan. | ||
| Mengapa ini penting Penyesuaian yang sering terjadi menunjukkan perencanaan yang tidak stabil atau permintaan yang berubah-ubah, sehingga menimbulkan inefisiensi dan pekerjaan ulang. Data ini membantu mengukur frekuensi dan dampak perubahan tersebut. Sumber data Disimpulkan dengan menganalisis log perubahan atau membandingkan rekam ProdTable, misalnya pada kolom 'QtySched' atau 'SchedEnd', setelah status pesanan menjadi 'Released'. Pengumpulan data Temukan perubahan pada kolom penting di ProdTable, seperti jumlah atau tanggal, setelah stempel waktu peristiwa 'Released'. Jenis peristiwa calculated | |||
Panduan Ekstraksi
Langkah
- Buka ruang kerja Data Management: Masuk ke Microsoft Dynamics 365 Finance and Operations. Gunakan bilah pencarian untuk menemukan dan membuka ruang kerja
Data management. - Buat proyek ekspor baru: Di ruang kerja tersebut, pilih ubin
Exportuntuk membuat proyek ekspor data. Beri nama yang jelas, misalnyaProcessMind_Production_Orders. - Pilih format file ekspor: Di konfigurasi proyek, pilih format data yang diinginkan, seperti CSV atau Excel. Atur opsi
Entitydan tentukan detail formatnya. CSV disarankan karena kinerjanya baik dan kompatibel dengan berbagai alat. - Tambahkan entitas data yang diperlukan: Tambahkan entitas data yang diperlukan untuk mencatat semua peristiwa pesanan produksi. Tambahkan setiap entitas berikut:
Pesanan produksi,Production order route transactions,Inventory quality orders, danProduction picking list journal lines. Untuk setiap entitas, pilih semua kolom yang relevan seperti dijelaskan di bagian kueri. - Terapkan filter data: Gunakan opsi
Filterpada setiap entitas untuk membatasi cakupan ekspor. Minimal, filter berdasarkanCompanyagar entitas legal yang tepat terpilih. Sebaiknya tambahkan filter rentang tanggal pada kolom tanggal utama, sepertiCreation datedi entitasPesanan produksi, agar volume data tetap terkendali. Contohnya, pilih 6 bulan terakhir. - Atur ekspor inkremental (opsional): Untuk analisis berkelanjutan, atur proyek agar mengekspor data secara inkremental. Anda dapat melakukannya dengan melacak perubahan pada entitas sumber. Dengan begitu, hanya catatan baru atau yang berubah sejak ekspor terakhir yang diambil, sehingga waktu ekspor berkurang.
- Jalankan tugas ekspor: Setelah konfigurasi proyek selesai, mulai ekspor dengan mengeklik
Exportdi panel tindakan. Anda dapat langsung menjalankannya atau menjadwalkannya sebagai tugas batch berulang. - Unduh file hasil ekspor: Setelah tugas ekspor berhasil, buka riwayat tugas. Unduh paket ZIP yang berisi file data terpisah untuk setiap entitas yang disertakan.
- Ubah data menjadi log peristiwa: File hasil ekspor berisi data tabel mentah, bukan log peristiwa yang sudah diformat. Gunakan alat eksternal, seperti skrip Python, Power Query di Excel atau Power BI, maupun alat ETL, untuk mengolah dan menggabungkan data dari file-file tersebut. Terapkan logika transformasi yang dijelaskan di bagian kueri untuk mengubah kolom tanggal dan status dari berbagai entitas menjadi satu file log peristiwa dengan satu baris untuk setiap aktivitas.
- Susun log peristiwa akhir: Pastikan file CSV hasil transformasi memiliki kolom yang diperlukan:
ProductionOrderNumber,ActivityName,EventTime,SourceSystem, danLastDataUpdate, serta atribut lain yang disarankan. File harus memiliki baris header dan siap diunggah ke ProcessMind.
Konfigurasi
- Entitas data utama: Ekstraksi ini mengandalkan ekspor beberapa entitas yang nantinya digabungkan. Entitas utamanya adalah
Pesanan produksi(ProdTable),Production order route transactions(ProdRouteTrans), danInventory quality orders(InventQualityOrderTable). - Filter rentang tanggal: Untuk mengendalikan volume data, selalu terapkan filter tanggal. Sebaiknya filter entitas
Pesanan produksiberdasarkanCreation date(CREATEDDATETIME) untuk 3 hingga 6 bulan terakhir. Dengan begitu, Anda memperoleh data proses terbaru yang lengkap tanpa membebani sistem. - Filter perusahaan: Tetapkan filter untuk perusahaan atau entitas legal tertentu yang ingin Anda analisis. Gunakan opsi
Filterpada setiap entitas di proyek ekspor. - Ekspor penuh atau inkremental: Ekstraksi awal harus mencakup seluruh data. Untuk pembaruan berikutnya, sebaiknya aktifkan pelacakan perubahan pada entitas dan lakukan ekspor inkremental. Cara ini meningkatkan kinerja dan mengurangi beban data.
- Prasyarat: Pengguna yang menjalankan ekspor harus memiliki peran keamanan yang sesuai, biasanya
Data management administrator, atau peran lain yang memberi izin untuk mengakses entitas data yang diperlukan.
Contoh kueri sql
/*
This is not a runnable script but a configuration and transformation plan for the Dynamics 365 Data Management Framework.
**Step 1: Configure the Export Project**
Export the following entities with the specified fields:
1. **Entity: Production orders (ProdTable)**
* `ProductionOrderNumber` (PRODID)
* `ProductionOrderStatus` (PRODSTATUS)
* `CreationDate` (CREATEDDATETIME)
* `LastUpdateDateStatusEstimate` (LASTUPDATEDATESTATUSESTIMATE)
* `LastUpdateDateStatusScheduled` (LASTUPDATEDATESTATUSSCHEDULED)
* `ReleaseDate` (RELEASEDATETIME)
* `StartDate` (STARTEDDATETIME)
* `ReportedFinishedDate` (REPORTEDFINISHEDDATETIME)
* `LastUpdateDateStatusEnded` (LASTUPDATEDATESTATUSENDED)
* `ModifiedDateTime` (MODIFIEDDATETIME)
* `CreatedByUser` (CREATEDBY)
* `ProductionSite` (INVENTSITEID)
* `ProductNumber` (ITEMID)
* `ProductionType` (PRODTYPE)
* `Quantity` (QTYsched)
* `ActualQuantity` (QTYCALC)
* `DeliveryDate` (DLVDATE)
2. **Entity: Production order route transactions (ProdRouteTrans)**
* `ProductionOrderNumber` (PRODID)
* `OperationNumber` (OPRNUM)
* `TransactionDate` (TRANSDATE)
* `TransactionTime` (TRANSTIME)
* `CreatedDateTime` (CREATEDDATETIME)
* `CreatedByUser` (CREATEDBY)
3. **Entity: Inventory quality orders (InventQualityOrderTable)**
* `QualityOrderNumber` (INVENTQUALITYORDERID)
* `ReferenceType` (REFTYPE)
* `ReferenceNumber` (PRODID)
* `QualityOrderStatus` (STATUS)
* `CreationDate` (CREATEDDATETIME)
* `ModifiedDateTime` (MODIFIEDDATETIME)
4. **Entity: Production picking list journal lines (ProdJournalBOM)**
* `JournalId` (JOURNALID)
* `ProductionOrderNumber` (PRODID)
* `PostedDateTime` (POSTEDDATETIME)
* `CreatedByUser` (CREATEDBY)
**Step 2: Apply Transformation Logic (Post-Export)**
Use a script or ETL tool to transform the exported files into a single event log CSV. For each row in the source files, generate events as described below.
*/
-- Production Order Created
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Created' AS ActivityName,
CREATEDDATETIME AS EventTime,
PRODSTATUS AS ProductionOrderStatus,
DLVDATE AS PlannedStartDate,
-- [Logic to calculate PlannedEndDate] AS PlannedEndDate,
CREATEDBY AS UserId,
INVENTSITEID AS ProductionPlant,
ITEMID AS ProductNumber,
PRODTYPE AS ProductionType,
QTYCALC AS ActualQuantity,
-- [Your field for Production Priority] AS ProductionPriority
FROM ProdTable
WHERE CREATEDDATETIME IS NOT NULL
UNION ALL
-- Production Order Estimated
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Estimated' AS ActivityName,
LASTUPDATEDATESTATUSESTIMATE AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE LASTUPDATEDATESTATUSESTIMATE IS NOT NULL
UNION ALL
-- Production Order Scheduled
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Scheduled' AS ActivityName,
LASTUPDATEDATESTATUSSCHEDULED AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE LASTUPDATEDATESTATUSSCHEDULED IS NOT NULL
UNION ALL
-- Materials Picked For Production (based on the first picking list journal posting)
SELECT
PRODID AS ProductionOrderNumber,
'Materials Picked For Production' AS ActivityName,
MIN(POSTEDDATETIME) AS EventTime, -- Use the earliest posting time for a given order
-- Other attributes from ProdTable...
FROM ProdJournalBOM
WHERE POSTEDDATETIME IS NOT NULL
GROUP BY PRODID
UNION ALL
-- Production Order Released
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Released' AS ActivityName,
RELEASEDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE RELEASEDATETIME IS NOT NULL
UNION ALL
-- Production Order Adjusted (inferred from modification after release)
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Adjusted' AS ActivityName,
MODIFIEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE MODIFIEDDATETIME > RELEASEDATETIME AND PRODSTATUS NOT IN ('Ended', 'Cancelled') -- Example logic
UNION ALL
-- Production Started
SELECT
PRODID AS ProductionOrderNumber,
'Production Started' AS ActivityName,
STARTEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE STARTEDDATETIME IS NOT NULL
UNION ALL
-- Operation Completed
SELECT
PRODID AS ProductionOrderNumber,
'Operation Completed' AS ActivityName,
CREATEDDATETIME AS EventTime,
-- Other attributes from ProdTable linked on PRODID...
FROM ProdRouteTrans
WHERE CREATEDDATETIME IS NOT NULL
UNION ALL
-- Production Reported As Finished
SELECT
PRODID AS ProductionOrderNumber,
'Production Reported As Finished' AS ActivityName,
REPORTEDFINISHEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE REPORTEDFINISHEDDATETIME IS NOT NULL
UNION ALL
-- Quality Order Generated
SELECT
PRODID AS ProductionOrderNumber,
'Quality Order Generated' AS ActivityName,
CREATEDDATETIME AS EventTime,
-- Other attributes from ProdTable linked on PRODID...
FROM InventQualityOrderTable
WHERE REFTYPE = 'Production' AND CREATEDDATETIME IS NOT NULL
UNION ALL
-- Quality Inspection Passed
SELECT
PRODID AS ProductionOrderNumber,
'Quality Inspection Passed' AS ActivityName,
MODIFIEDDATETIME AS EventTime,
-- Other attributes from ProdTable linked on PRODID...
FROM InventQualityOrderTable
WHERE REFTYPE = 'Production' AND STATUS = 'Pass' AND MODIFIEDDATETIME IS NOT NULL
UNION ALL
-- Production Order Ended
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Ended' AS ActivityName,
LASTUPDATEDATESTATUSENDED AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE LASTUPDATEDATESTATUSENDED IS NOT NULL
UNION ALL
-- Production Order Cancelled
SELECT
PRODID AS ProductionOrderNumber,
'Production Order Cancelled' AS ActivityName,
MODIFIEDDATETIME AS EventTime,
-- Other attributes from ProdTable...
FROM ProdTable
WHERE PRODSTATUS = 'Stopped' -- Or the equivalent 'Cancelled' status enum value in your system Langkah
- Konfigurasikan BYOD di Dynamics 365: Pastikan fitur 'Bring your own database' telah dikonfigurasikan di lingkungan Dynamics 365 Finance and Operations Anda. Langkah ini mencakup penyiapan Azure SQL Database dan konfigurasi ekspor data dari Dynamics 365.
- Terbitkan entitas yang diperlukan: Dari ruang kerja 'Data management', buka 'Data entities'. Cari dan terbitkan entitas utama berikut ke database BYOD Anda: ProdTable, ProdRouteTrans, InventPickingListJour, dan InventQualityOrderTable. Pastikan entitas dikonfigurasikan untuk ekspor berulang.
- Periksa sinkronisasi data: Pastikan data dari entitas yang diterbitkan tersinkron secara berkala ke Azure SQL Database tujuan. Periksa riwayat tugas ekspor untuk mengetahui adanya kesalahan.
- Sambungkan ke database BYOD: Gunakan klien SQL, seperti SQL Server Management Studio (SSMS) atau Azure Data Studio, untuk menyambungkan ke Azure SQL Database tempat data Dynamics 365 Anda disimpan.
- Siapkan kueri SQL: Buka jendela kueri baru. Salin kueri SQL lengkap yang disediakan dalam dokumen ini.
- Atur parameter kueri: Temukan variabel penanda di dalam kueri. Ganti '{StartDate}', '{EndDate}', dan '{CompanyCode}' dengan rentang tanggal yang diinginkan serta DataAreaId perusahaan yang akan dianalisis.
- Jalankan kueri: Jalankan kueri SQL yang telah diubah pada database BYOD. Waktu eksekusi bergantung pada volume data dan rentang tanggal yang ditentukan.
- Tinjau hasil: Setelah kueri selesai, periksa apakah hasilnya memuat kolom dan data yang diharapkan untuk semua aktivitas yang diekstrak. Hasil kueri ini menjadi log peristiwa.
- Ekspor log peristiwa: Ekspor hasil kueri ke file CSV. Sebagian besar klien SQL menyediakan fungsi bawaan untuk menyimpan hasil langsung ke file.
- Siapkan format untuk ProcessMind: Pastikan file CSV yang diekspor menggunakan encoding UTF-8 dan judul kolomnya sesuai dengan nama atribut yang dibutuhkan ProcessMind, seperti CaseId, Activity, dan Timestamp. Kueri yang disediakan sudah menggunakan alias yang benar.
Konfigurasi
- Entitas data utama: Kueri ini mengandalkan ekspor entitas berikut ke instans BYOD Anda:
PRODTABLE: Berisi informasi utama dan status pesanan produksi.PRODROUTETRANS: Berisi detail operasi produksi dan penyelesaiannya.INVENTPICKINGLISTJOUR: Mencatat pengambilan bahan untuk pesanan produksi.INVENTQUALITYORDERTABLE: Melacak pesanan pemeriksaan kualitas yang terkait dengan produksi.
- Rentang tanggal: Sebaiknya mulai dengan rentang terbatas, misalnya data 3 hingga 6 bulan, agar kinerja kueri tetap terkendali. Kueri menggunakan tanggal pembuatan pesanan produksi (
CREATEDDATETIMEdariPRODTABLE) sebagai filter. - Filter kode perusahaan: Kolom
DATAREAIDdigunakan untuk memfilter data berdasarkan badan hukum atau perusahaan tertentu. Ganti penanda'{CompanyCode}'dengan ID yang sesuai, misalnya 'usmf'. - Prasyarat: Metode ini memerlukan akses administrator sistem ke Dynamics 365 Finance and Operations untuk mengonfigurasikan BYOD, serta izin Contributor pada Azure SQL Database untuk menjalankan kueri.
- Kinerja: Jika data mencakup banyak tahun atau perusahaan, jalankan kueri di luar jam sibuk. Anda juga dapat mengekstrak data dalam rentang waktu yang lebih kecil, lalu menggabungkan hasilnya.
Contoh kueri sql
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Created' AS ActivityName,
p.CREATEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYCALC AS ActualQuantity, -- Using calculated quantity at creation
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Estimated' AS ActivityName,
p.COSTCALCDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYCALC AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.COSTCALCDATETIME IS NOT NULL AND p.PRODSTATUS >= 2 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Scheduled' AS ActivityName,
p.SCHEDDATE AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYCALC AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.SCHEDDATE IS NOT NULL AND p.PRODSTATUS >= 3 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Materials Picked For Production' AS ActivityName,
pl.LEDGERVOUCHERPOSTEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
pl.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM INVENTPICKINGLISTJOUR pl
JOIN PRODTABLE p ON pl.INVENTREFID = p.PRODID AND pl.DATAREAID = p.DATAREAID
WHERE pl.LEDGERVOUCHERPOSTEDDATETIME IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Released' AS ActivityName,
p.RELEASEDATE AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.RELEASEDATE IS NOT NULL AND p.PRODSTATUS >= 4 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Adjusted' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.RELEASEDATE IS NOT NULL AND p.MODIFIEDDATETIME > p.RELEASEDATE AND p.PRODSTATUS IN (4, 5) AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Started' AS ActivityName,
p.STARTEDUPDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.STARTEDUPDATETIME IS NOT NULL AND p.PRODSTATUS >= 5 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
prt.PRODID AS ProductionOrderNumber,
'Operation Completed' AS ActivityName,
prt.TRANSDATE AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
prt.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODROUTETRANS prt
JOIN PRODTABLE p ON prt.PRODID = p.PRODID AND prt.DATAREAID = p.DATAREAID
WHERE prt.POSTINGTYPE = 8 AND prt.TRANSDATE IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Reported As Finished' AS ActivityName,
p.LASTUPDDATEPRINT AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.PRODSTATUS = 6 AND p.LASTUPDDATEPRINT IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Quality Order Generated' AS ActivityName,
qo.CREATEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
qo.CREATEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM INVENTQUALITYORDERTABLE qo
JOIN PRODTABLE p ON qo.INVENTREFID = p.PRODID AND qo.DATAREAID = p.DATAREAID
WHERE qo.INVENTREFTYPE = 9 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Quality Inspection Passed' AS ActivityName,
qo.MODIFIEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
qo.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM INVENTQUALITYORDERTABLE qo
JOIN PRODTABLE p ON qo.INVENTREFID = p.PRODID AND qo.DATAREAID = p.DATAREAID
WHERE qo.INVENTREFTYPE = 9 AND qo.STATUS = 2 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Ended' AS ActivityName,
p.LASTUPDDATEPRINT AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.PRODSTATUS = 7 AND p.LASTUPDDATEPRINT IS NOT NULL AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'
UNION ALL
SELECT
p.PRODID AS ProductionOrderNumber,
'Production Order Cancelled' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
'Dynamics 365 BYOD' AS SourceSystem,
GETUTCDATE() AS LastDataUpdate,
p.PRODSTATUS AS ProductionOrderStatus,
p.SCHEDSTART AS PlannedStartDate,
p.SCHEDEND AS PlannedEndDate,
p.MODIFIEDBY AS UserId,
p.INVENTSITEID AS ProductionPlant,
p.ITEMID AS ProductNumber,
p.PRODTYPE AS ProductionType,
p.QTYGOOD AS ActualQuantity,
p.PRODPRIO AS ProductionPriority
FROM PRODTABLE p
WHERE p.PRODSTATUS = 0 AND p.CREATEDDATETIME >= '{StartDate}' AND p.CREATEDDATETIME <= '{EndDate}' AND p.DATAREAID = '{CompanyCode}'; Langkah
- Pastikan Power BI Desktop atau alat lain yang disetujui dan memiliki Power Query tersedia. Pastikan juga pengguna berwenang membaca entitas data Microsoft Dynamics 365 Manufacturing yang diperlukan. Konfirmasikan URL lingkungan, cakupan badan hukum atau perusahaan, serta metode autentikasi yang disetujui.
- Di Power BI Desktop, pilih Get data lalu pilih konektor Dynamics 365 yang disetujui atau koneksi OData maupun Dataverse khusus organisasi. Gunakan [Your Dynamics 365 environment connection] dan [Your credentials] sesuai konfigurasi administrator. Jangan berasumsi bahwa entitas, endpoint, atau jalur menu tertentu tersedia di setiap penerapan.
- Pilih entitas header pesanan produksi, entitas operasi atau rute pesanan produksi, entitas pengambilan bahan atau daftar pengambilan, entitas pencatatan produksi, entitas pesanan kualitas, serta entitas audit, riwayat, atau pelacakan perubahan yang disetujui dan diperlukan untuk mengidentifikasi perubahan status. Ganti setiap referensi sumber dalam kueri dengan entitas atau kueri yang tersedia di lingkungan Anda.
- Atur cakupan ekstraksi. Terapkan [Start date parameter], [End date parameter], dan [Your company or legal entity filter]. Batasi kueri pada pesanan produksi untuk pabrik, produk, jenis pesanan, dan status yang diperlukan. Pertahankan stempel waktu sumber yang diperlukan untuk membedakan pembuatan, estimasi, penjadwalan, pengambilan bahan, pelepasan, penyesuaian, mulai, penyelesaian operasi, pelaporan sebagai selesai, pemeriksaan kualitas, pengakhiran, dan pembatalan.
- Di Power Query, seragamkan nama kolom sumber dan tipe datanya. Ubah stempel waktu peristiwa ke tipe datetime yang konsisten, lalu seragamkan pengenal, nilai status, perusahaan, pabrik, nomor produk, pengguna, kuantitas, dan prioritas. Jika kolom sumber tidak tersedia, gunakan nilai null, jangan mengarang nilai. Gunakan nomor pesanan produksi sebagai ID kasus.
- Buat satu tabel peristiwa untuk setiap aktivitas. Setiap tabel harus menghasilkan ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity, dan ProductionPriority. Nama aktivitas harus berupa nilai tetap yang cocok dengan salah satu dari 13 nama wajib.
- Identifikasi Production Order Adjusted hanya dari sumber riwayat sebelum dan sesudah yang disetujui, audit, atau pelacakan perubahan. Bandingkan kolom yang relevan, seperti kuantitas, tanggal terencana, status, pabrik, produk, dan prioritas. Buat satu baris penyesuaian untuk setiap perubahan yang memenuhi syarat, dengan menggunakan stempel waktu perubahan yang tercatat. Jangan menyimpulkan adanya penyesuaian hanya dari rekam kondisi pesanan produksi saat ini.
- Gabungkan semua 13 tabel aktivitas dengan UNION ALL. Hapus baris tanpa nomor pesanan produksi atau stempel waktu peristiwa, tetapi jangan menghapus duplikasi peristiwa penyelesaian operasi, penyesuaian, atau kualitas yang memang berulang. Urutkan berdasarkan ProductionOrderNumber dan EventTime, lalu gunakan urutan sekunder yang konsisten jika tersedia.
- Muat tabel hasil ke Power BI atau ekspor sebagai CSV maupun format log peristiwa lain yang didukung ProcessMind. Pastikan judul kolom hasil ekspor sama persis dengan ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity, dan ProductionPriority.
- Sebelum mengunggah ke ProcessMind, pastikan setiap aktivitas wajib tercatat sebagai baris log peristiwa tersendiri, stempel waktu menggunakan zona waktu yang konsisten, ProductionOrderNumber terisi, dan LastDataUpdate menunjukkan waktu pembaruan ekstraksi. ProcessMind membaca log peristiwa apa adanya dan tidak membuat peristiwa yang hilang.
Konfigurasi
- Koneksi: Gunakan konektor Power Query dan metode autentikasi yang disetujui untuk lingkungan Dynamics 365. Ganti [Your Dynamics 365 environment connection] dan [Your credentials] dengan nilai yang disetujui organisasi.
- Entitas sumber: Pilih entitas header pesanan produksi, operasi atau rute, pengambilan bahan atau daftar pengambilan, pencatatan produksi, pesanan kualitas, serta entitas audit atau pelacakan perubahan yang disetujui dan tersedia di lingkungan Anda. Nama dan ketersediaan entitas berbeda-beda menurut penerapan. Pastikan melalui penjelajah metadata.
- Rentang tanggal: Mulailah dengan rentang 3 hingga 6 bulan. Jika memungkinkan, terapkan filter EventTime di sumber dan perluas rentang saat memvalidasi pesanan produksi berdurasi panjang atau perubahan status historis.
- Filter perusahaan dan pabrik: Terapkan [Your company or legal entity filter] dan, jika relevan, filter pabrik produksi yang diperlukan. Jangan gunakan filter perusahaan umum jika lingkungan memiliki beberapa badan hukum dengan nomor pesanan yang tumpang tindih.
- Filter pesanan produksi: Filter berdasarkan jenis pesanan produksi, produk, pabrik, status, dan rentang nomor pesanan yang diperlukan. Jangan mengecualikan pesanan yang dibatalkan atau diakhiri jika hasil tersebut diperlukan untuk analisis proses.
- Penyertaan peristiwa: Pertahankan peristiwa penyelesaian operasi, pengambilan bahan, kualitas, dan penyesuaian yang berulang. Jangan membatasi log menjadi satu baris per pesanan produksi.
- Zona waktu: Ubah semua stempel waktu sumber ke satu zona waktu yang terdokumentasi. Pertahankan stempel waktu sumber atau offset zona waktu jika tersedia.
- Metadata pembaruan: Isi LastDataUpdate dengan stempel waktu pembaruan atau ekstraksi pada setiap baris. Satu stempel waktu pembaruan dapat digunakan jika seluruh kumpulan data diekstrak dalam satu kali pembaruan.
- Kinerja: Terapkan filter tanggal, perusahaan, pabrik, dan pesanan di sumber. Pilih hanya kolom yang diperlukan, hindari penggabungan yang tidak perlu, siapkan kueri sumber yang dapat digunakan ulang, dan pertimbangkan pembaruan inkremental untuk kumpulan data besar.
- Prasyarat: Power BI Desktop atau lingkungan Power Query yang disetujui, akses jaringan ke lingkungan Dynamics 365, izin baca yang valid untuk semua entitas terpilih, serta akses yang diperlukan ke Dynamics 365 Manufacturing, gudang, kualitas, audit, atau pelacakan perubahan.
- Data yang bergantung pada konfigurasi: Jika sumber peristiwa wajib belum diaktifkan, gunakan [Configure based on your system] dan dokumentasikan sumber yang tidak tersedia. Jangan mengganti peristiwa historis dengan rekam kondisi status saat ini.
Contoh kueri sql
let
StartDate = #datetime(2026, 1, 1, 0, 0, 0),
EndDate = #datetime(2026, 6, 30, 23, 59, 59),
CompanyFilter = "[Your company or legal entity filter]",
SourceSystemValue = "Microsoft Dynamics 365 Manufacturing",
RefreshTime = DateTimeZone.RemoveZone(DateTimeZone.UtcNow()),
ProductionOrderHeader = [Your production order header query],
ProductionOrderOperation = [Your production order operation or route query],
MaterialPicking = [Your material picking or picking list query],
ProductionPosting = [Your production posting query],
QualityOrder = [Your quality order query],
ProductionOrderHistory = [Your approved production order audit or change tracking query],
Header = Table.SelectRows(ProductionOrderHeader, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Operations = Table.SelectRows(ProductionOrderOperation, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Picking = Table.SelectRows(MaterialPicking, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Posting = Table.SelectRows(ProductionPosting, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Quality = Table.SelectRows(QualityOrder, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
History = Table.SelectRows(ProductionOrderHistory, each [EventTime] >= StartDate and [EventTime] <= EndDate and [Company] = CompanyFilter),
Created = Table.SelectRows(Header, each [EventType] = "Created" or [EventType] = "Firmed"),
Estimated = Table.SelectRows(Header, each [EventType] = "Estimated"),
Scheduled = Table.SelectRows(Operations, each [EventType] = "Scheduled"),
Picked = Table.SelectRows(Picking, each [EventType] = "Picked" or [EventType] = "Posted"),
Released = Table.SelectRows(Header, each [EventType] = "Released"),
Adjusted = Table.SelectRows(History, each [ChangedField] = "Quantity" or [ChangedField] = "PlannedStartDate" or [ChangedField] = "PlannedEndDate" or [ChangedField] = "Status" or [ChangedField] = "ProductionPlant" or [ChangedField] = "ProductNumber" or [ChangedField] = "ProductionPriority"),
Started = Table.SelectRows(Posting, each [EventType] = "Started"),
OperationCompleted = Table.SelectRows(Operations, each [EventType] = "Completed"),
ReportedFinished = Table.SelectRows(Posting, each [EventType] = "Reported as finished" or [EventType] = "Finished"),
QualityGenerated = Table.SelectRows(Quality, each [EventType] = "Generated" or [EventType] = "Created"),
QualityPassed = Table.SelectRows(Quality, each [EventType] = "Passed" or [EventType] = "Validated"),
Ended = Table.SelectRows(Header, each [EventType] = "Ended"),
Cancelled = Table.SelectRows(Header, each [EventType] = "Cancelled"),
ToEvent = (InputTable as table, Activity as text) as table =>
let
Selected = Table.SelectColumns(InputTable, {"ProductionOrderNumber", "EventTime", "ProductionOrderStatus", "PlannedStartDate", "PlannedEndDate", "UserId", "ProductionPlant", "ProductNumber", "ProductionType", "ActualQuantity", "ProductionPriority"}, MissingField.UseNull),
Named = Table.AddColumn(Selected, "ActivityName", each Activity, type text),
Source = Table.AddColumn(Named, "SourceSystem", each SourceSystemValue, type text),
Updated = Table.AddColumn(Source, "LastDataUpdate", each RefreshTime, type datetime),
Ordered = Table.ReorderColumns(Updated, {"ProductionOrderNumber", "ActivityName", "EventTime", "SourceSystem", "LastDataUpdate", "ProductionOrderStatus", "PlannedStartDate", "PlannedEndDate", "UserId", "ProductionPlant", "ProductNumber", "ProductionType", "ActualQuantity", "ProductionPriority"}),
Valid = Table.SelectRows(Ordered, each [ProductionOrderNumber] <> null and [ProductionOrderNumber] <> "" and [EventTime] <> null)
in
Valid,
EventsCreated = ToEvent(Created, "Production Order Created"),
EventsEstimated = ToEvent(Estimated, "Production Order Estimated"),
EventsScheduled = ToEvent(Scheduled, "Production Order Scheduled"),
EventsPicked = ToEvent(Picked, "Materials Picked For Production"),
EventsReleased = ToEvent(Released, "Production Order Released"),
EventsAdjusted = ToEvent(Adjusted, "Production Order Adjusted"),
EventsStarted = ToEvent(Started, "Production Started"),
EventsOperationCompleted = ToEvent(OperationCompleted, "Operation Completed"),
EventsReportedFinished = ToEvent(ReportedFinished, "Production Reported As Finished"),
EventsQualityGenerated = ToEvent(QualityGenerated, "Quality Order Generated"),
EventsQualityPassed = ToEvent(QualityPassed, "Quality Inspection Passed"),
EventsEnded = ToEvent(Ended, "Production Order Ended"),
EventsCancelled = ToEvent(Cancelled, "Production Order Cancelled"),
EventLog = Table.Combine({EventsCreated, EventsEstimated, EventsScheduled, EventsPicked, EventsReleased, EventsAdjusted, EventsStarted, EventsOperationCompleted, EventsReportedFinished, EventsQualityGenerated, EventsQualityPassed, EventsEnded, EventsCancelled}),
Typed = Table.TransformColumnTypes(EventLog, {{"ProductionOrderNumber", type text}, {"ActivityName", type text}, {"EventTime", type datetime}, {"SourceSystem", type text}, {"LastDataUpdate", type datetime}, {"ProductionOrderStatus", type text}, {"PlannedStartDate", type datetime}, {"PlannedEndDate", type datetime}, {"UserId", type text}, {"ProductionPlant", type text}, {"ProductNumber", type text}, {"ProductionType", type text}, {"ActualQuantity", type number}, {"ProductionPriority", type text}}),
Sorted = Table.Sort(Typed, {{"ProductionOrderNumber", Order.Ascending}, {"EventTime", Order.Ascending}, {"ActivityName", Order.Ascending}})
in
Sorted Siap Memulai?
Templat ini menyediakan panduan yang Anda perlukan untuk mulai mengekstrak dan menganalisis data perencanaan produksi. Mulai tingkatkan efisiensi operasional Anda hari ini.
Tingkatkan Efisiensi: Sederhanakan Perencanaan Produksi Hari Ini
Temukan hambatan dan pangkas waktu siklus produksi hingga 30% atau lebih.
Tidak perlu kartu kredit. Penyiapan hanya perlu beberapa menit.