Incorporamento di un'attività Profiling dati nel flusso di lavoro del pacchettoIncorporate a Data Profiling Task in Package Workflow

Il profiling dati e la pulizia non sono attività potenziali per un processo automatizzato nelle fasi iniziali.Data profiling and cleanup are not candidates for an automated process in their early stages. In SQL ServerSQL Server Integration ServicesIntegration Servicesl'output dell'attività Profiling dati richiede di solito un'analisi visiva e una valutazione umana per determinare se le violazioni segnalate sono significative o eccessive.In SQL ServerSQL Server Integration ServicesIntegration Services, the output of the Data Profiling task usually requires visual analysis and human judgment to determine whether reported violations are meaningful or excessive. Anche dopo il riconoscimento di problemi di qualità dei dati, è comunque necessario definire con attenzione un piano ben studiato per tentare di individuare l'approccio migliore per la pulizia.Even after recognizing data quality problems, there still has to be a carefully thought-out plan that addresses the best approach for cleanup.

Tuttavia, una volta stabiliti i criteri per la qualità dei dati, è possibile automatizzare operazioni periodiche di analisi e pulizia dell'origine dati.However, after criteria for data quality have been established, you might want to automate a periodic analysis and cleanup of the data source. Considerare gli scenari seguenti:Consider these scenarios:

  • Controllo della qualità dei dati prima di un caricamento incrementale.Checking data quality before an incremental load. Utilizzare l'attività Profiling dati per calcolare il profilo Rapporto di valori Null nella colonna dei nuovi dati destinati alla colonna CustomerName di una tabella Customers.Use the Data Profiling task to compute the Column Null Ratio Profile of new data intended for the CustomerName column in a Customers table. Se la percentuale di valori Null è maggiore del 20%, inviare un messaggio di posta elettronica contenente l'output del profilo all'operatore e terminare il pacchetto.If the percentage of null values is greater than 20%, send an e-mail message that contains the profile output to the operator and end the package. In caso contrario, continuare il caricamento incrementale.Otherwise, continue the incremental load.

  • Automazione della pulizia quando vengono soddisfatte le condizioni specificate.Automating cleanup when the specified conditions are met. Utilizzare l'attività Profiling dati per calcolare il profilo Inclusione valore della colonna State rispetto a una tabella di ricerca di stati e quello della colonna ZIP Code/Postal Code rispetto a una tabella di ricerca di CAP.Use the Data Profiling task to compute the Value Inclusion Profile of the State column against a lookup table of states, and of the ZIP Code/Postal Code column against a lookup table of zip codes. Se l'attendibilità dell'inclusione dei valori di stato è minore dell'80%, ma quella dei valori di ZIP Code/Postal Code è maggiore del 99%, emergono due indicazioni.If the inclusion strength of the state values is less than 80%, but the inclusion strength of the ZIP Code/Postal Code values is greater than 99%, this indicates two things. Innanzitutto, i dati relativi allo stato sono errati.First, the state data is bad. In secondo luogo, i dati relativi a ZIP Code/Postal Code sono corretti.Second, the ZIP Code/Postal Code data is good. Avviare un'attività Flusso di dati per pulire i dati dello stato eseguendo una ricerca del valore dello stato corretto dal valore corrente di Zip Code/Postal Code.Launch a Data Flow task that cleans up the state data by performing a lookup of the correct state value from the current Zip Code/Postal Code value.

    Dopo aver ottenuto un flusso di lavoro in cui è possibile incorporare l'attività Flusso di dati, è necessario identificare i passaggi richiesti per aggiungere questa attività.After you have a workflow into which you can incorporate the Data Flow task, you have to understand the steps that are required to add this task. Nella sezione seguente viene descritto il processo generale di incorporazione dell'attività Flusso di dati.The next section describes the general process of incorporating the Data Flow task. Nelle due sezioni finali viene descritto come connettere l'attività Flusso di dati direttamente a un'origine dati o ai dati trasformati dal flusso di dati.The final two sections describe how to connect the Data Flow task either directly to a data source or to transformed data from the Data Flow.

Definizione di un flusso di lavoro generale per l'attività Flusso di datiDefining a General Workflow for the Data Flow Task

