Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Dear Qlik Community I hope this finds you well. I have the follow script, enclosed below, that I have used to distinguish the two date fields from one another (date given to embroiderer & date returned by embroiderer). The 'datetype' field is the flag I am using but unfortunately the script is not working.
The results i have for 'Quantity' (meaning quantity of items produced) and 'fees paid to embroiderer' are both wrong when I filter in the front end (date returned by embroiderer is the main one i am filtering for because they get paid once they produce the item). I have tried different combinations of date functions in the master calendar, re-formating the dates in the actual data source and putting more shared fields between the main 'embroiderer' table and the 'datelink table' but the results are still off by a lot.
In the front end, I have tried normal sum expressions and also sum(aggr(sum but no luck.
The only thing that seems to produce accurate results is if I delete one of the date fields and remove the datelink table so that it is just a normal master calendar (this led me to believe that the problem is with the datelink table...because when I delete it and remove one date field the results seem to be accurate when I filter by year/month year etc...). But it is important that both date fields remain in the app.
Any suggestions or tips on how to keep both date fields, and have a 'datetype' filter that actually works would be most appreciated. I have tried this script with another app and it seemed to work so I am not sure what the problem is.
Thank you for your support!
[Embroiderers]:
LOAD
"Embroiderer's Name",
"I.D. #",
"Date of Birth",
"Marital Status",
"Name of Camp",
"Palestinian Town",
"Telephone Number",
"Date First Joined Inaash",
"Speed L/M/H",
"Quality L/M/H",
"Embroidery Material knowhow",
"Preffered Embroidery Items",
"Preffered Embroidery Patterns",
Item,
Quantity,
"Date given to embroiderer" as [Date Given to Embroiderer],
"Date returned by embroiderer" as [Date Returned by Embroiderer],
"Estimated Time Needed",
"Time Unit",
"Fees paid to embroiderer",
"Quality L/M/H2",
Comments,
"I.D. #" & '+' & "Embroiderer's Name" & '+' & Item & '+' & Quantity as Key
FROM [lib://xxx (xxx-qlik-01_qliksupport)/xxx-S-Lebanon2.xlsx]
(ooxml, embedded labels, table is Sheet1);
DateLink:
LOAD
[Date Given to Embroiderer] as Date,
"I.D. #",
'Date Given' as DateType
Resident [Embroiderers]
;
LOAD
[Date Returned by Embroiderer] as Date,
"I.D. #",
'Date Returned' as DateType
Resident [Embroiderers];
Temp:
Load num#(Date,'#') as NumericDate
RESIDENT DateLink;
MinMax:
LOAD
Min(NumericDate) AS MinDate,
Max(NumericDate) AS MaxDate
RESIDENT Temp;
LET vMinDate = Num(Peek('MinDate',0,'MinMax'));
LET vMaxDate = Num(Peek('MaxDate',0,'MinMax'));
MasterCalendar:
LOAD Distinct
Date ($(vMinDate) + RecNo() - 1) AS Date,
Year(Date($(vMinDate) + RecNo() - 1)) as [Year],
Month(Date($(vMinDate) + RecNo() - 1)) as [Month],
Date(monthStart(Date($(vMinDate) + RecNo() - 1)), 'MM-YYYY') AS [MonthYear],
'Q'&ceil(month(Date($(vMinDate) + RecNo() - 1))/3)&'-'&Year(Date($(vMinDate) + RecNo() - 1)) As QuarterYear
AUTOGENERATE ($(vMaxDate) - $(vMinDate) +1);
DROP TABLE MinMax;
DROP TABLE Temp;
Do the date fields contain a time component? The you will want to floor them before using them in a link
LOAD
Date(Floor([Date Given to Embroiderer])) as Date,
"I.D. #",
'Date Given' as DateType
Resident [Embroiderers];
Also, modify the preload for the date:
Temp:
Load Num(Date) as NumericDate
RESIDENT DateLink;
Dear Jonathan,
Thank you very much for your reply. I am out of the office but will try your suggestion as soon as I'm back.
There is no time component in the date fields. The format is DD/MM/YYYY
Best,
Mohammed
Dear Jonathan,
Unfortunately floor did not work ![]()
Hi,
Can you attach sample data file.
Dear Mohammed,
Please find attached the sample. Thank you for your support!
Best,
Mohammed
Hi,
I'm looking at the sample data i found the "I.D. #" is not unique Key in that table .
do you have any other Unique key in that table?
Thanks,
Mohammed Mukram
Hi Al Radi,
I was trying to Use Key field in DateLink Table as Primary Key but Unfortunately in the excel file i didn't found "Embroiderer's Name" . so can you add in the sample file "Embroiderer's Name" .
"I.D. #" & '+' & "Embroiderer's Name" & '+' & Item & '+' & Quantity as Key
Thanks,
Mohammed Mukram
Dear Mohammed,
Thanks for your reply. Unfortunately I cannot include the embroiderer's name field in the sample file, but the I.D is also an identifier field. Even in the version I am using, I tried using the Key you provided (with embroiderer name) but it is still producing inaccurate results.
Best,
Mohammed