DWStaging
 usp_FactActiveStudentGrades_Old (Stored Procedure)
  Properties
Property Value
Name usp_FactActiveStudentGrades_Old
Schema dbo
Is Encrypted False
Ansi Nulls Status True
Quoted Identifier Status True
Description
  Parameters
Name Data Type Direction Description
datetime(23, 3)
Input
datetime(23, 3)
Input
varchar(1)
Input
  Parent Dependencies (objects that usp_FactActiveStudentGrades_Old depends on)
Name Type
Table
Table
Table
  Child Dependencies (objects that depend on usp_FactActiveStudentGrades_Old)
Name Type
TABLE
TABLE
TABLE
  Extended Properties
Object Property Value
   Annotations
Object Property Value
  DDL
/****** Object: StoredProcedure [dbo].[usp_FactActiveStudentGrades_Old] Script Date: 03/09/2017 16:47:10 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
/* Primary Student Term Source SELECT Statement including Incremental Modifications*/
CREATE PROC [dbo].[usp_FactActiveStudentGrades_Old]
@IncrementalBeginDtTm datetime, /* Date and Time to validate against RowUpdatedOn in Source Tables */
@IncrementalEndDtTm datetime,
@IsFullLoad varchar(1)
AS 
SET NOCOUNT ON
IF 2=3
    BEGIN
    SELECT 
          CAST('aaa' AS varchar(9)) AS StudentId
        , CAST('aaa' AS varchar(6)) AS Term
        , CAST(123 AS int) AS RefNum
        , CAST(1 as int) as GradeSuccess
        , CAST(1 as int) as GradeMarginal
        , CAST(1 as int) as GradeFail
        , CAST(1 as int) as GradeWithdrawal
        , CAST(1 as int) as GradeOther
        , CAST(1 as int) as GradeA
        , CAST(1 as int) as GradeB
        , CAST(1 as int) as GradeC
        , CAST(1 as int) as GradeD
        , CAST(1 as int) as GradeF
        , CAST(1 as int) as GradeW
        , CAST(1 as int) as GradeS
        , CAST(1 as int) as GradeP
        , CAST(1 as int) as GradeU
        , CAST(1 as int) as GradeN
        , CAST(1 as int) as GradeX
        , CAST(1 as int) as GradeI
        , CAST(1 as int) as GradeByLetterOther
        , CAST(1 as int) as Attempt1
        , CAST(1 as int) as Attempt2
        , CAST(1 as int) as Attempt2OrMore
        , CAST(1 as int) as Attempt3OrMore
    END
    
-- Create temporary table
CREATE TABLE #CourseAttemptChanges
    (
    [STUDENT_ID] VARCHAR(9)  NOT NULL
    ,[COURSE_ID] VARCHAR(10) NOT NULL
    )
    
IF @IsFullLoad <> 'Y'
BEGIN
-- Populate table with student-ids and course-ids corresponding to all records
-- that will be picked up in the main SQL Select below.
-- This will help us update the attempt counts correctly.
INSERT INTO #CourseAttemptChanges
    (
     [STUDENT_ID]
    ,[COURSE_ID]
    )
    SELECT   STUDENT_ID
             ,SUBSTRING(CLASS_KEY,2,10)
    FROM ST_ACDMC_HIST_A
        WHERE[REF_NUM] IS NOT NULL
            AND [REF_NUM] != 0
            AND [RowUpdatedOn] >   @IncrementalBeginDtTm
            AND [RowUpdatedOn] <=  @IncrementalEndDtTm