Nella procedura seguente viene definito l'approccio generale per l'utilizzo dell'output dell'attività Profiling dati nel flusso di lavoro di un pacchetto.The following procedure outlines the general approach for using the output of the Data Profiling task in the workflow of a package.

Per utilizzare l'output dell'attività Profiling dati a livello di codice in un pacchettoTo use the output of the Data Profiling task programmatically in a package

  1. Aggiungere e configurare l'attività Profiling dati in un pacchetto.Add and configure the Data Profiling task in a package.

  2. Configurare le variabili del pacchetto che conterranno i valori che si desidera recuperare dai risultati del profilo.Configure package variables to hold the values that you want to retrieve from the profile results.

  3. Aggiungere e configurare un'attività Script.Add and configure a Script task. Connettere l'attività Script all'attività Profiling dati.Connect the Script task to the Data Profiling task. Nell'attività Script scrivere codice che legge i valori desiderati dal file di output dell'attività Profiling dati e popola le variabili del pacchetto.In the Script task, write code that reads the desired values from the output file of the Data Profiling task and populates the package variables.

  4. Nei vincoli di precedenza che connettono l'attività Script ai rami a valle nel flusso di lavoro, scrivere espressioni che utilizzano i valori delle variabili per indirizzare il flusso di lavoro.In the precedence constraints that connect the Script task to downstream branches in the workflow, write expressions that use the values of the variables to direct the workflow.

    Quando si incorpora l'attività Profiling dati nel flusso di lavoro di un pacchetto, tenere presenti queste due caratteristiche dell'attività:When incorporating the Data Profiling task into the workflow of a package, keep these two features of the task in mind:

  • Output dell'attività.Task output. L'output dell'attività Profiling dati viene scritto in un file o in una variabile del pacchetto in formato XML in base allo schema DataProfile.xsd.The Data Profiling task writes its output to a file or a package variable in XML format according to the DataProfile.xsd schema. Pertanto, è necessario eseguire una query sull'output XML se si desidera utilizzare i risultati del profilo nel flusso di lavoro condizionale di un pacchetto.Therefore, you have to query the XML output if you want to use the profile results in the conditional workflow of a package. A tale scopo, è possibile utilizzare il linguaggio di query Xpath.You can easily use the Xpath query language to query this XML output. Per esaminare la struttura di questo output XML, è possibile aprire un file di output di esempio o lo schema stesso.To study the structure of this XML output, you can open a sample output file or the schema itself. Per aprire il file di output o lo schema, è possibile utilizzare MicrosoftMicrosoft Visual StudioVisual Studio, un altro editor XML o un editor di testo, ad esempio Blocco note.To open the output file or schema, you can use MicrosoftMicrosoft Visual StudioVisual Studio, another XML editor, or a text editor, such as Notepad.

    Nota

    Alcuni risultati del profilo visualizzati nel Visualizzatore profilo dati sono valori calcolati che non si trovano direttamente nell'output.Some of the profile results that are displayed in the Data Profile Viewer are calculated values that are not directly found in the output. Ad esempio, l'output del profilo Rapporto di valori Null nella colonna contiene il numero complessivo di righe e il numero di righe che contengono valori Null.For example, the output of the Column Null Ratio Profile contains the total number of rows and the number of rows that contain null values. È necessario eseguire una query su questi due valori, quindi calcolare la percentuale di righe che contengono valori Null per ottenere il rapporto di valori Null nella colonna.You have to query these two values, and then calculate the percentage of rows that contain null values, to obtain the column null ratio.

  • Input dell'attività.Task input. L'input dell'attività Profiling dati viene letto da tabelle di SQL ServerSQL Server .The Data Profiling task reads its input from SQL ServerSQL Server tables. Pertanto, è necessario salvare i dati presenti in memoria in tabelle di gestione temporanea se si desidera eseguire il profiling di dati già caricati e trasformati nel flusso di dati.Therefore, you have to save data that is in memory to staging tables if you want to profile data that has already been loaded and transformed in the data flow.

    Nelle sezioni seguenti questo flusso di lavoro generale viene applicato al profiling di dati provenienti direttamente da un'origine dati esterna o trasformati dall'attività Flusso di dati.The following sections apply this general workflow to profiling data that comes directly from an external data source or that comes transformed from the Data Flow task. Viene inoltre illustrato come gestire i requisiti di input e di output dell'attività Flusso di dati.These sections also show how to handle the input and output requirements of the Data Flow task.

