Aracılığıyla paylaş


Paket iş akışı, görev için profil oluşturma verileri kullanarak

Otomatik bir süreç için aday veri profil oluşturma ve temizleme, erken aşamalarında değildir.In SQL Server Integration Services, the output of the Data Profiling task usually requires visual analysis and human judgment to determine whether reported violations are meaningful or excessive.Veri kalitesi sorunlarını tanımak sonra bile hala sahip temizleme için en iyi yaklaşım, dikkatli bir şekilde thought-out bir plan olması.

Ancak, veri kalite ölçütlerini kurulduktan sonra bir dönemsel analiz ve temizleme veri kaynağının otomatik hale getirmek isteyebilirsiniz.Bu senaryoları göz önünde bulundurun:

  • Artan bir yük önce veri kalite kontrol.Data profil oluşturma görevi MüşteriAdı sütununda bir müşteri için yeni veri sütun null oranı profil hesaplamak için kullanmak tablo.Null değerler yüzdesi % 20'den büyükse, profili çıktı işleç için içeren bir e-posta iletisi göndermek ve paketin son.Aksi halde, artan yükü devam edin.

  • Otomatikleştirme, belirtilen koşulları bir temizleme.Data profil oluşturma görev durumu sütununda bir arama tablosu durumları ve posta kodu sütununda bir arama tablosu posta kodlarının karşı karşı değer içerme profilinin hesaplamak için kullanın.Durum değerleri ekleme gücünü % 80'den az olan, ancak posta kodu değerleri ekleme gücünü % 99 ' büyükse, bu iki şey gösterir.İlk olarak, durum verisi hatalı olur.İkinci olarak, posta kodu verileri uygundur.Geçerli posta kodu posta kodu değer doğru durum değeri arama yaparak durumu verileri temizler veri akışı görevi başlatma.

veri akışı görevi katabilirler bir iş akışı oluşturduktan sonra bu görevi eklemek için gereken adımlar anlamak gerekir.Sonraki bölümde genel veri akışı görevi ekleme işlemini açıklar.Son iki bölümde, veri akışı görev ya da doğrudan veri bağlamak anlatan kaynak ya da dönüştürülmüş verileri veri akışı için.

veri akışı görevi için bir genel iş akışı tanımlama

Aşağıdaki yordam iş akışında çıktı veri profil oluşturma görevinin kullanmak için genel yaklaşım özetlenmektedir bir paket.

Çıktı verileri profil oluşturma görevin programlı olarak kullanılacak bir paket

  1. Data profil oluşturma görev eklemek ve bir paket.

  2. Profil sonuçlar almak için istediğiniz değerleri tutmak için paket değişkenleri yapılandırın.

  3. Ekleme ve yapılandırma komut dosyası göreve.Komut dosyası görev Data profil oluşturma göreve bağlayın.Komut dosyası görev, istenen değerleri veri profil oluşturma görevinin çıktı dosyadan okur ve paket değişkenleri dolduran kodunu yazın.

  4. İş akışında aşağı akım dalları kod görev bağlanmak öncelik kısıtlamaları değişkenleri değerlerini doğrudan iş akışı kullanan ifade yazın.

Data profil oluşturma görevi iş akışı içinde ekleme, bir paket, bu iki görevin özelliklerini göz önünde bulundurun:

  • Görev çıkışı.Data profil oluşturma görevi çıktısı bir dosyaya veya bir paket değişken DataProfile.xsd şemaya göre XML biçiminde yazar.Bu nedenle, bir paketin koşullu akışında profili sonuçlar kullanmak istediğiniz XML çıktısı arama gerekir.Bu XML çıktısı sorgusu için XPath sorgu dili kolayca kullanabilirsiniz.Bu XML çıktısı yapısını incelemek için bir çıktı dosyası ya da şema kendisini açabilirsiniz.To open the output file or schema, you can use Microsoft Visual Studio, another XML editor, or a text editor, such as Notepad.

    Not

    Data profil görüntüleyicide görüntülenir profil sonuçlar çıkışı doğrudan bulunmayan hesaplanmış değerleri şunlardır.Örneğin, çıktı sütun null oranı profilinin toplam satır sayısını ve null değerler içeren satır numarasını içerir.Bu iki değer sorgulamak ve sonra sütun null oranı elde etmek için boş değer içeren satırları yüzdesi hesaplamak zorunda.

  • Görev girişi.The Data profil oluşturma görevi, girdisini okurSQL ServerTablo.Bu nedenle, zaten yüklenmiş ve veri akışı içinde dönüştürülmüş bir profil verileri kullanmak istiyorsanız, tablo hazırlama için bellek, verileri kaydetmeniz gerekir.

