Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
DanielP065
Contributor II
Contributor II

MAX Date Import Script

Hello,

I've got this script below that combines 5 tables into one to get yearly Assessment information for students.  However I'm having trouble figuring out where and/or how to use the Max (Date) function to only return the most recent record entered for each person?  

Any help is appreciated!

Daniel

 

STUDENTS:
LOAD
'7/1/'& YEAR(IF(num(Month(ENTRYDATE)>6),ENTRYDATE,AddYears(ENTRYDATE,-1))) AS FY_START,
YEAR(IF(num(Month(Today())>6),ENTRYDATE,AddYears(Today(),-1))) & '-' & YEAR(IF(num(Month(Today())>6),ENTRYDATE,Today())) AS SchoolYr,
YEAR(IF(num(Month(ENTRYDATE)>6),AddYears(ENTRYDATE,1),ENTRYDATE)) AS School_Year,

ENROLL_STATUS AS Enroll_Stuatus_S,
Pick(WildMatch(ENROLL_STATUS, -1, 0, 1, 2, 3), 'Preregister', 'Active', 'Inactive', 'Exited', 'Graduated')AS [ENROLL_STATUS_L],

DCID AS STUDENTSDCID,
ID AS STUDENTSID,
LASTFIRST,
STUDENT_NUMBER,
SCHOOLID AS CUR_SCHOOLID_S,

GRADE_LEVEL AS CUR_GRADE_LEVEL,
if(match([GRADE_LEVEL],-2,-1), 'PRE-K',
if(match([GRADE_LEVEL],0,1,2,3,4,5), 'ELEMENTARY',
if(match([GRADE_LEVEL],6,7,8),'MIDDLE',
if(match([GRADE_LEVEL],9,10,11,12),'HIGH',
if(match([GRADE_LEVEL],99),'GRAD'))))) AS [CURRENT_SCHOOL_LEVEL],
Date(Floor(ENTRYDATE),'MM/DD/YYYY') AS ENTRYDATE,

GENDER AS GENDER_S,
Pick(WildMatch(GENDER, 'M', 'F'),'Male','Female') AS [GENDER_L],
ETHNICITY AS ETHNICITY_S,
Pick(WildMatch(ETHNICITY, 'A', 'B', 'C','H', 'I', 'P'), 'Asian', 'Black', 'Caucasian', 'Hispanic', 'Native American', 'Pacific Islander')AS [ETHNICITY_L]

FROM [lib://QVD Store/STUDENTS.qvd]
(qvd)

WHERE ENTRYDATE >= ('7/1/'& YEAR(IF(num(Month(Today())>6),ENTRYDATE,AddYears(Today(),-1)))) AND NOT MATCH (LAST_NAME,'Test','TEST') AND SCHOOLID <> '900' ;


INNER JOIN

LOAD
ID AS TESTID,
NAME AS TEST_NAME,
DESCRIPTION AS TEST_DESCRIPTION
FROM [lib://QVD Store/TEST.qvd]
(qvd)
WHERE NAME = 'AccessELL';

INNER JOIN

LOAD
ID AS STUDENTTESTID,
STUDENTID AS STUDENTSID,
TESTID,
DATE (TEST_DATE, 'MM-DD-YYYY') AS STUDENTTEST_DATE,
SCHOOLID AS TEST_SCHOOLID_S,
GRADE_LEVEL AS STUDENTTEST_GRADELEVEL,
TERMID AS STUDENTTEST_TERMID
FROM [lib://QVD Store/STUDENTTEST.qvd]
(qvd);

INNER JOIN

LOAD
ID AS TESTSCOREID,
TESTID,
NAME AS TESTSCORE_NAME,
DESCRIPTION AS TESTSCORE_DESCRIPTION

FROM [lib://QVD Store/TESTSCORE.qvd]
(qvd)
WHERE NAME = 'Proficiency Level';

INNER JOIN

LOAD
STUDENTID AS STUDENTSID,
STUDENTTESTID,
TESTSCOREID,
NUMSCORE,
PERCENTSCORE,
ALPHASCORE
FROM [lib://QVD Store/STUDENTTESTSCORE.qvd]
(qvd);

1 Reply
Dalton_Ruer
Support
Support

Check out the FirstSortedValue function and note that you can use - for sort weight to get max instead of min: 

https://help.qlik.com/en-US/sense/February2021/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/Basic...