Aracılığıyla paylaş


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

Veri profil oluşturma ve temizleme otomatik bir süreç için aday kendi 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ıma sonra bile hala var. temizleme için en iyi yaklaşım gideren bir dikkatle thought-out planı olarak

Veri kalitesi için ölçütler belirlendikten sonra ancak, Dönemsel analiz ve veri temizleme otomatikleştirmek istediğiniz kaynak.Bu senaryoları göz önünde bulundurun:

  • Önce artımlı bir yük veri kalite kontrol.Bir müşteriler MüşteriAdı sütununda yönelik yeni veri sütun Null oranı profil hesaplamak için veri profil oluşturma görev kullanın tablo.null değerler yüzdesi % 20'den büyük ise, Profil çıktı işleç içeren bir e-posta iletisi göndermek ve paket biter.Aksi takdirde, artan yükü devam edin.

  • Belirtilen koşullar karşılandığında otomatik otomatikleştirme temizleme.Bir ara karşı durumu sütununun değer eklenmesi profil hesaplamak için veri profil oluşturma görev kullanın tablo durumları ve posta kodu posta kodu sütunu bir ara karşı tablo posta kodu.Eklenmesi gücü durumu değerlerinin % 80'den az, ancak posta kodu posta kodu değerleri eklenmesi gücü % 99'den büyük olursa, bu iki şey gösterir.İlk olarak, durumu bozuk veridir.İkinci olarak, posta kodu posta kodu verileri uygundur.Geçerli posta kodu posta kodu değeri doğru durum değerinin bir arama yaparak durumu verilerini temizler bir veri akışı görev başlatın.

Veri akışı görev katabilirler bir iş akışı aldıktan sonra bu görevi eklemek için gereken adımları anlamak zorunda.Sonraki bölümde genel veri akışı görev ekleme işlemi açıklanmaktadır.Son iki bölümde, veri akışı görev ya da doğrudan bir veri bağlamak anlatan kaynak veya veri akışının veri için dönüştürülmüş.

Veri akışı görev için bir genel iş akışı tanımlama

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

Veri profil oluşturma görev çıktı program aracılığıyla paket kullanmak için

  1. Ekleme ve veri profil oluşturma görev yapılandırma bir paket.

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

  3. Ekleme ve Script görev yapılandırma.Script görev için veri profil oluşturma görev bağlanın.Komut dosyası görev içinde istenen değerleri veri profil oluşturma görev çıktı dosyadan okur ve paket değişkenleri doldurur kod yazmak.

  4. İş akışındaki aşağı akım dalları Script görev bağlanmak önceliği kısıtlamaları iş akışı yönlendirmek için değişkenlerin değerlerini kullanan ifadeler yazmak.

Veri profil oluşturma görev bir paket iş akışı ekleme yaparken bu iki görevin özelliklerini göz önünde bulundurun:

  • Görev çıkış.Veri profil oluşturma görev çıktısını bir dosyaya veya paket değişken xml biçiminde DataProfile.xsd şemaya göre yazar.Bu nedenle, xml çıktı profili sonuçlar paket koşullu iş akışı kullanmak istiyorsanız, sorgulamak zorunda.Bu xml çıktısı sorgulamak için Xpath sorgu dili kolaylıkla kullanabilirsiniz.Bu xml çıktısı yapısını incelemek için bir çıktı dosyası veya şema 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

    Veri profil Görüntüleyicisi'nde görüntülenen profili sonuçlar doğrudan çıkışında bulunan hesaplanmış değerleri birkaçıdır.Örneğin, sütun Null oranı Profil çıktı toplam satır sayısını ve boş değerler içeren satır numarasını içerir.Bu iki değeri sorgulamak ve sonra sütun null oranı elde etmek için null değerleri içeren satırları yüzdesini hesaplamak zorunda.

  • Görev girişi.Veri profil oluşturma görev, girişten okur SQL Server tablolar.Bu nedenle, belleğine önceden yüklenir ve veri akışı dönüştürülmüş profil verileri dilerseniz tabloların hazırlanması için verileri kaydetmek gerekir.

Aşağıdaki bölümlerde bu genel iş akışını doğrudan bir dış veri kaynağından gelen veri profil oluşturma için uygulama kaynak veya, gelir dönüştürülmüş veri akışı görev.Bu bölümler de giriş ve çıkış veri akışı görev işleyebilecek göstermektedir.