Aşağıdaki bölümlerde bu genel iş akışını doğrudan bir dış veri gelen verileri profil oluşturma için uygulama kaynak veya, dönüştürülen veri akışı görevden.Bu, giriş ve çıkış veri akışının görev gereksinimlerini nasıl da gösterir.

Profil oluşturma bir dış veri doğrudan göreve veri bağlama kaynak

Data profil oluşturma görevini bir verileri doğrudan gelen veri profil kaynak.Bu yetenek göstermek için bir sütun null oranı profili Person.Address tablonun sütunları hesaplamak için Data profil oluşturma görev aşağıdaki örnekte kullanırAdventureWorksveritabanı.Daha sonra bu örnek almak için bir komut dosyası görev kullanır sonuçlar çıktı gelen dosya ve doğrudan iş akışı için paket değişkenleri doldurun.

Not

Bu sütun null değerleri yüksek bir yüzdesini içerdiğinden AddressLine2 sütunu bu basit örnekte seçildi.

Bu örnekte, aşağıdaki adımlardan oluşur:

  • Dış veri kaynağına ve profil sonuçlar içeren çıkış dosyası bağlantısı yöneticileri yapılandırma.

  • Data profil oluşturma görevi tarafından gerekli değerleri tutacak paket değişkenleri yapılandırma.

  • Data profil oluşturma görevi sütun null oranı profil hesaplamak için yapılandırma.

  • Data profil oluşturma görevi XML çıktısı çalışması için komut dosyası görev yapılandırma.

  • İş akışındaki hangi aşağı akım dalları temel çalışma denetleyen öncelik kısıtlamaları yapılandırma sonuçlar Data profil oluşturma görevinin.

Bağlantı Yöneticisi yapılandırma

Bu örnekte, iki bağlantı yöneticileri vardır:

  • AnADO.NETbağlandığı bağlantı YöneticisiAdventureWorksveritabanı.

  • Çıktı dosyası oluşturan bir dosya Bağlantı Yöneticisi profil oluşturma veri görev sonuçlarını tutacaktır.

Bağlantı yöneticileri yapılandırmak için

  1. InBusiness Intelligence Development StudioYeni oluşturmaIntegration Servicespaket.

  2. Ekleme birADO.NETBağlantı Yöneticisi paket.Bu NET veri sağlayıcı için kullanılacak Bağlantı Yöneticisi yapılandırmaSQL Server(SqlClient), kullanılabilir bir örneğine bağlanmak için veAdventureWorksveritabanı.

    Varsayılan olarak, Bağlantı Yöneticisi aşağıdaki adı vardır: < sunucu adı > .AdventureWorks1.

  3. Bir dosya Bağlantı Yöneticisi paket ekleyin.Data profil oluşturma görev için çıktı dosyası oluşturmak için bu bağlantı Yöneticisi'ni yapılandırın.

    Bu örnek, DataProfile1.xml dosya adını kullanır.Varsayılan olarak, Bağlantı Yöneticisi dosyayla aynı ada sahip.

Paket değişkenleri yapılandırma

Bu örnek, iki paket değişken kullanır:

  • ProfileConnectionName değişken komut dosyası göreve Bağlantı Yöneticisi dosya adını geçirir.

  • AddressLine2NullRatio değişken komut dosyası görevi, bu sütun için hesaplanan null oranı paket iletir.

Profil sonuçlar tutacak paket değişkenleri yapılandırmak için

  • ,Değişkenleri penceresinde eklemek ve aşağıdaki iki paket değişkeni:

    • ENTER adıProfileConnectionName, bir değişkeni ve küme dizebu değişken türü.

    • ENTER adıAddressLine2NullRatio, diğer değişkeni ve küme çiftbu değişken türü.

