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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
ecabanas
Creator II
Creator II

Problems with Date format

Hi all,

I'm loading dates from sql server that comes with this format: 2011-08-25 00:00:00.000

I create a Calendar with:

LET vDateMin = Num(MakeDate(2011,1,1)); 

LET vDateMax = Floor(MonthEnd(Today())); 

LET vDateToday = Num(Today()); 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////TEMPCALENDAR///////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

TempCalendar: 

LOAD

$(vDateMin) + RowNo() - 1 AS DateNumber, 

Date($(vDateMin) + RowNo() - 1) AS TempDate 

AUTOGENERATE 1 

WHILE $(vDateMin)+IterNo()-1<= $(vDateMax); 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////CALENDAR///////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Calendar: 

LOAD

  Floor(TempDate)  AS DATEFINANCIAL_LINE,

The problem is when I load in the script:

floor(DATEFINANCIAL) as DATEFINANCIAL_LINE

There are some lines tha did not match with the Calendar and I'm getting fool to find the mistake

Many thank's

Eduard

Labels (1)
6 Replies
MK_QSL
MVP
MVP

Try this

LET vDateMin = Num(MakeDate(2011,1,1));

LET vDateMax = Num(MonthEnd(Today()));

LET vDateToday = Num(Today());

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////TEMPCALENDAR///////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

TempCalendar:

LOAD

  $(vDateMin) + RowNo() - 1 AS DateNumber,

  Date($(vDateMin) + RowNo() - 1) AS TempDate

AUTOGENERATE 1

WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////CALENDAR///////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Calendar:

LOAD

  Date(TempDate)  AS DATEFINANCIAL_LINE

Resident TempCalendar;

Drop Table TempCalendar;

Date(floor(DATEFINANCIAL)) as DATEFINANCIAL_LINE

sunny_talwar
MVP
MVP

May be try this:

TempCalendar:

LOAD

$(vDateMin) + RowNo() - 1 AS DateNumber,

Date($(vDateMin) + RowNo() - 1, 'YYYY-MM-DD') AS TempDate

AUTOGENERATE 1

WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////CALENDAR///////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Calendar:

LOAD

  TempDate  AS DATEFINANCIAL_LINE,

Fact_Table:

Date(Floor(TimeStamp#(DATEFINANCIAL, 'YYYY-MM-DD')), 'YYYY-MM-DD') as DATEFINANCIAL_LINE

sasiparupudi1
Master III
Master III

LET vDateMin = Num(MakeDate(2011,1,1));

LET vDateMax = Floor(MonthEnd(Today()));

LET vDateToday = Num(Today());

TempCalendar:

LOAD

$(vDateMin) + RowNo() - 1 AS DateNumber,

Date($(vDateMin) + RowNo() - 1) AS TempDate

AUTOGENERATE 1

WHILE $(vDateMin)+IterNo()-1<= $(vDateMax);

Cal:

LOAD *,

Floor(TempDate) AS DATEFINANCIAL_LINE Resident TempCalendar;

DROP Table TempCalendar;

Data:

Load SqlDate

,Date(if(SubStringCount(SqlDate,' ')>0,Timestamp#(SqlDate,'YYYY-MM-DD hh:mm:ss[.fff]'),SqlDate)) as SqlDate1

Inline

[

SqlDate

2011-08-25 00:00:00.000

2011-01-25

2011-02-22 00:00:00.000

]

sasiparupudi1
Master III
Master III

Hi

Is your problem solved?

Sasi

ecabanas
Creator II
Creator II
Author

Hi Sasidhar,

the problem was there were some dates "null" , I tryied another date field like phisical date that has allways data

Many thank's guys

Eduard

sasiparupudi1
Master III
Master III

Please close this thread then marking your resolution as a correct answer