Connessione diretta dell'attività Profiling dati a un'origine dati esternaConnecting the Data Profiling Task Directly to an External Data Source

L'attività Profiling dati consente di eseguire il profiling di dati provenienti direttamente da un'origine dati.The Data Profiling task can profile data that comes directly from a data source. Per illustrare questa funzionalità, nell'esempio seguente viene utilizzata l'attività Profiling dati per calcolare un profilo Rapporto di valori Null nella colonna per le colonne della tabella Person.Address nel database AdventureWorks2012AdventureWorks2012 .To illustrate this capability, the following example uses the Data Profiling task to compute a Column Null Ratio Profile on the columns of the Person.Address table in the AdventureWorks2012AdventureWorks2012 database. Viene quindi utilizzata un'attività Script per recuperare i risultati dal file di output e popolare le variabili del pacchetto che è possibile utilizzare per indirizzare il flusso di lavoro.Then, this example uses a Script task to retrieve the results from the output file and populate package variables that can be used to direct workflow.

Nota

Per questo semplice esempio è stata selezionata la colonna AddressLine2, in quanto contiene una percentuale elevata di valori Null.The AddressLine2 column was selected for this simple example because this column contains a high percentage of null values.

L'esempio è costituito dai passaggi seguenti:This example consists of the following steps:

  • Configurazione delle gestioni connessioni che eseguono la connessione all'origine dati esterna e al file di output che conterrà i risultati del profilo.Configuring the connection managers that connect to the external data source and to the output file that will contain the profile results.

  • Configurazione delle variabili del pacchetto che conterranno i valori necessari per l'attività Profiling dati.Configuring the package variables that will hold the values needed by the Data Profiling task.

  • Configurazione dell'attività Profiling dati per calcolare il profilo Rapporto di valori Null nella colonna.Configuring the Data Profiling task to compute the Column Null Ratio Profile.

  • Configurazione dell'attività Script per gestire l'output XML dell'attività Profiling dati.Configuring the Script task to work the XML output from the Data Profiling task.

  • Configurazione dei vincoli di precedenza che controlleranno quali rami a valle nel flusso di lavoro vengono eseguiti in base ai risultati dell'attività Profiling dati.Configuring the precedence constraints that will control which downstream branches in the workflow are run based on the results of the Data Profiling task.

Configurare le gestioni connessioniConfigure the Connection Managers

Per questo esempio, sono disponibili due gestioni connessioni:For this example, there are two connection managers:

  • Una gestione connessione ADO.NETADO.NET che stabilisce la connessione al database AdventureWorks2012AdventureWorks2012 .An ADO.NETADO.NET connection manager that connects to the AdventureWorks2012AdventureWorks2012 database.

  • Una gestione connessione file che crea il file di output che conterrà i risultati dell'attività Profiling dati.A File connection manager that creates the output file that will hold the results of the Data Profiling task.

Per configurare le gestioni connessioniTo configure the connection managers
  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)creare un nuovo pacchetto di Integration ServicesIntegration Services .In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), create a new Integration ServicesIntegration Services package.

  2. Aggiungere una gestione connessione ADO.NETADO.NET al pacchetto.Add an ADO.NETADO.NET connection manager to the package. Configurare questa gestione connessione per l'uso del provider di dati .NET per SQL ServerSQL Server (SqlClient) e per la connessione a un'istanza disponibile del database AdventureWorks2012AdventureWorks2012 .Configure this connection manager to use the NET Data Provider for SQL ServerSQL Server (SqlClient) and to connect to an available instance of the AdventureWorks2012AdventureWorks2012 database.

    Per impostazione predefinita, la gestione connessione è il seguente nome: <nome server >. AdventureWorks1.By default, the connection manager has the following name: <server name>.AdventureWorks1.

  3. Aggiungere una gestione connessione file al pacchetto.Add a File connection manager to the package. Configurare questa gestione connessione per la creazione del file di output per l'attività Profiling dati.Configure this connection manager to create the output file for the Data Profiling task.

    In questo esempio viene utilizzato il nome file DataProfile1.xml.This example uses the file name, DataProfile1.xml. Per impostazione predefinita, la gestione connessione e il file hanno lo stesso nome.By default, the connection manager has the same name as the file.