Veri profil oluşturma görev doğrudan bir dış veri kaynağına bağlanma

Veri profil oluşturma görev doğrudan verilerinden gelen veri profil kaynak.Bu yetenek göstermek için aşağıdaki örnek veri profil oluşturma görev Person.Address sütunlarında sütun Null oranı profil hesaplamak için kullanır tablo , AdventureWorks2008R2 veritabanı.Daha sonra bu örnek komut dosyası Görev çıkış dosyasından sonuçlar almak ve iş akışı yönlendirmek için kullanılan paket değişkenleri doldurmak için kullanır.

Not

Bu sütun null değerler yüzdesi yüksek içerdiğinden bu basit örnekte AddressLine2 sütun seçilmedi.

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

  • Dış veri kaynağına bağlanmak bağlantı yöneticileri yapılandırmak kaynak ve profil sonuçlar içerecektir çıktı dosyası.

  • Veri profil oluşturma görev tarafından gerekli değerleri tutulacağı paket değişkenleri yapılandırma.

  • Sütun Null oranı profil hesaplamak için veri profil oluşturma görev yapılandırma.

  • Veri profil oluşturma görev xml çıktısı çalışmak için Script görev yapılandırma.

  • İş akışındaki hangi aşağı akım dalları dayanan çalıştırılır denetlemek önceliği kısıtlamaları yapılandırma sonuçlar veri profil oluşturma görev.

Bağlantı yöneticileri yapılandırmak

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

  • Bir ADO.NET bağlayan Bağlantı Yöneticisi'ni AdventureWorks2008R2 veritabanı.

  • Çıkış dosyası oluşturur bir dosya Bağlantı Yöneticisi barındıracak sonuçlar veri profil oluşturma görev.

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

  1. De Business Intelligence Development Studio, oluştur Yeni bir Integration Services paket.

  2. Ekleme bir ADO.NET Bağlantı Yöneticisi paket.İçin net veri sağlayıcısı kullanmak için bu bağlantı Yöneticisi yapılandırma SQL Server (SqlClient) ve kullanılabilir bir bağlanmak için örnek , AdventureWorks2008R2 veritabanı.

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

  3. Dosya Bağlantı Yöneticisi paket ekleyin.Veri profil oluşturma görev çıktı dosyası oluşturmak için bu bağlantı Yöneticisi yapılandırma.

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

Paketi değişkenleri yapılandırın

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

  • ProfileConnectionName değişken Script görev için dosya Bağlantı Yöneticisi adını geçirir.

  • AddressLine2NullRatio değişkeni için paket Script görev dışında bu sütun için hesaplanan null oranı geçirir.

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

  • De değişkenleri penceresinde ekleyin ve aşağıdaki iki paket değişkenleri yapılandırın:

    • Adı girin ProfileConnectionName, değişkenler için ve bu değişkene türünü küme dize.

    • Adı girin AddressLine2NullRatio, bir değişken için ve küme için bu değişken türü çift.

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

Veri profil oluşturma görev aşağıdaki gibi yapılandırılması gerekir:

  • Veri kullanmak için ADO.NET Bağlantı Yöneticisi kaynakları olarak girdi.

  • Sütun Null oranı profil giriş verileri üzerinde gerçekleştirilecek.

  • Dosya Bağlantı Yöneticisi ile ilişkili dosya profili sonuçlar kaydetmek için.

Veri profil oluşturma görev yapılandırmak için

  1. Akış denetimi için bir veri profil oluşturma görev ekleyin.

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

  3. Üzerinde Genel Sayfa Düzenleyicisi için hedef, adını önceden yapılandırmış olduğunuz dosya Bağlantı Yöneticisi'ni seçin.

  4. Üzerinde Profil istekleri sayfa Editörü, yeni bir sütun Null oranı profil oluşturun.

  5. De istek özellikleri bölmesi, için ConnectionManager, select ADO.NET önceden yapılandırılmış Bağlantı Yöneticisi.Daha sonra için TableOrView, Person.Address seçin.

  6. Veri profil oluşturma görev Düzenleyicisi'ni kapatın.

Script görev yapılandırma

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