Görev profil oluşturma verileri yapılandırma

Aşağıdaki şekilde yapılandırılacak veri profil oluşturma görevi vardır:

  • Verileri kullanmak içinADO.NETBağlantı Yöneticisi Kaynakları girdi.

  • Bir sütun null oranı profili verilerin üzerinde gerçekleştirilecek.

  • Profilin kaydedileceği sonuçlar dosya Bağlantı Yöneticisi ile ilişkili dosya.

Data profil oluşturma görevi yapılandırmak için

  1. Denetim akışı için veri profil oluşturma görev ekleyin.

  2. AçıkVeri profil oluşturma, görev Düzenleyicisi görev. yapılandırmak için

  3. ,Genel sayfa için hedef, Düzenleyicisi, önceden yapılandırılmış Bağlantı Yöneticisi dosya adını seçin.

  4. ,Profil isteği bir yeni sütun null oranı profil. sayfa Düzenleyicisi, oluşturma

  5. ,İstek özellikleriConnectionManager bölmesinde seçin ADO.NETönceden yapılandırılmış Bağlantı Yöneticisi.Daha sonra içinTableOrView, seçim Person.Address.

  6. Görev Düzenleyicisi profil oluşturma verileri kapatın.

Yapılandırma komut dosyası görev

Komut dosyası görev çıktı dosyasının sonuçlarını almak ve önceden yapılandırılmış paket değişkenleri doldurmak için yapılandırılmış olması gerekir.