Configurare le variabili del pacchettoConfigure the Package Variables

In questo esempio vengono utilizzate due variabili del pacchetto:This example uses two package variables:

  • La variabile ProfileConnectionName passa il nome della gestione connessione file all'attività Script.The ProfileConnectionName variable passes the name of the File connection manager to the Script task.

  • La variabile AddressLine2NullRatio passa il rapporto di valori Null calcolato per questa colonna dall'attività Script al pacchetto.The AddressLine2NullRatio variable passes the calculated null ratio for this column out of the Script task to the package.

Per configurare le variabili del pacchetto che conterranno i risultati del profiloTo configure the package variables that will hold profile results
  • Nella finestra Variabili aggiungere e configurare le due variabili del pacchetto seguenti:In the Variables window, add and configure the following two package variables:

    • Immettere il nome ProfileConnectionNameper una delle variabili e impostare il tipo di questa variabile su String.Enter the name, ProfileConnectionName, for one of the variables and set the type of this variable to String.

    • Immettere il nome AddressLine2NullRatioper l'altra variabile e impostare il tipo di questa variabile su Double.Enter the name, AddressLine2NullRatio, for the other variable and set the type of this variable to Double.

Configurare l'attività Profiling datiConfigure the Data Profiling Task

L'attività Profiling dati deve essere configurata nel modo seguente:The Data Profiling task has to be configured in the following way:

  • Per utilizzare come input i dati forniti dalla gestione connessione ADO.NETADO.NET .To use the data that the ADO.NETADO.NET connection manager supplies as input.

  • Per eseguire un profilo Rapporto di valori Null nella colonna sui dati di input.To perform a Column Null Ratio profile on the input data.

  • Per salvare i risultati del profilo nel file associato alla gestione connessione file.To save the profile results to the file that is associated with the File connection manager.

Per configurare l'attività Profiling datiTo configure the Data Profiling task
  1. Aggiungere un'attività Profiling dati al flusso di controllo.To the Control Flow, add a Data Profiling task.

  2. Aprire Editor attività Profiling dati per configurare l'attività.Open the Data Profiling Task Editor to configure the task.

  3. Nella pagina Generale dell'editor, per Destinazione, selezionare il nome della gestione connessione file configurata in precedenza.On the General page of the editor, for Destination, select the name of the File connection manager that you have previously configured.

  4. Nella pagina Richieste profilo dell'editor creare un nuovo profilo Rapporto di valori Null nella colonna.On the Profile Requests page of the editor, create a new Column Null Ratio Profile.

  5. Nel riquadro Proprietà richiesta , per ConnectionManager, selezionare la gestione connessione ADO.NETADO.NET configurata in precedenza.In the Request properties pane, for ConnectionManager, select the ADO.NETADO.NET connection manager that you have previously configured. Quindi, per TableOrView, selezionare Person.Address.Then, for TableOrView, select Person.Address.

  6. Chiudere l'editor attività Profiling dati.Close the Data Profiling Task Editor.

Configurare l'attività ScriptConfigure the Script Task

L'attività Script deve essere configurata per recuperare i risultati dal file di output e popolare le variabili del pacchetto configurate in precedenza.The Script task has to be configured to retrieve the results from the output file and populate the package variables that were previously configured.

