Üretim planlama veri şablonunuz
Üretim planlama veri şablonunuz
- Toplanması önerilen öznitelikler
- İzlenecek temel etkinlikler
- Microsoft Dynamics 365 Manufacturing için veri çıkarma yönergeleri
Üretim planlama öznitelikleri
| Ad | Açıklama | ||
|---|---|---|---|
| Üretim emri ProductionOrderNumber | Üretim emrinin benzersiz kimliğidir. İlgili tüm planlama ve uygulama etkinliklerini izlemek için temel vaka kimliği olarak kullanılır. | ||
| Açıklama Microsoft Dynamics 365’te genellikle ProdId olarak adlandırılan üretim emri numarası, belirli bir imalat işiyle ilişkili tüm olayları, malzemeleri, kaynakları ve maliyetleri birbirine bağlayan temel kimliktir. Tek bir iş birimi için üretim planlaması ve uygulama yaşam döngüsünü baştan sona analiz etmenizi sağlar. Process Mining’de bu öznitelik, ilişkili olayları tek bir vakada gruplandırmak için gereklidir. Üretim emri numarasına göre yapılan analiz, ilk oluşturma ve çizelgelemeden tamamlanma ve maliyet hesaplamasına kadar standart üretim akışındaki darboğazları, gecikmeleri ve sapmaları belirlemeye yardımcı olur. Neden önemli? Bu, analiz için ilişkili tüm olayları gruplandırmayı ve üretim planlaması sürecini baştan sona yeniden oluşturmayı sağlayan temel vaka kimliğidir. Nereden alınır? Microsoft Dynamics 365 Manufacturing içindeki ProdTable tablosunda bulunan “ProdId” alanıdır. Örnekler WO-000456WO-000457WO-000458 | |||
| Etkinlik adı ActivityName | Üretim planlaması sürecinde gerçekleşen belirli iş olayının veya adımın adıdır. | ||
| Açıklama Etkinlik adı, üretim planlaması yaşam döngüsündeki tek bir adımı tanımlar. Örneğin “Üretim emri oluşturuldu”, “Üretim için malzemeler toplandı” veya “Üretim başladı”. Bu etkinlikler süreç haritasının temel yapı taşlarıdır. Etkinliklerin sırasını ve süresini analiz ederek süreç akışını görselleştirebilir, yaygın yolları belirleyebilir, yeniden çalışma döngülerini saptayabilir ve farklı aşamalarda harcanan süreyi ölçebilirsiniz. Bu öznitelik, sürecin her noktasında neler olduğunu anlamak için önemlidir. Neden önemli? Bu öznitelik, süreç adımlarını tanımlar ve süreç haritası oluşturmanın yanı sıra süreç akışını, farklılıkları ve darboğazları analiz etmenizi sağlar. Nereden alınır? Bu değer genellikle Event Log kayıtlarından veya ProdRouteTrans ve ProdJournalBOM gibi tablolardaki farklı durum değişiklikleriyle işlem türlerinin eşleştirilmesinden, ayrıca ProdTable durum alanlarındaki değişikliklerden elde edilir. Örnekler Üretim emri oluşturulduÜretim emri serbest bırakıldıÜretim başladıÜretim tamamlandı olarak bildirildi | |||
| Kaynak sistem SourceSystem | Verilerin çıkarıldığı kayıt sistemidir. | ||
| Açıklama Bu öznitelik, olay verilerinin geldiği kaynak bilgi sistemini tanımlar. Bu süreç görünümünde değer her zaman “Microsoft Dynamics 365 Manufacturing” olur. Birden fazla tümleşik sistemin bulunduğu ortamlarda bu alan; veri kökenini izlemek, veri kalitesi sorunlarını gidermek ve farklı sistemlerin genel sürece nasıl katkıda bulunduğunu anlamak için önemlidir. Analiz edilen verilerin kaynağını açıkça gösterir. Neden önemli? Verilerin kaynağı hakkında önemli bağlam sağlar. Bu bilgi, veri yönetişimi ve doğrulama için, ayrıca birden fazla kurumsal sistemden gelen veri akışlarını yönetmek için gereklidir. Nereden alınır? Veri çıkarma ve dönüştürme sırasında veri setinin kaynağını belirtmek için eklenmesi gereken sabit bir değerdir. Örnekler Microsoft Dynamics 365 ManufacturingD365 F&O | |||
| Olay zamanı EventTime | Etkinliğin ne zaman gerçekleştiğini gösteren kesin zaman damgasıdır. | ||
| Açıklama Olay zamanı, yani zaman damgası, belirli bir etkinliğin gerçekleştiği kesin tarih ve saati kaydeder. Çevrim sürelerini hesaplama, adımlar arasındaki gecikmeleri belirleme ve süreç performansını zaman içinde anlama gibi zamana dayalı tüm Process Mining analizlerinin temelini oluşturur. Üretim planlamasında bu öznitelik; planlama süresini, üretim başlangıcındaki gecikmeleri ve toplam sipariş karşılama süresini ölçmek için kullanılır. Doğru ve kronolojik zaman damgaları, anlamlı ve doğru bir süreç modeli oluşturmak için gereklidir. Neden önemli? Bu zaman damgası, olayları sıralamak, etkinlikler arasındaki süreleri hesaplamak ve çevrim süresiyle darboğaz belirleme gibi zamana dayalı analizler yapmak için gereklidir. Nereden alınır? ProdTable içindeki “createdDateTime” veya ProdRouteTrans, ProdJournalRoute ve ProdJournalBOM içindeki işlem tarihi alanları gibi çeşitli işlem tablolarında bulunur. Örnekler 2023-04-15T09:00:12Z2023-04-15T11:30:00Z2023-04-16T14:22:05Z | |||
| Son veri güncellemesi LastDataUpdate | Bu olaya ait verilerin kaynak sistemden en son yenilendiği veya çıkarıldığı zamanı gösteren zaman damgasıdır. | ||
| Açıklama Bu öznitelik, kaynak sistemden en son veri alımının tarih ve saatini gösterir. Analizin ne kadar güncel olduğunu anlamak için kullanılan önemli bir meta veri alanıdır. Verilerin en son ne zaman güncellendiğini bilmek, analistlerin ve iş kullanıcılarının Process Mining aracından elde edilen içgörülere güvenmesine yardımcı olur. Dashboardların gerçek zamanlı bilgileri mi yoksa daha önceki bir tarihte alınan verileri mi yansıttığını açıklar. Bu ayrım, operasyonel kararlar açısından önemlidir. Neden önemli? Bu öznitelik, kullanıcıların verilerin güncelliğini anlamasını ve süreç içgörülerinin zamanında sunulduğuna güvenmesini sağlayarak veri yönetişimine katkıda bulunur. Nereden alınır? Bu zaman damgası, veri çıkarma, dönüştürme ve yükleme (ETL) sırasında oluşturulur ve her kayda eklenir. Örnekler 2023-05-20T05:00:00Z2023-05-21T05:00:00Z | |||
| Fiilî miktar ActualQuantity | Emir için başarıyla üretilen ve tamamlandı olarak bildirilen ürün miktarı. | ||
| Açıklama Fiilî Miktar, belirli bir üretim emri için tamamlanan ve kalite kontrollerinden geçen birim sayısını gösterir. Bu değer, üretim 'Tamamlandı Olarak Bildirildiğinde' kaydedilir. Bu öznitelik, üretim verimini ve verimliliğini analiz etmek için kullanılır. Fiilî Miktarı Planlanan Miktarla karşılaştırmak, hurda oranlarının hesaplanmasına ve üretim kayıplarının anlaşılmasına yardımcı olur. Ayrıca işlem hacmi analizi ve kapasite kullanımı panoları için temel bir bileşendir. Neden önemli? Üretim verimini, hurda oranlarını ve fiilî işlem hacmini hesaplamak için gereklidir; üretim verimliliği ve performansı hakkında bilgi sağlar. Nereden alınır? Bu değer, emir tamamlandı olarak bildirildiğinde genellikle 'ProdTable' tablosundaki 'QtyGood' alanından veya ilgili günlük kayıt tablolarından alınır. Örnekler 100985000 | |||
| Kullanıcı UserId | Etkinliği gerçekleştiren veya etkinlikten sorumlu kullanıcının kimliği. | ||
| Açıklama Kullanıcı Kimliği, bir emri serbest bırakmak veya tamamlandığını bildirmek gibi belirli bir süreç adımını gerçekleştiren çalışanı ya da sistem hesabını tanımlar. Bu bilgi, süreçteki işleri kimin yaptığını görmenizi sağlar. Süreci kullanıcı bazında analiz etmek; iş yükünün nasıl dağıldığını anlamaya, eğitim fırsatlarını belirlemeye, çalışanlar veya ekipler arasındaki performansı karşılaştırmaya ve belirli kullanıcıların gerçekleştirdiği sapmaları incelemeye yardımcı olur. Uyumluluk ve denetim izi açısından da önemlidir. Neden önemli? Süreç performansını kullanıcı veya ekip bazında analiz etmenizi, otomasyon fırsatlarını belirlemenizi ve temel süreç etkinlikleri için denetim izi oluşturmanızı sağlar. Nereden alınır? 'modifiedBy' veya 'createdBy' gibi çeşitli tablo alanlarında ya da 'ProdJournalTable' gibi işlem günlüğü tablolarındaki kullanıcı alanlarında bulunur. Örnekler j.smithm.jonesAX_BATCH_SVC | |||
| Planlanan başlangıç tarihi PlannedStartDate | Üretim emrinin planlanan başlangıç tarih ve saati. | ||
| Açıklama Planlanan Başlangıç Tarihi, çizelgeleme sürecinin temel çıktılarından biridir ve bir üretim emrindeki faaliyetlerin başlaması hedeflenen zamanı gösterir. Bu tarih; malzeme bulunabilirliği, kaynak kapasitesi ve talep teslim tarihleri dikkate alınarak belirlenir. Bu öznitelik, çizelgeye uyum analizinde önemlidir. Kuruluşlar, Planlanan Başlangıç Tarihi ile üretimin fiilî başlangıç zamanını ('Üretim Başladı' etkinliğinin zaman damgasından alınır) karşılaştırarak zamanında başlama oranını ölçebilir, gecikme nedenlerini belirleyebilir ve Üretim Çizelgesine Uyum Oranı gibi KPI’ları hesaplayabilir. Neden önemli? Çizelgeye uyumu ölçmek ve planlama ile üretimin fiilî başlangıcı arasındaki gecikmeleri belirlemek için temel alınır. Nereden alınır? 'ProdTable' tablosundaki 'SchedStart' alanıdır. Örnekler 2023-04-18T08:00:00Z2023-04-19T08:00:00Z2023-04-20T08:00:00Z | |||
| Planlanan Bitiş Tarihi PlannedEndDate | Üretim emrinin tamamlanmasının planlandığı tarih ve saat. | ||
| Açıklama Planlanan Bitiş Tarihi, çizelgeleme motorunun belirlediği üretim emri hedef tamamlanma zamanıdır. Mamullerin ne zaman hazır olacağını tahmin etmek için operasyon sürelerini, kaynak takvimlerini ve tedarik sürelerini dikkate alır. Süreç analizinde bu öznitelik, üretimin zamanında tamamlanma performansını değerlendirmek için önemlidir. Planlanan Bitiş Tarihi ile fiilî tamamlanma zamanının ('Üretim Tamamlandı Olarak Bildirildi' veya 'Üretim Emri Sona Erdi' etkinliğinden alınır) karşılaştırılması, Zamanında Üretim Tamamlama Oranı KPI’ının hesaplanmasını sağlar ve geç teslimatların sistemik nedenlerini belirlemeye yardımcı olur. Neden önemli? Zamanında tamamlama oranlarını ölçmek ve üretim çizelgelemesinin doğruluğunu analiz etmek için referans noktasıdır. Nereden alınır? 'ProdTable' tablosundaki 'SchedEnd' alanıdır. Örnekler 2023-04-25T17:00:00Z2023-04-26T17:00:00Z2023-04-27T17:00:00Z | |||
| Üretim emri durumu ProductionOrderStatus | Üretim emrinin yaşam döngüsündeki mevcut durumunu gösterir. | ||
| Açıklama Üretim emri durumu, emrin imalat yaşam döngüsündeki ilerlemesini gösterir. Dynamics 365’te yaygın durumlar Oluşturuldu, Tahmin yapıldı, Çizelgelendi, Serbest bırakıldı, Başlatıldı, Tamamlandı olarak bildirildi ve Kapatıldı şeklindedir. Bu öznitelik, her emrin belirli bir andaki durumunu gösterir. Process Mining’de durum değişikliklerini analiz etmek, etkinlikleri tanımlamanın ve süreç akışını anlamanın başlıca yollarından biridir. Belirli bir durumdaki emirleri filtrelemek, her durumda geçirilen süreyi incelemek ve bekleyen ya da geciken emirleri belirlemek için kullanılabilir. Neden önemli? Bu öznitelik, emrin ilerleyişine genel bir bakış sunar. Filtreleme, uygunluk kontrolü ve üretimin farklı aşamalarında geçirilen süreyi analiz etmek için önemlidir. Nereden alınır? ProdTable tablosundaki “ProdStatus” alanıdır. Örnekler ÇizelgelendiSerbest bırakıldıBaşlatıldıKapatıldı | |||
| Üretim önceliği ProductionPriority | Üretim emrinin aciliyetini veya önceliğini gösteren derece. | ||
| Açıklama Üretim Önceliği, planlamacıların ve çizelgeleyicilerin üretim sahasındaki iş sırasını yönetmek için kullandığı bir alandır. Önceliği yüksek emirler öne alınabilir ve bu durum diğer emirlerin planlanan çizelgesini aksatabilir. Bu özniteliği analiz etmek, üretim planlarının yüksek öncelikli veya öne alınan emirler nedeniyle ne sıklıkta aksadığını anlamaya yardımcı olur. Bir emrin yaşam döngüsü boyunca öncelik değişikliklerini izlemek, talep veya planlamadaki istikrarsızlığı ortaya çıkarabilir. Bu bilgi, 'Öne Alınan Üretim Eğilimleri' Dashboardı ve 'Öne Alınan Üretim Oranı' KPI’ı için temel oluşturur. Neden önemli? Öne alınan emirlerin sıklığını ve etkisini belirlemeye yardımcı olur. Bu durum, planlamadaki istikrarsızlığa veya operasyonların tepkisel biçimde yönetilmesine işaret edebilir. Nereden alınır? 'ProdTable' tablosunda standart veya özel bir alan olabilir. Yapılandırma genellikle şirkete özeldir. Örnekler NormalYüksekAcil | |||
| Üretim tesisi ProductionPlant | Üretim emrinin yürütüldüğü üretim sahası veya tesis. | ||
| Açıklama Üretim Tesisi, üretim sürecinden sorumlu fiziksel konumu veya tesisi tanımlar. Üretim performansını gruplandırmak ve karşılaştırmak için temel bir kuruluş boyutudur. Process Mining kapsamında bu öznitelik, farklı tesislerin performansını kıyaslamanızı sağlar. Analistler; en iyi uygulamaları belirlemek veya operasyonel iyileştirme gerektiren tesisleri saptamak için sahalar arasındaki çevrim sürelerini, kaynak kullanımını ve standart süreçlere uyumu karşılaştırabilir. Kapasite kullanımı analizi için de gereklidir. Neden önemli? Farklı üretim sahalarının performansını karşılaştırıp kıyaslamanızı, en iyi uygulamaları ve belirli bölgelere özgü sorunları belirlemenizi sağlar. Nereden alınır? 'ProdTable' tablosundaki 'InventSiteId' alanıdır. Örnekler SITE-ASITE-BMain-WH | |||
| Üretim türü ProductionType | Üretim emrinin standart, yeniden çalışma veya proje bazlı gibi sınıflandırması. | ||
| Açıklama Üretim Türü, emri amacına göre sınıflandırır. Örneğin 'Standart' emir, normal stok üretimi içindir; 'Yeniden Çalışma' emri, daha önce üretilmiş bir üründeki kusurları gidermeyi amaçlar; 'Proje' emri ise belirli bir müşteri projesiyle ilişkilidir. Bu öznitelik, karşılaştırılabilir analiz görünümleri oluşturmak için önemlidir. Yeniden çalışma emrinin süreci, standart bir emrin sürecinden doğal olarak farklıdır. Süreç analizini Üretim Türüne göre gruplandırmak, karşılaştırmaların anlamlı olmasını ve her türün kendine özgü zorlukları ile akışlarının anlaşılmasını sağlar. Neden önemli? Analizi gruplandırmanızı sağlar. 'Standart' ve 'Yeniden Çalışma' gibi farklı emir türleri doğal olarak farklı süreçlerden geçer ve farklı performans beklentilerine sahiptir. Nereden alınır? 'ProdTable' tablosundaki 'ProdType' alanıdır. Örnekler StandartYeniden çalışmaProje | |||
| Ürün numarası ProductNumber | Üretilen ürünü tanımlayan benzersiz kimlik. | ||
| Açıklama Ürün Numarası veya Ürün Kimliği, üretim emrinde üretilmesi hedeflenen mamulü belirtir. Üretim sürecini, üretilen belirli ürüne ve bu ürünün malzeme listesi ile rota talimatlarına bağlar. Süreci Ürün Numarasına göre analiz etmek, üretim yaşam döngüsündeki ürüne özgü farklılıkları ortaya çıkarır. Bazı ürünlerin çevrim sürelerinin daha uzun olduğunu, daha fazla yeniden çalışma gerektirdiğini veya daha sık geciktiğini gösterebilir. Bu bulgular, ürün ve süreç mühendislerine değerli bilgiler sağlar. Neden önemli? Üretilen ürüne göre süreç farklılıklarını analiz etmenizi, ürüne özgü darboğazları veya kalite sorunlarını belirlemenizi sağlar. Nereden alınır? 'ProdTable' tablosundaki 'ItemId' alanıdır. Örnekler FG-1001FG-2050ASSY-500B | |||
| Bitiş zamanı EndTime | Etkinliğin tamamlandığı anı gösteren kesin zaman damgası. | ||
| Açıklama Bitiş Zamanı, belirli bir etkinliğin tamamlandığı anı gösterir. Başlangıç Zamanı etkinliğin ne zaman başladığını belirtirken Bitiş Zamanı, o adımın fiilî süresini veya işlem süresini anlamak için gereklidir. Process Mining kapsamında etkinlikler için hem Başlangıç hem de Bitiş Zamanının bulunması, bekleme süresi ile işlem süresini daha ayrıntılı analiz etmenizi sağlar. Bir etkinlik üzerinde fiilen çalışılan süreyi, sonraki adımın başlamasını beklerken geçen süreden ayırmaya yardımcı olur. Bu ayrım, ayrıntılı darboğaz analizi için önemlidir. Neden önemli? Etkinliğin işlem süresini hesaplamanızı ve bunu bekleme süresinden ayırmanızı sağlayarak daha hassas darboğaz analizi yapmanıza yardımcı olur. Nereden alınır? Bu değer çoğu zaman türetilir. Örneğin 'Üretim Başladı' etkinliğinin bitiş zamanı, 'Operasyon Tamamlandı' etkinliğinin başlangıç zamanı olabilir. Bazı günlüklerde bitiş zaman damgası açıkça kaydedilir. Örnekler 2023-04-15T09:30:45Z2023-04-15T12:00:00Z2023-04-16T15:00:10Z | |||
| Kalite emri numarası QualityOrderNumber | Üretim emriyle bağlantılı kalite kontrol emrinin kimliği. | ||
| Açıklama Kalite kontrolü gerektiğinde Dynamics 365’te genellikle bir Kalite Emri oluşturulur. Bu öznitelik, ilgili kalite emrinin kimliğini kaydederek üretim sürecini kalite güvence sürecine bağlar. Bu bağlantı, kalite yönetimi adımlarını da içeren uçtan uca bir süreç görünümü sunar. Kalite kontrollerinin üretim tedarik sürelerini nasıl etkilediğini analiz etmeye, kalite sürecindeki gecikmeleri belirlemeye ve farklı ürünler veya üretim hatları için kalite kontrollerinin sıklığını anlamaya yardımcı olur. Neden önemli? Üretim sürecini kalite güvence sürecine bağlayarak kalite kontrollerinin toplam tedarik sürelerini nasıl etkilediğini analiz etmenizi sağlar. Nereden alınır? Bu bilgi kalite yönetimi tablolarında (ör. 'InventQualityOrderTable') saklanır ve üretim emriyle ilişkilendirilmesi gerekir. Örnekler QO-00123QO-00124QO-00125 | |||
| Malzeme bulunabilirliği MaterialAvailabilityStatus | Üretim emri için gereken ham maddelerin bulunup bulunmadığını gösterir. | ||
| Açıklama Bu öznitelik, üretim için gereken bileşenlerin hazır olma durumunu izler. 'Mevcut', 'Sipariş Edildi' veya 'Eksik' gibi durumları gösterebilir. Üretim emrinin planlandığı gibi başlayıp başlayamayacağını anlamak için çizelgeleyicilere gerekli bilgiyi sağlar. Process Mining kapsamında bu öznitelik, üretim başlangıcındaki gecikmelerin temel nedenlerini belirlemeye yardımcı olur. Analistler, bu durumu 'Üretim Emri Serbest Bırakıldı' ile 'Üretim Başladı' arasındaki süreyle ilişkilendirerek malzeme eksiklerinin çizelgeye uyum ve genel çevrim süresi üzerindeki etkisini ölçebilir. Bu analiz, 'Malzeme Bulunabilirliği Gecikme Etkisi' Dashboardını doğrudan destekler. Neden önemli? Malzeme eksiklerinin neden olduğu üretim başlangıç gecikmelerini anlamak ve ölçmek, tedarik zinciri performansını üretim verimliliğiyle ilişkilendirmek için temel oluşturur. Nereden alınır? Bu durum çoğu zaman tek bir alanda tutulmaz. Üretim emrinin malzeme listesindeki (BOM) tüm kalemlerin eldeki envanter düzeyleri 'InventSum' tablosu üzerinden kontrol edilerek türetilir. Örnekler Tamamen mevcutKısmen eksikMevcut değil | |||
| Planlanan miktar PlannedQuantity | Üretilmesi planlanan ürün miktarı. | ||
| Açıklama Planlanan Miktar, belirli bir üretim emri için üretilmesi hedeflenen birim sayısıdır. Bu miktar genellikle satış emirlerinden gelen talebe, güvenlik stoğu gereksinimlerine veya ana üretim planlamasına göre belirlenir. Bu öznitelik, verim ve hurda gibi performans metrikleri için temel oluşturur. Planlamacılar, Planlanan Miktarı üretilen Fiilî Miktarla karşılaştırarak üretim verimliliğini ve malzeme farklarını izleyebilir. Kapasite ve malzeme gereksinim planlaması için temel bir veri noktasıdır. Neden önemli? Üretim verimini ve hurda oranlarını, üretilen fiilî miktarla karşılaştırarak ölçmek için kullanılan temel miktardır. Nereden alınır? 'ProdTable' tablosundaki 'QtySched' alanıdır. Örnekler 1005000250 | |||
| Revizyon sayısı ProductionOrderRevisionNumber | Üretim planının ilk oluşturulmasından sonra kaç kez ayarlandığını gösteren sayı. | ||
| Açıklama Bu öznitelik, üretim emri çizelgelendikten veya serbest bırakıldıktan sonra miktar, tarihler ya da rota gibi alanlarda yapılan revizyonların veya önemli değişikliklerin sayısını izler. Sayının yüksek olması, plandaki istikrarsızlığın arttığını gösterir. Bu değer, 'Üretim Planı Revizyon Oranı' KPI’ını doğrudan ölçer. Analiz, sık talep değişiklikleri veya hatalı ilk planlama gibi istikrarsızlık kaynaklarını belirlemeye yardımcı olur. Verimsizliğe yol açan yeniden çalışma ve yeniden çizelgeleme çabasını ölçer. Neden önemli? Planlama istikrarını doğrudan ölçer ve 'Üretim Planı Revizyon Oranı' KPI’ını destekler; aşırı değişiklik ve yeniden çalışma içeren süreçleri ortaya çıkarır. Nereden alınır? Bu, her vaka için 'Üretim Emri Ayarlandı' etkinliklerinin sayılmasını gerektiren türetilmiş bir özniteliktir. Örnekler 012 | |||
| Üretim başlangıç gecikmesi ProductionStartDelay | Emrin serbest bırakılması ile üretimin fiilen başlaması arasında geçen süre. | ||
| Açıklama Bu hesaplanan süre, üretim sahasındaki bekleme veya kuyruk süresini ölçer. 'Üretim Emri Serbest Bırakıldı' etkinliği ile 'Üretim Başladı' etkinliği arasındaki zaman farkıdır. Bu KPI, planlama tamamlandıktan ve emir yürütülmeye hazır hâle geldikten sonra oluşan gecikmeleri belirlediği için 'Kaynak Tahsisi Gecikme Analizi' Dashboardı açısından önemlidir. Yüksek değerler; kaynak bulunabilirliği, malzeme hazırlığı veya üretim sahasına bilgi akışıyla ilgili sorunlara işaret edebilir ve operasyonel iyileştirmeler için net bir hedef sunar. Neden önemli? Başlamaya hazır olma aşamasındaki gecikmeyi kesin olarak ölçerek kaynak bulunabilirliği veya üretim sahasının hazırlığıyla ilgili darboğazları belirlemenize yardımcı olur. Nereden alınır? Hesaplanan bir metriktir: Timestamp('Üretim Başladı') - Timestamp('Üretim Emri Serbest Bırakıldı'). Örnekler 0g 4s 15d1g 2s 0d0g 1s 30d | |||
| Üretim hattı ProductionLine | Üretim emrine atanan belirli üretim hattı, iş merkezi veya kaynak grubu. | ||
| Açıklama Üretim Hattı, üretim operasyonlarını gerçekleştirecek belirli makineyi, hücreyi veya kaynak grubunu tanımlar. Üretim Tesisine kıyasla daha ayrıntılı bilgi sunar. Süreci Üretim Hattına göre analiz etmek, kapasiteyi ve kaynak kullanımını ayrıntılı incelemek için önemlidir. Aşırı yük altındaki iş merkezlerini belirlemeye, aynı ürünü üreten farklı hatların verimliliğini karşılaştırmaya ve tesis düzeyinde görünmeyebilecek kaynağa özgü darboğazları saptamaya yardımcı olur. Neden önemli? Kaynak kullanımını ve performansını ayrıntılı analiz etmenizi, aşırı yük altındaki iş merkezlerini veya verimsiz hatları belirlemenizi sağlar. Nereden alınır? Bu bilgi genellikle üretim rotası işlemlerindeki ('ProdRoute' veya 'ProdRouteTrans' tabloları) 'WrkCtrId' alanında bulunur. Örnekler LINE-01LINE-02CNC-A | |||
| Zamanında başlama ProductionScheduleAdherence | Üretim emri planlanan başlangıç tarihinde veya daha önce başladıysa doğru olan mantıksal bir işaret. | ||
| Açıklama Bu hesaplanan öznitelik, üretimin başlangıcında çizelgeye uyumu basit ve ikili bir göstergeyle ifade eder. Fiilî başlangıç zaman damgasını ('Üretim Başladı' olayı), 'PlannedStartDate' özniteliğiyle karşılaştırır. Bu işaret, 'Üretim Çizelgesine Uyum Oranı' gibi net ve öz Dashboardlar ile KPI’lar oluşturmak için çok kullanışlıdır. Analiz aracında tarihleri doğrudan karşılaştırmaya gerek kalmadan emirlerin yüzde kaçının zamanında başladığını görmek ve geciken emirlerin özelliklerini incelemek için kolayca filtreleme ve gruplama yapmanızı sağlar. Neden önemli? Çizelgeye uyum raporlamasını ve KPI hesaplamasını kolaylaştırır; zamanında başlayan ve geciken emirleri kolayca filtreleyip gruplamanızı sağlar. Nereden alınır? Hesaplanan bir metriktir. Mantık: 'Üretim Başladı' EventTime <= PlannedStartDate. Örnekler truefalse | |||
Üretim planlama etkinlikleri
| Aktivite | Açıklama | ||
|---|---|---|---|
| Üretim başladı | Emir için üretim sahasındaki fiziksel çalışmanın başladığını gösterir. Genellikle ilk operasyon veya iş, üretim sahası terminalinden başlatıldığında ya da günlük kaydı işlendiğinde kaydedilir. | ||
| Neden önemli? Bu etkinlik, üretimin gerçek başlangıç zamanını gösterir. Başlangıç gecikmelerini, çizelgeye uyumu ve gerçek çevrim sürelerini hesaplamak için önemlidir. Nereden alınır? ProdTable içindeki üretim emri durumu “Başlatıldı” olarak değiştiğinde kaydedilir. Genellikle ilk operasyona ait iş kartı veya rota kartı günlüğü işlendiğinde tetiklenir. Kaydedin ProdTable içindeki ProdStatus alanının “Başlatıldı” olarak değiştiği zaman damgasını belirleyin. Olay türü inferred | |||
| Üretim emri çizelgelendi | Bu etkinlik, üretim emrinin çizelgelenmesini gösterir. İşlemler için belirli kaynaklar, tarihler ve saatler atanır. Bu adım, operasyon çizelgelemesini veya daha ayrıntılı iş çizelgelemesini içerebilir. | ||
| Neden önemli? Çizelgeleme, kapasite planlaması ve kaynak yönetimi açısından önemlidir. Emirlerin çizelgelenmesi için geçen süreyi ve serbest bırakılmadan önceki beklemeyi analiz ederek planlama ve kapasite kısıtlarını görebilirsiniz. Nereden alınır? ProdTable içindeki üretim emri durumu “Çizelgelendi” olarak değiştiğinde kaydedilir. Kullanıcı bir çizelgeleme işlevini çalıştırdığında tetiklenir. Kaydedin ProdTable içindeki ProdStatus alanının “Çizelgelendi” olarak değiştiği zaman damgasını belirleyin. Olay türü inferred | |||
| Üretim emri kapatıldı | Bu son etkinlik, üretim emrinin finansal olarak kapatılmasını ifade eder. Tüm maliyetler hesaplanıp kaydedilmiştir ve emir için başka işlem yapılamaz. | ||
| Neden önemli? Bu, emrin hem fiziksel hem de finansal açıdan gerçekten tamamlandığını gösterir. “Tamamlandı olarak bildirildi” ile “Kapatıldı” arasındaki gecikmeler, maliyet muhasebesi veya finansal kapanış süreçlerindeki sorunlara işaret edebilir. Nereden alınır? ProdTable içindeki “ProdStatus” alanı “Kapatıldı” olarak ayarlandığında kaydedilen son durum değişikliğidir. Maliyet hesaplaması çalıştırılıp emir kapatıldığında tetiklenir. Kaydedin ProdTable içindeki ProdStatus alanının “Kapatıldı” olarak değiştiği zaman damgasını belirleyin. Olay türü inferred | |||
| Üretim emri oluşturuldu | Bu etkinlik, belirli miktarda ürün talebini resmîleştiren üretim emrinin oluşturulmasını gösterir. Genellikle planlanan üretim emri kesinleştirildiğinde kaydedilir ve sisteme benzersiz kimlikli resmî bir kayıt eklenir. | ||
| Neden önemli? Bu, üretim sürecinin temel başlangıç olayıdır. Oluşturulma anından sonraki adımlara kadar geçen süreyi analiz ederek toplam planlama süresini ve verimliliğini ölçebilirsiniz. Nereden alınır? Bu olay, ProdTable içindeki üretim emri kaydının oluşturulma zaman damgasından çıkarılır. İlk durum genellikle “Oluşturuldu” olur. Kaydedin ProdStatus değeri “Oluşturuldu” olan yeni bir ProdTable kaydının oluşturulma zaman damgasını alın. Olay türü inferred | |||
| Üretim emri serbest bırakıldı | Bu etkinlik, üretim emrinin onaylandığını ve üretim sahasında uygulanmasına izin verildiğini gösterir. İş kartları ve rota kartları gibi belgelerin oluşturulmasını sağlayan önemli bir aşamadır. | ||
| Neden önemli? Bu, planlamadan uygulamaya resmî devir teslimdir. “Çizelgelendi” ile “Serbest bırakıldı” arasındaki süre onay gecikmelerini veya son kontrolleri gösterebilir. “Serbest bırakıldı” ile “Başlatıldı” arasındaki süre ise üretim sahasının hazır olma durumunu ölçer. Nereden alınır? ProdTable içindeki üretim emri durumu “Serbest bırakıldı” olarak değiştiğinde kaydedilir. Bu değişiklik, kullanıcının elle veya otomatik olarak gerçekleştirdiği bir işlemle yapılır. Kaydedin ProdTable içindeki ProdStatus alanının “Serbest bırakıldı” olarak değiştiği zaman damgasını belirleyin. Olay türü inferred | |||
| Üretim tamamlandı olarak bildirildi | Belirtilen miktardaki ürünün imalatının fiziksel olarak tamamlandığını ve mamullerin artık envanterde bulunduğunu gösterir. Envanter işlemlerini başlatan önemli bir durum güncellemesidir. | ||
| Neden önemli? Bu etkinlik, fiziksel üretimin sona erdiğini gösterir. Zamanında tamamlama oranlarını, gerçek üretim süresini ve işlem hacmini hesaplamak için gereklidir. Nereden alınır? ProdTable içindeki üretim emri durumu “Tamamlandı olarak bildirildi” olarak değiştiğinde kaydedilir. Tamamlandı olarak bildir günlüğü işlendiğinde tetiklenir. Kaydedin ProdTable içindeki ProdStatus alanının “Tamamlandı olarak bildirildi” olarak değiştiği zaman damgasını belirleyin. Olay türü inferred | |||
| Kalite emri oluşturuldu | Üretim emrinden çıkan ürünleri incelemek için bir kalite emri oluşturulmuştur. Bu olay, üretilen mallar için kalite güvence sürecinin başladığını gösterir. | ||
| Neden önemli? Toplam çevrim süresini anlamak için kalite sürecini izlemek önemlidir. Kalite kontrolündeki gecikmeler, malların sevk edilmesini veya sonraki süreçlerde kullanılmasını engelleyebilir. Nereden alınır? Kaynak üretim emrine referans veren InventQualityOrderTable kaydının oluşturulmasına dayanan açık bir olaydır. Kaydedin Üretim emri kimliğiyle bağlantılı InventQualityOrderTable kaydındaki kalite emrinin oluşturulma zaman damgasını alın. Olay türü explicit | |||
| Kalite kontrolü başarıyla tamamlandı | Üretim çalışmasıyla ilişkili kalite emrinin başarıyla tamamlanıp doğrulandığını gösterir. Üretilen ürünlerin gerekli kalite standartlarını karşıladığını teyit eder. | ||
| Neden önemli? Bu, kalite sürecindeki önemli bir aşamadır. Kalite emrinin oluşturulmasıyla kontrolün geçilmesi arasında geçen süre, kalite güvence ekibinin verimliliğini gösterir. Nereden alınır? InventQualityOrderTable kaydındaki durumun “Geçti” olarak değişmesinden çıkarılır. Kullanılan kesin durum değeri farklı olabilir. Kaydedin İlişkili InventQualityOrderTable kaydındaki durumun “Geçti” olarak güncellendiği zaman damgasını belirleyin. Olay türü inferred | |||
| Operasyon tamamlandı | Bu etkinlik, üretim rotasındaki tek bir imalat operasyonunun veya adımının tamamlandığını gösterir. Bir üretim emrinde genellikle bu türden birden fazla olay bulunur. | ||
| Neden önemli? Operasyonlar arasındaki süreyi analiz etmek, üretim sürecindeki darboğazları belirlemeye yardımcı olur. Böylece üretim sahasındaki akışı daha ayrıntılı görebilirsiniz. Nereden alınır? Her operasyon için rota kartı günlüklerinin (ProdJournalRoute) kaydedilmesiyle açıkça sisteme işlenen bu olay, ilgili adımın tamamlandığını gösterir. Kaydedin Üretim emriyle ilişkili her ProdJournalRoute kaydının kayıt zaman damgasını alın. Olay türü explicit | |||
| Üretim emri güncellendi | Üretim emri serbest bırakıldıktan sonra miktar veya tarih değişikliği gibi önemli bir değişiklik yapılmasını ifade eder. Bu olay, değişiklik öncesi ve sonrası temel alanlar karşılaştırılarak çıkarılır. | ||
| Neden önemli? Sık değişiklikler, planlamanın istikrarsız olduğuna veya talebin dalgalandığına işaret eder; bu durum verimsizliğe ve yeniden çalışmaya yol açar. Bu etkinlik, değişikliklerin sıklığını ve etkisini ölçmeye yardımcı olur. Nereden alınır? Emir durumu “Serbest bırakıldı” olduktan sonra değişiklik günlükleri incelenerek veya ProdTable kaydının “QtySched” ya da “SchedEnd” gibi alanlarına ait anlık görüntüler karşılaştırılarak çıkarılır. Kaydedin “Serbest bırakıldı” olayının zaman damgasından sonra ProdTable üzerindeki temel alanlarda (ör. miktar ve tarihler) yapılan değişiklikleri belirleyin. Olay türü calculated | |||
| Üretim emri için tahmin yapıldı | Üretim emri için tahmini malzeme tüketimi ve maliyet hesaplamasını ifade eder. İlerlemeye başlamadan önce finansal ve malzeme gereksinimlerinin anlaşılmasını sağlayan önemli bir planlama adımıdır. | ||
| Neden önemli? Tahmin işleminin gecikmesi, planlama aşamasında önemli bir darboğaz oluşturabilir. Bu etkinliği izlemek, maliyet ve malzeme planlamasındaki verimsizlikleri belirlemeye yardımcı olur. Nereden alınır? ProdTable içindeki üretim emri durumu “Tahmin yapıldı” olarak değiştiğinde kaydedilir. Kullanıcı, emir üzerinde “Tahmin” işlevini çalıştırdığında tetiklenir. Kaydedin ProdTable içindeki ProdStatus alanının “Tahmin yapıldı” olarak değiştiği zaman damgasını belirleyin. Olay türü inferred | |||
| Üretim emri iptal edildi | Tamamlanmadan önce bir üretim emrinin iptal edilmesini ifade eder. Sürecin başarısızlıkla sonuçlanan alternatif bitişidir. | ||
| Neden önemli? İptalleri izlemek, talep değişiklikleri veya planlama hataları gibi süreç başarısızlıklarının nedenlerini belirlemeye yardımcı olur. İptal oranlarının yüksek olması, sistem genelindeki sorunlara işaret edebilir. Nereden alınır? Durum değişikliğinden çıkarılan alternatif bir bitiş durumudur. Kesin durum değeri farklılık gösterebilir; ancak genellikle emir durumunun önceki bir aşamaya döndürülmesini ve emrin iptal olarak işaretlenmesini içerir. Kaydedin İptali gösteren durum değişikliğini belirleyin. Bunun için sistemin özel olarak incelenmesi gerekebilir. Olay türü inferred | |||
| Üretim için malzemeler toplandı | Üretim emri için gereken ham maddelerin depodan toplandığını ve tüketime hazır olduğunu gösterir. Ham madde toplama işi tamamlandığında veya toplama listesi günlüğü kaydedildiğinde bu olay sisteme işlenir. | ||
| Neden önemli? Bu etkinlik, üretimin başlaması için önemli bir kontrol noktasıdır. Çizelgeleme ile malzeme toplama arasındaki gecikmeler, depo operasyonlarındaki veya malzeme bulunabilirliğindeki sorunları gösterir. Nereden alınır? Bu olay genellikle üretim emriyle bağlantılı depo yönetimi tablolarında (WHSWorkTable) veya envanter günlüklerinde (InventJournalTrans) açıkça kaydedilir. Kaydedin Üretim emriyle ilişkili toplama listesi günlüğünün kayıt zaman damgasını alın. Olay türü explicit | |||
Veri çıkarma rehberleri
Adımlar
- Data Management çalışma alanına gidin: Microsoft Dynamics 365 Finance and Operations’ta oturum açın. Arama çubuğundan
Data managementçalışma alanını bulun ve açın. - Yeni bir dışa aktarma projesi oluşturun: Çalışma alanında
Exportkutucuğunu seçerek yeni bir veri dışa aktarma projesi oluşturun. ProjeyeProcessMind_Production_Ordersgibi açıklayıcı bir ad verin. - Dışa aktarma dosyası biçimini seçin: Proje ayarlarında CSV veya Excel gibi istediğiniz veri biçimini seçin.
Entityseçeneğini ayarlayın ve biçim ayrıntılarını belirtin. Performans ve uyumluluk açısından CSV önerilir. - Gerekli veri varlıklarını ekleyin: Üretim emirlerine ait tüm olayları yakalamak için gerekli veri varlıklarını projeye ekleyin. Şu varlıkların her birini eklemeniz gerekir:
Üretim emirleri,Production order route transactions,Inventory quality ordersveProduction picking list journal lines. Her varlıkta, sorgu bölümünde belirtilen ilgili tüm alanları seçtiğinizden emin olun. - Veri filtrelerini uygulayın: Dışa aktarılacak verilerin kapsamını belirlemek için her varlıkta
Filtreseçeneğini kullanın. En azından doğru tüzel kişiliği seçmek içinCompanyalanına göre filtre uygulayın. Veri hacmini yönetilebilir düzeyde tutmak için tarih aralığı filtresi uygulamanız önemle önerilir. Örneğin,Üretim emirlerivarlığındakiCreation datealanını kullanarak son 6 ayı seçebilirsiniz. - Artımlı dışa aktarmaları yapılandırın (isteğe bağlı): Sürekli analiz için projeyi artımlı dışa aktarmalara göre yapılandırın. Kaynak varlıklardaki değişiklikleri izleyerek son dışa aktarmadan bu yana eklenen veya değiştirilen kayıtları alabilir, dışa aktarma süresini önemli ölçüde kısaltabilirsiniz.
- Dışa aktarma işini çalıştırın: Proje ayarları tamamlandığında, eylem bölmesindeki
Exportseçeneğine tıklayarak dışa aktarmayı başlatın. İşlemi hemen çalıştırabilir veya yinelenen bir toplu iş olarak zamanlayabilirsiniz. - Dışa aktarılan dosyaları indirin: Dışa aktarma işi başarıyla tamamlandıktan sonra iş geçmişine gidin. Eklediğiniz her varlık için ayrı veri dosyaları içeren ZIP paketini indirin.
- Verileri olay günlüğüne dönüştürün: Dışa aktarılan dosyalar biçimlendirilmiş bir olay günlüğü değil, ham tablo verileridir. Bu dosyalardaki verileri işlemek ve birleştirmek için harici bir araç (örneğin Python betiği, Excel veya Power BI içindeki Power Query ya da bir ETL aracı) kullanmanız gerekir. Sorgu bölümünde açıklanan dönüştürme mantığını uygulayarak çeşitli varlıklardaki tarih ve durum alanlarını tek bir olay günlüğü dosyasında birleştirin. Her satır bir etkinliği temsil etmelidir.
- Son olay günlüğünü düzenleyin: Dönüştürülmüş son CSV dosyasında
ProductionOrderNumber,ActivityName,EventTime,SourceSystemveLastDataUpdatesütunlarının yanı sıra önerilen özniteliklerin de bulunduğundan emin olun. Dosyada başlık satırı olmalı ve ProcessMind’e yüklenmeye hazır olmalıdır.
Yapılandırma
- Temel veri varlıkları: Bu veri çıkarma yöntemi, daha sonra birleştirilecek birkaç varlığın dışa aktarılmasına dayanır. Başlıca varlıklar
Üretim emirleri(ProdTable),Production order route transactions(ProdRouteTrans) veInventory quality orders(InventQualityOrderTable) şeklindedir. - Tarih aralığı filtresi: Veri hacmini yönetmek için her zaman tarih filtresi uygulayın.
Üretim emirlerivarlığındakiCreation date(CREATEDDATETIME) alanına göre son 3 ila 6 ayı filtrelemek iyi bir uygulamadır. Böylece sistemi aşırı yüklemeden güncel ve eksiksiz süreçleri yakalayabilirsiniz. - Şirket filtresi: Analiz etmek istediğiniz belirli şirket veya tüzel kişilik için filtre ayarlamanız gerekir. Bunu, dışa aktarma projesindeki her varlığın
Filtreseçeneği üzerinden yapabilirsiniz. - Tam dışa aktarma ve artımlı dışa aktarma: İlk veri çıkarma işleminde tüm verilerin dışa aktarılması gerekir. Sonraki güncellemelerde performansı artırmak ve veri yükünü azaltmak için varlıklarda değişiklik izlemeyi yapılandırıp artımlı dışa aktarma yapmanız önemle önerilir.
- Ön koşullar: Dışa aktarma işlemini yapan kullanıcının uygun güvenlik rollerine sahip olması gerekir. Bu roller genellikle
Data management administratorrolünü veya gerekli veri varlıklarına erişim izni veren başka bir rolü içerir.
Örnek sorgu 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 Adımlar
- Dynamics 365’te BYOD’yi yapılandırın: Dynamics 365 Finance and Operations ortamınızda 'Bring your own database' özelliğinin yapılandırıldığından emin olun. Bunun için bir Azure SQL Database oluşturmanız ve Dynamics 365’ten veri dışa aktarımını yapılandırmanız gerekir.
- Gerekli varlıkları yayımlayın: 'Data management' çalışma alanında 'Data entities' bölümüne gidin. Aşağıdaki temel varlıkları bulup BYOD veritabanınızda yayımlayın: ProdTable, ProdRouteTrans, InventPickingListJour ve InventQualityOrderTable. Yinelenen dışa aktarma için yapılandırıldıklarından emin olun.
- Veri eşitlemesini doğrulayın: Yayımlanan varlıklardaki verilerin hedef Azure SQL Database’e başarıyla ve düzenli olarak eşitlendiğini doğrulayın. Hata olup olmadığını görmek için dışa aktarma işinin geçmişini kontrol edin.
- BYOD veritabanına bağlanın: Dynamics 365 verilerinizin bulunduğu Azure SQL Database’e bağlanmak için SQL Server Management Studio (SSMS) veya Azure Data Studio gibi bir SQL istemcisi kullanın.
- SQL sorgusunu hazırlayın: Yeni bir sorgu penceresi açın ve bu belgede verilen SQL sorgusunun tamamını kopyalayın.
- Sorgu parametrelerini ayarlayın: Sorgudaki yer tutucu değişkenleri bulun. Analiz etmek istediğiniz tarih aralığı ve şirketin DataAreaId değeriyle '{StartDate}', '{EndDate}' ve '{CompanyCode}' yer tutucularını değiştirin.
- Sorguyu çalıştırın: Düzenlediğiniz SQL sorgusunu BYOD veritabanında çalıştırın. Çalışma süresi, veri hacmine ve belirttiğiniz tarih aralığına göre değişir.
- Sonuçları inceleyin: Sorgu tamamlandığında, çıktıda çıkarılan tüm etkinliklere ait beklenen sütunların ve verilerin bulunduğunu doğrulayın. Sonuç kümesi olay günlüğüdür.
- Olay günlüğünü dışa aktarın: Sorgu sonuçlarını CSV dosyasına aktarın. Çoğu SQL istemcisinde sonuçları doğrudan dosyaya kaydetme işlevi bulunur.
- ProcessMind için biçimlendirin: Dışa aktarılan CSV dosyasının UTF-8 kodlamasını kullandığından ve sütun başlıklarının ProcessMind’in gerektirdiği CaseId, Activity ve Timestamp gibi öznitelik adlarıyla eşleştiğinden emin olun. Verilen sorguda doğru takma adlar zaten kullanılmıştır.
Yapılandırma
- Temel veri varlıkları: Sorgu, öncelikle BYOD ortamınıza aktarılmış şu varlıklardan yararlanır:
PRODTABLE: Üretim emri başlığına ve durumuna ilişkin temel bilgileri içerir.PRODROUTETRANS: Üretim operasyonlarının ve tamamlanma durumlarının ayrıntılarını sağlar.INVENTPICKINGLISTJOUR: Üretim emirleri için malzeme toplama işlemlerini kaydeder.INVENTQUALITYORDERTABLE: Üretimle bağlantılı kalite kontrol emirlerini izler.
- Tarih aralığı: Sorgunun performansını yönetilebilir düzeyde tutmak için 3 ila 6 aylık veriyle başlamanız önerilir. Sorgu, filtreleme için üretim emrinin oluşturulma tarihini (
PRODTABLEtablosundakiCREATEDDATETIME) kullanır. - Şirket kodu filtresi: Belirli bir tüzel kişilik veya şirkete ait verileri filtrelemek için
DATAREAIDalanı kullanılır.'{CompanyCode}'yer tutucusunu ilgili kimlikle, örneğin 'usmf' ile değiştirmeniz gerekir. - Ön koşullar: Bu yöntem için BYOD’yi yapılandırmak üzere Dynamics 365 Finance and Operations sistem yöneticisi erişimi ve sorguları çalıştırmak üzere Azure SQL Database üzerinde Contributor izinleri gerekir.
- Performans: Birkaç yıla veya şirkete yayılan çok büyük veri setlerinde sorguyu yoğun olmayan saatlerde çalıştırmayı değerlendirin. Verileri daha küçük zaman aralıklarında çıkarıp sonuçları daha sonra birleştirebilirsiniz.
Örnek sorgu 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}'; Adımlar
- Power BI Desktop’ın veya Power Query içeren onaylı başka bir aracın kullanılabilir olduğunu ve kullanıcının gerekli Microsoft Dynamics 365 Manufacturing veri varlıklarını okuma yetkisine sahip olduğunu doğrulayın. Ortam URL’sini, tüzel kişilik veya şirket kapsamını ve onaylı kimlik doğrulama yöntemini teyit edin.
- Power BI Desktop’ta Get data seçeneğini belirleyin ve onaylı Dynamics 365 bağlayıcısını ya da kuruluşa özel OData veya Dataverse bağlantısını seçin. Yöneticinizin yapılandırdığı [Your Dynamics 365 environment connection] ve [Your credentials] değerlerini kullanın. Her dağıtımda belirli bir varlığın, uç noktanın veya menü yolunun kullanılabilir olduğunu varsaymayın.
- Üretim emri başlığı varlığını, üretim emri operasyonu veya rota varlığını, malzeme toplama veya toplama listesi varlığını, üretim kaydı varlıklarını, kalite emri varlığını ve durum değişikliklerini belirlemek için gereken onaylı denetim, geçmiş veya değişiklik izleme varlıklarını seçin. Sorgudaki her kaynak başvurusunu ortamınızda bulunan ilgili varlık veya sorguyla değiştirin.
- Veri çıkarma kapsamını yapılandırın. [Start date parameter], [End date parameter] ve [Your company or legal entity filter] değerlerini uygulayın. Sorguyu gerekli tesislerdeki, ürünlerdeki, emir türlerindeki ve durumlardaki üretim emirleriyle sınırlandırın. Oluşturma, tahmin, çizelgeleme, malzeme toplama, serbest bırakma, düzeltme, başlatma, operasyon tamamlama, tamamlandı olarak bildirme, kalite, sonlandırma ve iptal aşamalarını ayırt etmek için gereken kaynak zaman damgalarını koruyun.
- Power Query’de kaynak sütun adlarını ve veri türlerini standartlaştırın. Olay zaman damgalarını tutarlı bir tarih-saat türüne dönüştürün; kimlikleri, durum değerlerini, şirket ve tesis değerlerini, ürün numaralarını, kullanıcıları, miktarları ve öncelikleri standartlaştırın. Kaynak alanı yoksa değer uydurmak yerine null döndürün. Vaka kimliği olarak üretim emri numarasını kullanın.
- Her etkinlik için ayrı bir olay tablosu oluşturun. Her tablo şu alanları döndürmelidir: ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity ve ProductionPriority. Etkinlik adı, gerekli 13 addan biriyle eşleşen sabit bir değer olmalıdır.
- Production Order Adjusted etkinliğini yalnızca onaylı bir önceki ve sonraki durum geçmişi, denetim veya değişiklik izleme kaynağından belirleyin. Miktar, planlanan tarihler, durum, tesis, ürün ve öncelik gibi ilgili alanları karşılaştırın. Kaydedilen değişiklik zaman damgasını kullanarak her uygun değişiklik için bir düzeltme satırı oluşturun. Yalnızca mevcut üretim emri anlık görüntüsüne dayanarak düzeltme olduğu sonucuna varmayın.
- 13 etkinlik tablosunun tümünü UNION ALL ile birleştirin. Üretim emri numarası veya olay zaman damgası olmayan satırları kaldırın; ancak yinelenen operasyon tamamlamalarını, düzeltmeleri veya kalite olaylarını silmeyin. ProductionOrderNumber ve EventTime alanlarına göre, varsa belirleyici bir ikincil sıralama ölçütüyle sıralayın.
- Ortaya çıkan tabloyu Power BI’a yükleyin veya CSV ya da ProcessMind’in desteklediği başka bir olay günlüğü biçiminde dışa aktarın. Dışa aktarılan başlıkların tam olarak şu adlarla eşleştiğinden emin olun: ProductionOrderNumber, ActivityName, EventTime, SourceSystem, LastDataUpdate, ProductionOrderStatus, PlannedStartDate, PlannedEndDate, UserId, ProductionPlant, ProductNumber, ProductionType, ActualQuantity ve ProductionPriority.
- ProcessMind’e yüklemeden önce gerekli her etkinliğin olay günlüğünde ayrı bir satır olarak bulunduğunu, zaman damgalarının tutarlı bir saat dilimi kullandığını, ProductionOrderNumber alanının dolu olduğunu ve LastDataUpdate alanının veri çıkarma yenilemesini belirttiğini doğrulayın. ProcessMind olay günlüğünü olduğu gibi okur, eksik olayları türetmez.
Yapılandırma
- Bağlantı: Dynamics 365 ortamı için onaylı Power Query bağlayıcısını ve kimlik doğrulama yöntemini kullanın. [Your Dynamics 365 environment connection] ve [Your credentials] değerlerini kuruluşunuzun onayladığı değerlerle değiştirin.
- Kaynak varlıklar: Ortamda bulunan üretim emri başlığı, operasyon veya rota, malzeme toplama veya toplama listesi, üretim kaydı, kalite emri ve onaylı denetim ya da değişiklik izleme varlıklarını seçin. Varlık adları ve kullanılabilirlik dağıtıma göre değişir; bunları meta veri tarayıcısında doğrulayın.
- Tarih aralığı: 3 ila 6 aylık bir aralıkla başlayın. Mümkün olduğunda kaynakta EventTime filtreleri kullanın; uzun süren üretim emirlerini veya geçmiş durum geçişlerini doğrularken aralığı genişletin.
- Şirket ve tesis filtreleri: [Your company or legal entity filter] değerini ve gerekiyorsa üretim tesisi filtresini uygulayın. Ortamda birden fazla tüzel kişilik ve çakışan emir numaraları varsa genel bir şirket filtresi kullanmayın.
- Üretim emri filtreleri: Gerekli üretim emri türlerine, ürünlere, tesislere, durumlara ve emir numarası aralıklarına göre filtre uygulayın. Süreç analizi için iptal edilmiş veya sonlandırılmış emirler gerekiyorsa bunları filtre dışında bırakmayın.
- Olayları dahil etme: Yinelenen operasyon tamamlama, malzeme toplama, kalite ve düzeltme olaylarını koruyun. Günlüğü her üretim emri için tek satıra indirmeyin.
- Saat dilimi: Tüm kaynak zaman damgalarını belgelenmiş tek bir saat dilimine dönüştürün. Kaynak sağlıyorsa kaynak zaman damgasını veya saat dilimi farkını koruyun.
- Yenileme meta verileri: Her satırdaki LastDataUpdate alanına yenileme veya veri çıkarma zaman damgasını yazın. Tüm veri seti tek seferde çıkarılıyorsa tek bir yenileme zaman damgası kullanabilirsiniz.
- Performans: Tarih, şirket, tesis ve emir filtrelerini kaynağa uygulayın. Yalnızca gerekli sütunları seçin, gereksiz birleştirmelerden kaçının, yeniden kullanılabilir kaynak sorgularını hazırlayın ve büyük veri setleri için artımlı yenilemeyi değerlendirin.
- Ön koşullar: Power BI Desktop veya onaylı bir Power Query ortamı, Dynamics 365 ortamına ağ erişimi, seçilen tüm varlıklar için geçerli okuma izinleri ve gereken Dynamics 365 Manufacturing, depo, kalite, denetim veya değişiklik izleme erişimi.
- Yapılandırmaya bağlı veriler: Gerekli bir olay kaynağı etkin değilse [Configure based on your system] seçeneğini kullanın ve eksik kaynağı belgeleyin. Geçmiş olayların yerine mevcut durum anlık görüntüsünü kullanmayın.
Örnek sorgu 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 Başlamaya hazır mısınız?
Bu ayrıntılı şablon, üretim planlama verilerinizi çıkarmaya ve analiz etmeye başlamanız için gereken her şeyi sunar. Operasyonlarınızı en verimli düzeye taşımak için bugün iyileştirmelere başlayın.
Üretim planlamasını iyileştirin, verimliliği artırın
Darboğazları belirleyin, üretim çevrim süresini %30 veya daha fazla kısaltın.
Kredi kartı gerekmez, kurulumu dakikalar içinde tamamlayın.