Komut dosyası görevi yapılandırmak için

  1. İçin Denetim akışı, ekleme komut dosyası bir görev.

  2. Komut dosyası görev Data profil oluşturma göreve bağlayın.

  3. AçıkKomut dosyası görev Düzenleyicisi görev. yapılandırmak için

  4. ,Komut dosyası sayfasında, bilgisayarınızın tercih edilen programlama dili. seçin Sonra iki paket değişkenleri komut dosyası için kullanılabilir yapın:

    1. İçinReadOnlyVariables, seçim ProfileConnectionName .

    2. İçinReadWriteVariables, seçim AddressLine2NullRatio .

  5. SeçinKomut dosyası Düzenle Açılacak komut dosyası geliştirme ortamı.

  6. System.XML ad alanı için bir başvuru ekleyin.

  7. Programlama diliniz karşılık gelen örnek kodunu girin:

    Imports System
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports System.Xml
    
    Public Class ScriptMain
    
      Private FILENAME As String = "C:\ TEMP\DataProfile1.xml"
      Private PROFILE_NAMESPACE_URI As String = "https://schemas.microsoft.com/DataDebugger/"
      Private NULLCOUNT_XPATH As String = _
        "/default:DataProfile/default:DataProfileOutput/default:Profiles" & _
        "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:NullCount/text()"
      Private TABLE_XPATH As String = _
        "/default:DataProfile/default:DataProfileOutput/default:Profiles" & _
        "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:Table"
    
      Public Sub Main()
    
        Dim profileConnectionName As String
        Dim profilePath As String
        Dim profileOutput As New XmlDocument
        Dim profileNSM As XmlNamespaceManager
        Dim nullCountNode As XmlNode
        Dim nullCount As Integer
        Dim tableNode As XmlNode
        Dim rowCount As Integer
        Dim nullRatio As Double
    
        ' Open output file.
        profileConnectionName = Dts.Variables("ProfileConnectionName").Value.ToString()
        profilePath = Dts.Connections(profileConnectionName).ConnectionString
        profileOutput.Load(profilePath)
        profileNSM = New XmlNamespaceManager(profileOutput.NameTable)
        profileNSM.AddNamespace("default", PROFILE_NAMESPACE_URI)
    
        ' Get null count for column.
        nullCountNode = profileOutput.SelectSingleNode(NULLCOUNT_XPATH, profileNSM)
        nullCount = CType(nullCountNode.Value, Integer)
    
        ' Get row count for table.
        tableNode = profileOutput.SelectSingleNode(TABLE_XPATH, profileNSM)
        rowCount = CType(tableNode.Attributes("RowCount").Value, Integer)
    
        ' Compute and return null ratio.
        nullRatio = nullCount / rowCount
        Dts.Variables("AddressLine2NullRatio").Value = nullRatio
    
        Dts.TaskResult = Dts.Results.Success
    
      End Sub
    
    End Class
    
    using System;
    using Microsoft.SqlServer.Dts.Runtime;
    using System.Xml;
    
    public class ScriptMain
    {
    
      private string FILENAME = "C:\\ TEMP\\DataProfile1.xml";
      private string PROFILE_NAMESPACE_URI = "https://schemas.microsoft.com/DataDebugger/";
      private string NULLCOUNT_XPATH = "/default:DataProfile/default:DataProfileOutput/default:Profiles" + "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:NullCount/text()";
      private string TABLE_XPATH = "/default:DataProfile/default:DataProfileOutput/default:Profiles" + "/default:ColumnNullRatioProfile[default:Column[@Name='AddressLine2']]/default:Table";
    
      public void Main()
      {
    
        string profileConnectionName;
        string profilePath;
        XmlDocument profileOutput = new XmlDocument();
        XmlNamespaceManager profileNSM;
        XmlNode nullCountNode;
        int nullCount;
        XmlNode tableNode;
        int rowCount;
        double nullRatio;
    
        // Open output file.
        profileConnectionName = Dts.Variables["ProfileConnectionName"].Value.ToString();
        profilePath = Dts.Connections[profileConnectionName].ConnectionString;
        profileOutput.Load(profilePath);
        profileNSM = new XmlNamespaceManager(profileOutput.NameTable);
        profileNSM.AddNamespace("default", PROFILE_NAMESPACE_URI);
    
        // Get null count for column.
        nullCountNode = profileOutput.SelectSingleNode(NULLCOUNT_XPATH, profileNSM);
        nullCount = (int)nullCountNode.Value;
    
        // Get row count for table.
        tableNode = profileOutput.SelectSingleNode(TABLE_XPATH, profileNSM);
        rowCount = (int)tableNode.Attributes["RowCount"].Value;
    
        // Compute and return null ratio.
        nullRatio = nullCount / rowCount;
        Dts.Variables["AddressLine2NullRatio"].Value = nullRatio;
    
        Dts.TaskResult = Dts.Results.Success;
    
      }
    
    }
    

    Not

    Bu yordamda gösterildiği örnek kod, veri profil oluşturma görev çıktısını bir dosya yükleme gösterilmiştir.Data profil oluşturma görev çıktısını yerine bir paket değişkeninden yüklemek için bu yordamı takip eden diğer örnek kod bakın.

  8. Komut dosyası geliştirme ortamı kapatın ve sonra görev Kod Düzenleyicisi'ni kapatın.

Alternatif kod — profil çıktı bir değişken okuma

Data profil oluşturma görevden çıktısını bir dosyadan yüklemek için önceki yordamı gösterir.Ancak, bu çıktı bir paket değişkeninden yüklemek için alternatif bir yöntem olacaktır.Çıktı bir değişkeninden yüklemek için örnek kod için aşağıdaki değişiklikleri vardır:

  • CallLoadXmlyöntemi,XmlDocumentyerine sınıfLoadyöntem.

  • The Script görev Düzenleyicisi'nde, görev için profil çıktı içeren paket değişkeninin adı eklemeReadOnlyVariablesliste.

  • Dize değerini değişkenine,LoadXMLyöntem, gösterildiği gibi aşağıdaki kod örneği.(Bu örnekte, "ProfileOutput" profili çıktı içeren paket değişken adı olarak kullanır.)

    Dim outputString As String
    outputString = Dts.Variables("ProfileOutput").Value.ToString()
    ...
    profileOutput.LoadXml(outputString)
    
    string outputString;
    outputString = Dts.Variables["ProfileOutput"].Value.ToString();
    ...
    profileOutput.LoadXml(outputString);
    

Öncelik kısıtlamaları yapılandırma