Per configurare l'attività ScriptTo configure the Script task
  1. Aggiungere un'attività Script al flusso di controllo.To the Control Flow, add a Script task.

  2. Connettere l'attività Script all'attività Profiling dati.Connect the Script task to the Data Profiling task.

  3. Aprire Editor attività Script per configurare l'attività.Open the Script Task Editor to configure the task.

  4. Nella pagina Script selezionare il linguaggio di programmazione preferito.On the Script page, select your preferred programming language. Quindi, rendere disponibili le due variabili del pacchetto per lo script:Then, make the two package variables available to the script:

    1. Per ReadOnlyVariablesselezionare ProfileConnectionName.For ReadOnlyVariables, select ProfileConnectionName.

    2. Per ReadWriteVariablesselezionare AddressLine2NullRatio.For ReadWriteVariables, select AddressLine2NullRatio.

  5. Selezionare Modifica script per aprire l'ambiente di sviluppo dello script.Select Edit Script to open the script development environment.

  6. Aggiungere un riferimento allo spazio dei nomi System.Xml.Add a reference to the System.Xml namespace.

  7. Immettere il codice di esempio che corrisponde al linguaggio di programmazione in uso:Enter the sample code that corresponds to your programming language:

    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 = "http://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 = "http://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;  
    
      }  
    
    }  
    
    Nota

    Nel codice di esempio di questa procedura viene illustrato come caricare l'output dell'attività Profiling dati da un file.The sample code shown in this procedure demonstrates how to load the output of the Data Profiling task from a file. Per caricare invece l'output dell'attività Profiling dati da una variabile del pacchetto, vedere il codice di esempio alternativo riportato dopo questa procedura.To load the output of the Data Profiling task from a package variable instead, see the alternative sample code that follows this procedure.

  8. Chiudere l'ambiente di sviluppo dello script, quindi l'editor attività Script.Close the script development environment, and then close the Script Task Editor.

Codice alternativo: lettura dell'output del profilo da una variabileAlternative Code—Reading the Profile Output from a Variable

La procedura riportata in precedenza indica come caricare l'output dell'attività Profiling dati da un file.The previous procedure shows how to load the output of the Data Profiling task from from a file. Un metodo alternativo consiste nel caricare questo output da una variabile del pacchetto.However, an alternative method would be to load this output from a package variable. A tale scopo, è necessario apportare le modifiche seguenti al codice di esempio:To load the output from a variable, you have to make the following changes to the sample code:

  • Chiamare il metodo LoadXml della classe XmlDocument anziché il metodo Load .Call the LoadXml method of the XmlDocument class instead of the Load method.

  • Nell'editor attività Script aggiungere il nome della variabile del pacchetto che contiene l'output del profilo all'elenco ReadOnlyVariables dell'attività.In the Script Task Editor, add the name of the package variable that contains the profile output to the task's ReadOnlyVariables list.

  • Passare il valore stringa della variabile al metodo LoadXML come illustrato nell'esempio di codice seguente.Pass the string value of the variable to the LoadXML method, as shown in the following code example. In questo esempio viene utilizzato "ProfileOutput" come nome della variabile del pacchetto che contiene l'output del profilo.(This example uses "ProfileOutput" as the name of the package variable that contains the profile output.)

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

Configurare i vincoli di precedenzaConfigure the Precedence Constraints

I vincoli di precedenza devono essere configurati per controllare quali rami a valle nel flusso di lavoro vengono eseguiti in base ai risultati dell'attività Profiling dati.The precedence constraints have to be configured to control which downstream branches in the workflow are run based on the results of the Data Profiling task.

Per configurare i vincoli di precedenzaTo configure the precedence constraints
  • Nei vincoli di precedenza che connettono l'attività Script ai rami a valle nel flusso di lavoro, scrivere espressioni che utilizzano i valori delle variabili per indirizzare il flusso di lavoro.In the precedence constraints that connect the Script task to downstream branches in the workflow, write expressions that use the values of the variables to direct the workflow.

    Ad esempio, è possibile impostare Operazione valutazione del vincolo di precedenza su Espressione e vincolo.For example, you might set the Evaluation operation of the precedence constraint to Expression and Constraint. È quindi possibile utilizzare @AddressLine2NullRatio < .90 come valore dell'espressione.Then, you might use @AddressLine2NullRatio < .90 as the value of the expression. In questo modo il flusso di lavoro segue il percorso selezionato quando le attività precedenti vengono completate e quando la percentuale di valori Null nella colonna selezionata è minore del 90%.This causes the workflow to follow the selected path when the previous tasks succeed, and when the percentage of null values in the selected column is less than 90%.

Connessione dell'attività Profiling dati ai dati trasformati dal flusso di datiConnecting the Data Profiling Task to Transformed Data from the Data Flow

