FactStudentReceiptPaymentsLoad
 SQL Delete Duplicate Facts
  Properties
Property Value
Name SQL Delete Duplicate Facts
Description Execute SQL Task
Precedence Executables none
Contrained Executables none
BypassPrepare True
CodePage 1252
Connection EnterpriseDW
CreationName Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ExecuteSQLTask, Microsoft.SqlServer.SQLTask, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91
DelayValidation False
Description Execute SQL Task
Disable Expression: @[User::IsFullLoad] == "Y"

True
DisableEventHandlers False
EventHandlers System.__ComObject
EventInfos System.__ComObject
ExecutionDuration 0
ExecutionResult 0
ExecutionStatus 1
ExecutionValue
FailPackageOnFailure False
FailParentOnFailure False
ForcedExecutionValue 0
ForceExecutionResult -1
ForceExecutionValue False
ID {09CC4228-29A0-4C8C-B295-2795CFBBC286}
IsDefaultLocaleID True
IsolationLevel 1048576
IsStoredProcedure False
LocaleID English (United States)
LogEntryInfos System.__ComObject
LoggingMode 0
LoggingOptions System.__ComObject
MaximumErrorCount 1
Name SQL Delete Duplicate Facts
ParameterBindings Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ParameterBindings
Parent System.__ComObject
ResultSetBindings Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ResultBindings
ResultSetType 1
SqlStatementSource DELETE FROM dbo.FactStudentReceiptPayments
WHERE StudentReceiptPaymentsSK IN
    (
    --Returns list of fact table PKs for duplicate records    
    SELECT FactRecordsToDelete.StudentReceiptPaymentsSK 
    FROM 
        (
        --Joins subquery with grain violations to Fact table and
        --includes a row numbering based on grain.
        --Includes Fact table PK field.
        --Order by descending StudentReceiptPaymentsSK so that RowNumber=1 will be the latest
        --version of the grain record.
        SELECT 
            ROW_NUMBER() OVER 
                (PARTITION BY 
                GrainViolations.StudentReceiptSK, GrainViolations.ReceiptPaymentCategorySK
                ORDER BY fct.StudentReceiptPaymentsSK DESC
                ) AS RowNumber
            ,fct.StudentReceiptPaymentsSK
            ,GrainViolations.StudentReceiptSK
        FROM 
            (
            SELECT 
                fct_GV.StudentReceiptSK, fct_GV.ReceiptPaymentCategorySK
            FROM dbo.FactStudentReceiptPayments fct_GV
            GROUP BY 
                fct_GV.StudentReceiptSK, fct_GV.ReceiptPaymentCategorySK
            HAVING COUNT(*) > 1
            ) AS GrainViolations
        INNER JOIN dbo.FactStudentReceiptPayments fct
            ON 
                (
                fct.StudentReceiptSK = GrainViolations.StudentReceiptSK
                and
                fct.ReceiptPaymentCategorySK = GrainViolations.ReceiptPaymentCategorySK
                )
        ) AS FactRecordsToDelete
    WHERE FactRecordsToDelete.RowNumber > 1 
)
SqlStatementSourceType 1
StartTime 3/9/2017 5:53:53 PM
StopTime 3/9/2017 5:53:53 PM
TimeOut 0
TransactionOption 1
VariableDispenser System.__ComObject
Variables System.__ComObject
Version 0
  Variables
Name Value Description
  Event Handlers
Name Description Enabled Fail Package On Failure Fail Parent On Failure
Powered by BI Documenter