Öncelik kısıtlamaları iş akışındaki hangi aşağı akım dalları Data profil oluşturma görevi sonuçlarına göre çalışan denetimi için yapılandırılmış olması gerekir.

Öncelik kısıtlamaları yapılandırmak için

  • İş akışında aşağı akım dalları kod görev bağlanmak öncelik kısıtlamaları değişkenleri değerlerini doğrudan iş akışı kullanan ifade yazın.

    , Örneğin olabilir kümeDeğerlendirme işlemi öncelik kısıtlamanın ifade ve kısıtlama . Daha sonra kullanın@AddressLine2NullRatio < .90değerini ifade.Bu, önceki görevleri başarılı ve % 90'den az seçili sütunun null değerleri yüzdesi, seçilen yol izlemek iş akışı sağlar.

Görev için dönüştürülen verilerin veri akışı profil oluşturma verileri bağlama

Profil oluşturma verileri doğrudan bir veri yerine kaynak, zaten yüklü ve veri akışı dönüştürülen veri profil.Ancak, yalnızca kalıcı verilere, bellekteki verilere değil karşı karşı Data profil oluşturma görev çalışır.Bu nedenle, önce hedef bileşeni için bir hazırlama dönüştürülmüş verileri kaydetmek için kullanmanız gerekir tablo.

Not

Data profil oluşturma görevi konfigüre ettiğinizde, varolan tablo ve sütun seçmek vardır.Bu nedenle, tasarım sırasında çalışma tablosu oluşturmanız gerekir saat önce görev yapılandırabilirsiniz.Diğer bir deyişle, bu senaryoda, çalıştırma sırasında oluşturulan geçici tablo kullanmak izin vermez.

Sonra bir hazırlama için verileri kaydetme tablo, aşağıdaki eylemleri gerçekleştirebilirsiniz:

  • Profil verileri için veri profil oluşturma görevi'ni kullanın.

  • Bu konuda daha önce açıklandığı gibi sonuçlar okumak için bir komut dosyası görev kullanın.

  • Bu sonuçlar, sonraki iş akışı paket yönlendirmek için kullanın.

Aşağıdaki yordam, veri akışı tarafından dönüştürülmüş profil verileri veri profil oluşturma görevi kullanma genel yaklaşım sağlar.Bu adımların çoğu, doğrudan bir dış veri kaynağından gelen verileri profil oluşturma için daha önce açıklanan olanlara benzer.Bu çeşitli bileşenleri yapılandırma hakkında daha fazla bilgi için önceki adımları gözden geçirmek isteyebilirsiniz.

Data profil oluşturma görevi veri akışı kullanmak için

  1. InBusiness Intelligence Development Studiooluşturma paket.

  2. Veri akışı eklemek, yapılandırmak ve uygun kaynakları ve dönüştürme.

  3. Veri akışı içinde eklemek, yapılandırmak ve bağlanmak için bir hazırlama dönüştürülmüş verilerini kaydeden hedef bileşeni tablo.

  4. Denetim akışı eklemek ve yapılandırmak istediğiniz profilleri hazırlama, dönüştürülen verilerin karşı hesaplar Data profil oluşturma görevi tablo.Data profil oluşturma görevi veri akışı göreve bağlayın.

  5. Profil sonuçlar almak için istediğiniz değerleri tutmak için paket değişkenleri yapılandırın.

  6. Ekleme ve yapılandırma komut dosyası göreve.Komut dosyası görev Data profil oluşturma göreve bağlayın.Komut dosyası görev, Data profil oluşturma görevin çıktısı istenen değerleri okur ve paket değişkenleri dolduran kodunu yazın.

  7. İş akışında aşağı akım dalları kod görev bağlanmak öncelik kısıtlamaları değişkenleri değerlerini doğrudan iş akışı kullanan ifade yazın.

Integration Services icon (small)tümleştirme Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler, Microsoft Office 2010 Suite gelen video yanı sıra, seçilen topluluk çözümleri için ziyaret edin veIntegration ServicesMSDN veya TechNet sayfa:

Bu güncelleştirmeler otomatik bildirilmesi için sayfanın RSS akışlarını için abone olmak olun.