Script görev yapılandırmak için

  1. Akış denetimi için bir komut dosyası görev ekleyin.

  2. Script görev için veri profil oluşturma görev bağlanın.

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

  4. Üzerinde Script sayfa, tercih edilen programlama dilinizi seçin.Daha sonra iki paket değişkenleri komut dosyası kullanımına Aç:

    1. İçin ReadOnlyVariables, select ProfileConnectionName.

    2. İçin ReadWriteVariables, select AddressLine2NullRatio.

  5. Seçin Komut dosyasını düzenle komut dosyası geliştirme ortamı açmak için.

  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österilen örnek kod, veri profil oluşturma görev çıktı bir dosyadan yüklemek gösterilmiştir.paket değişken veri profil oluşturma görev çıktı bunun yerine yüklemek için bu yordamı takip eden diğer örnek kod bakın.

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

Alternatif kod — bir değişkeninden Profil çıktı okuma

Önceki yordamı veri profil oluşturma görev çıktı bir dosyadan yüklemek nasıl gösterir.Ancak, bu çıkış 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 yapmak vardır:

  • Call LoadXml yöntem, XmlDocument yerine sınıf Load yöntem.

  • Komut dosyası görev Düzenleyicisi'nde, görev için profil çıktısı içermektedir paket değişken adını ekleme ReadOnlyVariables listesi.

  • Geçmesi için değişken dize değeri LoadXML yöntem, gösterildiği gibi aşağıdaki kod örneği.Kullanır (Bu örnekte "profileoutput" adı profil çıktısı içermektedir paket değişken olarak.)

    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ı dayanan çalıştırılır denetimi için yapılandırılmış olması gerekir sonuçlar veri profil oluşturma görev.

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

  • İş akışındaki aşağı akım dalları Script görev bağlanmak önceliği kısıtlamaları iş akışı yönlendirmek için değişkenlerin değerlerini kullanan ifadeler yazmak.

    Örneğin, olabilir küme değerlendirme işlemi öncelik kısıtlaması ifade ve kısıtlama.Daha sonra kullandığınız @AddressLine2NullRatio < .90 değeri olarak ifade.Bu, önceki görevleri başarılı ve zamanı seçilen yol izlemek iş akışı olur seçili null değerler yüzdesi sütun % 90'dan az.

Veri akışından dönüştürülen verileri görev profil oluşturma verileri bağlama

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

Not

Veri profil oluşturma görev yapılandırdığınızda, varolan tabloları ve sütunları seçmek zorunda.Bu nedenle, tasarım zamanında hazırlama tablo oluşturmanız gerekir saat görev yapılandırmadan önce.Başka bir deyişle, bu senaryo, çalışma zamanında oluşturulan geçici tablo kullanmak izin vermez saat.

Veri hazırlama bir tablo için kaydettikten sonra aşağıdaki işlemlerden birini yapabilirsiniz:

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

  • Bu konunun önceki kısımlarında anlatıldığı şekilde sonuçlar okumak için Script görev kullanın.

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

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

Veri akışı veri profil oluşturma görev kullanmak için

  1. De Business Intelligence Development Studio, oluşturma paket.

  2. Veri akışı eklemek, yapılandırmak ve uygun kaynakları ve dönüştürmeleri bağlanın.

  3. Veri akışı içinde eklemek, yapılandırmak ve dönüştürülen verileri için bir aşama kaydeden bir hedef bileşeni bağlanın tablo.

  4. Akış denetimi, eklemek ve yapılandırmak, dönüştürülen verilerin hazırlanması karşı profillerden hesaplayan bir veri profil oluşturma görev tablo.Veri profil oluşturma görev için veri akışı görev bağlanın.

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

  6. Ekleme ve Script görev yapılandırma.Script görev için veri profil oluşturma görev bağlanın.Komut dosyası görev içinde istenen değerleri veri profil oluşturma görev çıktısını okuyan ve paket değişkenleri dolduran kodu yazın.

  7. İş akışındaki aşağı akım dalları Script görev bağlanmak önceliği kısıtlamaları iş akışı yönlendirmek için değişkenlerin değerlerini kullanan ifadeler yazmak.

Integration Services simgesi (küçük)Integration Services ile güncel kalın

En son karşıdan yüklemeler, makaleler, örnekler ve seçilen topluluk çözümleri yanı sıra Microsoft videolar için ziyaret Integration Services sayfa msdn veya TechNet:

Bu güncelleştirmelerle ilgili otomatik bildirim almak için, sayfadaki RSS akışlarına abone olun.