Anziché direttamente da un'origine dati, è possibile eseguire il profiling dei dati che sono già stati caricati e trasformanti nel flusso di lavoro.Instead of profiling data directly from a data source, you can profile data that has already been loaded and transformed in the data flow. L'attività Profiling dati funziona, tuttavia, solo per dati persistenti, non per dati in memoria.However, the Data Profiling task works only against persisted data, not against in-memory data. Pertanto, è necessario utilizzare dapprima un componente di destinazione per salvare i dati trasformati in una tabella di gestione temporanea.Therefore, you must first use a destination component to save the transformed data to a staging table.

Nota

Quando si configura l'attività Profiling dati, è necessario selezionare tabelle e colonne esistenti.When you configure the Data Profiling task, you have to select existing tables and columns. Pertanto, è necessario creare la tabella di gestione temporanea in fase di progettazione prima di poter configurare l'attività.Therefore, you must create the staging table at design time before you can configure the task. In altri termini, questo scenario non consente l'utilizzo di una tabella temporanea creata in fase di esecuzione.In other words, this scenario does not allow you to use a temporary table that is created at run time.

Dopo aver salvato i dati in una tabella di gestione temporanea, è possibile effettuare le azioni seguenti:After saving the data to a staging table, you can do the following actions:

  • Utilizzare l'attività Profiling dati per eseguire il profiling dei dati.Use the Data Profiling task to profile the data.

  • Utilizzare un'attività Script per leggere i risultati come descritto in precedenza in questo argomento.Use a Script task to read the results as described earlier in this topic.

  • Utilizzare questi risultati per indirizzare il flusso di lavoro successivo del pacchetto.Use those results to direct the subsequent workflow of the package.

    Nella procedura seguente viene fornito l'approccio generale per l'utilizzo dell'attività Profiling dati per eseguire il profiling di dati trasformati dal flusso di dati.The following procedure provides the general approach for using the Data Profiling task to profile data that has been transformed by the data flow. Molti passaggi sono simili a quelli descritti in precedenza per il profiling dei dati provenienti direttamente da un'origine dati esterna.Many of these steps are similar to the ones described earlier for profiling data that comes directly from an external data source. Può essere necessario rivedere questi passaggi precedenti per ulteriori informazioni su come configurare i vari componenti.You might want to review those earlier steps for more information about how to configure the various components.

Per utilizzare l'attività Profiling dati nel flusso di datiTo use the Data Profiling task in the data flow

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)creare un pacchetto.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), create a package.

  2. Nel flusso di dati aggiungere, configurare e connettere le origini e le trasformazioni appropriate.In the Data Flow, add, configure, and connect the appropriate sources and transformations.

  3. Nel flusso di dati aggiungere, configurare e connettere un componente di destinazione che salva i dati trasformati in una tabella di gestione temporanea.In the Data Flow, add, configure, and connect a destination component that saves the transformed data to a staging table.

  4. Nel flusso di controllo aggiungere e configurare un'attività Profiling dati che calcola i profili desiderati rispetto ai dati trasformati nella tabella di gestione temporanea.In the Control Flow, add and configure a Data Profiling task that computes the desired profiles against the transformed data in the staging table. Connettere l'attività Profiling dati all'attività Flusso di dati.Connect the Data Profiling task to the Data Flow task.

  5. Configurare le variabili del pacchetto che conterranno i valori che si desidera recuperare dai risultati del profilo.Configure package variables to hold the values that you want to retrieve from the profile results.

  6. Aggiungere e configurare un'attività Script.Add and configure a Script task. Connettere l'attività Script all'attività Profiling dati.Connect the Script task to the Data Profiling task. Nell'attività Script scrivere codice che legge i valori desiderati dall'output dell'attività Profiling dati e popola le variabili del pacchetto.In the Script task, write code that reads the desired values from the output of the Data Profiling task and populates the package variables.

  7. Nei vincoli di precedenza che connettono l'attività Script ai rami a valle nel flusso di lavoro, scrivere espressioni che utilizzano i valori delle variabili per indirizzare il flusso di lavoro.In the precedence constraints that connect the Script task to downstream branches in the workflow, write expressions that use the values of the variables to direct the workflow.

Vedere ancheSee Also

Impostazione dell'attività Profiling dati Setup of the Data Profiling Task
Visualizzatore profilo datiData Profile Viewer