END
-- Get grade records between the begin and end dates supplied to this routine.
SELECT   AH.[STUDENT_ID] AS StudentId
        ,CAST(RTRIM(SUBSTRING([CLASS_KEY],12,6)) as Varchar(6)) AS Term
        ,[REF_NUM] AS RefNum
        ,(CASE 
            WHEN gradeCategory.FIELD_VALUE = 'SUCCESS' THEN 1
            ELSE 0
            END) as GradeSuccess
        ,(CASE 
            WHEN gradeCategory.FIELD_VALUE = 'MARGINAL' THEN 1
            ELSE 0
            END) as GradeMarginal
        ,(CASE 
            WHEN gradeCategory.FIELD_VALUE = 'FAIL' THEN 1
            ELSE 0
            END) as GradeFail
        ,(CASE 
            WHEN gradeCategory.FIELD_VALUE = 'WITHDRAW' THEN 1
            ELSE 0
            END) as GradeWithdrawal
        ,(CASE 
            WHEN gradeCategory.FIELD_VALUE = 'OTHER' THEN 1
            ELSE 0
            END) as GradeOther
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'A' THEN 1
            ELSE 0
            END) as GradeA
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'B' THEN 1
            ELSE 0
            END) as GradeB
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'C' THEN 1
            ELSE 0
            END) as GradeC
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'D' THEN 1
            ELSE 0
            END) as GradeD
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'F' THEN 1
            ELSE 0
            END) as GradeF
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'W' THEN 1
            ELSE 0
            END) as GradeW
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'S' THEN 1
            ELSE 0
            END) as GradeS
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'P' THEN 1
            ELSE 0
            END) as GradeP
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'U' THEN 1
            ELSE 0
            END) as GradeU
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'N' THEN 1
            ELSE 0
            END) as GradeN
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'X' THEN 1
            ELSE 0
            END) as GradeX
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'I' THEN 1
            ELSE 0
            END) as GradeI
        ,(CASE 
            WHEN SUBSTRING(GRADE,1,1) = 'A' OR SUBSTRING(GRADE,1,1) = 'B' OR SUBSTRING(GRADE,1,1) = 'C' OR 
                 SUBSTRING(GRADE,1,1) = 'D' OR SUBSTRING(GRADE,1,1) = 'F' OR SUBSTRING(GRADE,1,1) = 'W' OR 
                 SUBSTRING(GRADE,1,1) = 'S' OR SUBSTRING(GRADE,1,1) = 'P' OR SUBSTRING(GRADE,1,1) = 'U' OR 
                 SUBSTRING(GRADE,1,1) = 'N' OR SUBSTRING(GRADE,1,1) = 'X' OR SUBSTRING(GRADE,1,1) = 'I' THEN 0
            ELSE 1
            END) as GradeByLetterOther        
        ,CASE
            WHEN outAH.CourseAttempt = 1 THEN 1
            ELSE 0
         END AS Attempt1
        ,CASE
            WHEN outAH.CourseAttempt = 2 THEN 1
            ELSE 0
         END AS Attempt2
        ,CASE
            WHEN outAH.CourseAttempt >= 2 THEN 1
            ELSE 0
         END AS Attempt2OrMore
        ,CASE
            WHEN outAH.CourseAttempt >= 3 THEN 1
            ELSE 0
         END AS Attempt3OrMore
FROM [dbo].[ST_ACDMC_HIST_A] AH
/* Get Grade Rank Table record */
LEFT OUTER JOIN UTL_CODE_TABLE graderank
    on (
        graderank.TABLE_NAME = 'GRADE-RANK' AND
        graderank.CODE = AH.GRADE AND
        graderank.[STATUS] = 'A'
        )
/* Get grade rank table attribute *//    
LEFT OUTER JOIN UTL_CODE_TABLE_GENERIC gradeCategory
   ON (
        graderank.ISN_UTL_CODE_TABLE = gradeCategory.ISN_UTL_CODE_TABLE 
        AND gradeCategory.cnxarraycolumn =     4/* Fifth sub-attribute of table */
      )
/* Determine attempt number */
LEFT OUTER JOIN 
    (
        SELECT
            ROW_NUMBER() OVER (
                PARTITION BY STUDENT_ID, SUBSTRING(CLASS_KEY,2,10) 
                Order by STUDENT_ID, SUBSTRING(CLASS_KEY,2,10), SUBSTRING(CLASS_KEY,12,6), SUBSTRING(SESS_END_BEG_DT,9,8), REF_NUM
                ) AS CourseAttempt
            ,STUDENT_ID
            ,REF_NUM AS RefNum
        FROM ST_ACDMC_HIST_A
    ) outAH
    ON
    (
        AH.STUDENT_ID = outAH.STUDENT_ID
        AND AH.REF_NUM = outAH.RefNum
    )
    WHEREAH.[REF_NUM] IS NOT NULL
        AND AH.[REF_NUM] != 0
        AND (
            AH.[RowUpdatedOn] >  @IncrementalBeginDtTm
            AND AH.[RowUpdatedOn] <= @IncrementalEndDtTm
            OR (AH.STUDENT_ID + SUBSTRING(AH.CLASS_KEY,2,10)) IN
            (
                SELECT
                    (STUDENT_ID + COURSE_ID)
                FROM #CourseAttemptChanges
            )
        )
Powered by BI Documenter