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

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Maximum Date for Each Month From a Table in Scripting

Hi All,

I have a situation where I have thousand row of data to the corresponding dates on the calendar. Now I want to pull the data only for the maximum date of each month in load script. Please help or suggest a solution for this.

For example

Act_IdAct_DateAct_CountryTM_OpenTM_Flag
102-07-2014India23Open
229-07-2014Australia340Open
304-07-2014Hong Kong2643Open
405-07-2014Malasiya1711Open
506-07-2014Saudi Arabia2923Open
910-07-2014India1925Open
1011-07-2014Australia541Open
1101-08-2014Hong Kong764Open
1707-08-2014India1391Open
1808-08-2014Australia1390Open
1909-08-2014Hong Kong1549Open
2010-08-2014Malasiya437Open
2130-08-2014Saudi Arabia995Open

So the solution from the script should get me row num 2 as 340 for July-2014 and row num 21 for Aug 2014. Hope this make the query clear to answer.

Many thanks in advance.

1 Solution

Accepted Solutions
JonnyPoole
Former Employee
Former Employee

Here is a sample script based on a source table above:

temp:

LOAD

    Act_Id,

    Date(date#(Act_Date,'DD-MM-YYYY')) as Act_Date,

    Day(Date(date#(Act_Date,'DD-MM-YYYY'))) as Day,

    Month(Date(date#(Act_Date,'DD-MM-YYYY'))) as Month,

    Year(Date(date#(Act_Date,'DD-MM-YYYY'))) as Year,

    Act_Country,

    TM_Open,

    TM_Flag

FROM

(ooxml, embedded labels, table is Sheet1);

Data:

load

  Month,

  Year,

    max(Act_Date) as Act_Date

Resident temp

group by Month,Year;  

left join (Data)

load

    Act_Id,

    Act_Date,

    Day,

    Act_Country,

    TM_Open,

    TM_Flag

resident temp;

drop table temp;  

View solution in original post

3 Replies
JonnyPoole
Former Employee
Former Employee

Here is a sample script based on a source table above:

temp:

LOAD

    Act_Id,

    Date(date#(Act_Date,'DD-MM-YYYY')) as Act_Date,

    Day(Date(date#(Act_Date,'DD-MM-YYYY'))) as Day,

    Month(Date(date#(Act_Date,'DD-MM-YYYY'))) as Month,

    Year(Date(date#(Act_Date,'DD-MM-YYYY'))) as Year,

    Act_Country,

    TM_Open,

    TM_Flag

FROM

(ooxml, embedded labels, table is Sheet1);

Data:

load

  Month,

  Year,

    max(Act_Date) as Act_Date

Resident temp

group by Month,Year;  

left join (Data)

load

    Act_Id,

    Act_Date,

    Day,

    Act_Country,

    TM_Open,

    TM_Flag

resident temp;

drop table temp;  

MarcoWedel

Hi,

one solution:

QlikCommunity_Thread_131863_Pic1.JPG.jpg

LOAD FirstSortedValue(Act_Id, -Act_Date) as Act_Id,

    FirstSortedValue(Act_Date, -Act_Date) as Act_Date,

    FirstSortedValue(Act_Country, -Act_Date) as Act_Country,

    FirstSortedValue(TM_Open, -Act_Date) as TM_Open,

    FirstSortedValue(TM_Flag, -Act_Date) as TM_Flag

FROM [http://community.qlik.com/thread/131863] (html, codepage is 1252, embedded labels, table is @1)

Group By MonthName(Act_Date);

hope this helps

regards

Marco

MarcoWedel

or maybe:

LOAD * FROM [http://community.qlik.com/thread/131863] (html, codepage is 1252, embedded labels, table is @1);

Right Join

LOAD Max(Act_Date) as Act_Date

Resident table1

Group By MonthName(Act_Date);

hope this helps

regards

Marco