Genel sorun, veri entegrasyonu adı verilen daha büyük bir alt alanın parçası olan, veri temizleme adı verilen bütün bir programlama alanıdır . Bu tür sorunlardan kaçınmak, büyük olasılıkla Excel sayfalarından geçişin nedeninin ve kıdemli devin neden bir alanın boşuna alınmasına izin vermek istemediğinin büyük bir bölümünü oluşturuyor. Bunun veri göçlerinde en büyük karmaşıklık kaynaklarından biri olduğunu söylemenin mantıksız olduğunu sanmıyorum.
Yapmanız gereken çok yanlış bir şey olduğunda NULL kullanmayı seçmeniz , veri modelini daha fazla alanı null yapılabilmesi için değiştirmenin tek başına. Excel, bu sorunların çoğunun nedeni olarak muhtemelen zayıf veya bütünlük denetimi yapmıyor. Yapılması gereken yanlış şey, yeni veritabanındaki bütünlük kontrolünü kaldırmak ve içine çöp atmaktır. Bu sadece sorunu devam ettirir ve saçma sapan verilerle bir şekilde başa çıkması gereken gelecekteki entegrasyonlara önemli bir karmaşıklık ekler.
Aradaki farkın bir kısmı veri modeli uyumsuzluğundan kaynaklanıyor olabilir. Bununla başa çıkmak büyük ölçüde hem veri modellerine aşina olmak hem de eskisini yenisiyle nasıl eşleştireceğinizi bilmek. Sürece yenisi olarak ise eskisini yakalama yeteneğine. (Değilse, ekibinizin muhtemelen çok büyük bir problemi vardır.) Bu sadece sütun kopyalamaktan daha fazla iş yapmayı gerektirebilir. Darkwing buna mükemmel bir örnek verir (NULL'ları neden körlemenin yanlış yapılması neden yanlış bir şeydir). Eski model bir olsaydı, bunun üzerine tertipleyerek ReceivedDate
ve InProgress
bit ve yeni model bir sahiptir StartDate
ve ProcessingEndTime
siz ve nasıl ayarlanacağı karar gerekecektir ProcessingEndTime
. Nasıl kullanıldığına bağlı olarak, makul (ancak keyfi) bir seçim, aynıStartDate
(veya eğer sorun çıkarırsa kısa bir süre sonra).
Bununla birlikte, farkın bir kısmı, eksik veya bozuk olan "olması gereken" verilerden kaynaklanıyor olabilir. (Büyük olasılıkla veri girişi hatalarından ya da veri işleme sistemindeki geçmiş göçlerden veya hatalardan kötü şekilde ele alındığında). Eğer ekibinizde hiç kimse bunu öngörmezse, o zaman (toplu olarak) proje süresinin% 20'sini harcamak için kendinize karar verdiniz " neredeyse bitti. (Bu bir uydurma numaraydı, ama çok uzak olabilir).Bundan daha kötüsü ya da daha iyisi. Ne kadar verinin yanlış olduğuna, ne kadar önemli olduğuna, ne kadar karmaşık olduğuna, verilerden sorumlu olanlardan ve diğer faktörlerden ne kadar kolay katılacağına bağlıdır.) Verilerin "olması gerektiğini" belirledikten sonra Olmak "orada ama eksik. Genellikle eski veri kaynaklarını sorgulayarak sorunun boyutunu belirlemeye çalışırsınız. Düzinelerce veya yüzlerce giriş ise, muhtemelen veri girişi hatalarıdır ve verilerden sorumlu olan müşteriler bu bilgileri el ile çözmelidir (yani, değerlerin ne olması gerektiğini söyleyin.) Milyonlarca giriş ise (veya verilerin önemli bir bölümü) öyleyse, "orada" olması gerektiğini doğru bir şekilde belirleyip belirlemediğinizi yeniden düşünmeniz gerekebilir. Bu, yeni sistemde bir modelleme hatası olduğunu gösteriyor olabilir.
Örneğin, miktarların bir kısmının açıklanamayan bir şekilde eksik olması haricinde, miktarları ve kalem başına toplamları (birim fiyatı değil) içeren bir fatura düşünün. Bu tür faturaları işleyen kişiyle konuşmak, aşağıdaki senaryolardan birini (veya daha fazlasını) üretebilir: 1) "ah, boş bir miktar 1", 2) "bir miktar anlamına gelir. Ah, bu öğelerin 1000 $ civarında gittiğini biliyorum. Açıkçası bu 2 ", 3)" için bir emirdir, bu olduğu zaman, bu diğer sistemdeki fiyatı araştırıyorum ve bölüyorum ve yuvarlıyordum ", 4)" Ben başka bir sisteme bakıyorum ", 5)" bu gerçek veri değil ", 6)" bunu daha önce hiç görmedim ".
Önerildiği gibi, bu durumu otomatik olarak çözmenin bazı yollarını gösterebilir, ancak çözümün tüm durumlar için geçerli olmasına dikkat etmeniz gerekir. Verileri çapraz kontrol edebilecek diğer sistemlerin dahil olması yaygındır ve bu iyi bir şeydir. Ancak, çapraz kontrolü gerçekleştirmek için bu sistemlere erişim sağlamak ve bu sistemlerle entegrasyon yapmak zor olabileceği için genellikle kötü bir şeydir ve çoğu zaman sistemlerin sadece bazı verilerle değil birbirleriyle çatışmasıyla ortaya çıkar. Bazı manuel müdahale genellikle gereklidir ve ölçeğe bağlı olarak, özellikle veri temizleme görevi için oluşturulacak takım ve arayüzler gerektirebilir. Çoğunlukla yapılan, veriler kısmen ithal edilir ancak eksik verileri olan satırlar incelenebilecekleri ayrı bir tabloya gönderilir.