Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I need some help in solving this problem when loading my data.
I data that looks like this :
PAT_ID | DIAGNOSI |
100/17 | DIPENDENZA DA COCAINA (13/03/2017) DIPENDENZA DA OPPIOIDI (13/03/2017) |
100/22 | DIPENDENZA DA OPPIOIDI (03/05/2022) |
100/21 | Non sono soddisfatti i criteri diagnostici ICD-9/CM per dipendenze e/o abuso di sostanze |
100/01 | ABUSO DI ALCOL (10/06/2014) ABUSO DI ALCOL, IN REMISSIONE (27/05/2016) ABUSO DI CANNABINOIDI (10/06/2014) ABUSO DI CANNABINOIDI (21/02/2019) ABUSO DI CANNABINOIDI, IN REMISSIONE (06/10/2021) ABUSO DI CANNABINOIDI, IN REMISSIONE (29/01/2016) ABUSO DI COCAINA (06/02/2019) ABUSO DI COCAINA (10/06/2014) ABUSO DI COCAINA (21/02/2013) ABUSO DI COCAINA (21/02/2017) ABUSO DI COCAINA (21/02/2019) ABUSO DI COCAINA, IN REMISSIONE (06/10/2021) ABUSO DI COCAINA, IN REMISSIONE (29/01/2016) DIPENDENZA DA OPPIOIDI (21/02/2013) DIPENDENZA DA OPPIOIDI (30/11/2001) DIPENDENZA DA OPPIOIDI, IN REMISSIONE (10/06/2014) DIPENDENZA DA OPPIOIDI, IN REMISSIONE (21/02/2017) DIPENDENZA DA OPPIOIDI, IN REMISSIONE (27/05/2016) |
100/19 | ABUSO DI COCAINA (02/05/2019) ABUSO DI COCAINA, IN REMISSIONE (20/04/2020) DIPENDENZA DA CANNABINOIDI (02/05/2019) DIPENDENZA DA CANNABINOIDI, IN REMISSIONE (20/04/2020) |
100/20 | Non sono soddisfatti i criteri diagnostici ICD-9/CM per dipendenze e/o abuso di sostanze |
101/20 | ABUSO DI COCAINA, IN REMISSIONE (24/06/2020) |
101/18 | DIPENDENZA DA CANNABINOIDI (19/03/2018) DIPENDENZA DA COCAINA (19/03/2018) |
I need it to look like this:
PAT_ID | DIAGNOSI | DIAG_DATE |
100/17 | DIPENDENZA DA COCAINA | 13/03/2017 |
100/17 | DIPENDENZA DA OPPIOIDI | 13/03/2017 |
100/22 | DIPENDENZA DA OPPIOIDI | 03/05/2022 |
100/21 | Non sono soddisfatti i criteri diagnostici ICD-9/CM per dipendenze e/o abuso di sostanze | |
100/01 | ABUSO DI ALCOL | 10/06/2014 |
100/01 | ABUSO DI ALCOL, IN REMISSIONE | 27/05/2016 |
100/01 | ABUSO DI CANNABINOIDI | 10/06/2014 |
100/01 | ABUSO DI CANNABINOIDI | 21/02/2019 |
100/01 | ABUSO DI CANNABINOIDI, IN REMISSIONE | 06/10/2021 |
100/01 | ABUSO DI CANNABINOIDI, IN REMISSIONE | 29/01/2016 |
100/01 | ABUSO DI COCAINA | 06/02/2019 |
100/01 | ABUSO DI COCAINA | 10/06/2014 |
100/01 | ABUSO DI COCAINA | 21/02/2013 |
100/01 | ABUSO DI COCAINA | 21/02/2017 |
100/01 | ABUSO DI COCAINA | 21/02/2019 |
100/01 | ABUSO DI COCAINA, IN REMISSIONE | 06/10/2021 |
100/01 | ABUSO DI COCAINA, IN REMISSIONE | 29/01/2016 |
100/01 | DIPENDENZA DA OPPIOIDI | 21/02/2013 |
100/01 | DIPENDENZA DA OPPIOIDI | 30/11/2001 |
100/01 | DIPENDENZA DA OPPIOIDI, IN REMISSIONE | 10/06/2014 |
100/01 | DIPENDENZA DA OPPIOIDI, IN REMISSIONE | 21/02/2017 |
100/01 | DIPENDENZA DA OPPIOIDI, IN REMISSIONE | 27/05/2016 |
100/19 | ABUSO DI COCAINA | 02/05/2019 |
100/19 | ABUSO DI COCAINA, IN REMISSIONE | 20/04/2020 |
100/19 | DIPENDENZA DA CANNABINOIDI | 02/05/2019 |
100/19 | DIPENDENZA DA CANNABINOIDI, IN REMISSIONE | 20/04/2020 |
100/20 | Non sono soddisfatti i criteri diagnostici ICD-9/CM per dipendenze e/o abuso di sostanze | |
101/20 | ABUSO DI COCAINA, IN REMISSIONE | 24/06/2020 |
101/18 | DIPENDENZA DA CANNABINOIDI | 19/03/2018 |
101/18 | DIPENDENZA DA COCAINA | 19/03/2018 |
I can't figure this one out. Hopefully, one of you can get me there.
Thanks
PS I attach the ile in excel format.
another similar example:
table1:
LOAD PAT_ID,
If(str like '* (??/??/????)', Left(str,Len(str)-13), str) as DIAGNOSI,
If(str like '* (??/??/????)', Date#(TextBetween(str,'(',')'),'DD/MM/YYYY')) as DIAG_DATE;
LOAD PAT_ID,
SubField(DIAGNOSI,Chr(10)) as str
FROM [https://community.qlik.com/cyjdu72974/attachments/cyjdu72974/qlikview-app-development/1219481/1/Exam...] (ooxml, embedded labels, table is Foglio1);
Hi
your load script should look like this:
LOAD
[PAT_ID] ,
subfield([DIAGNOSI],chr(10)) AS [DIAGNOSI]
FROM [lib://Downloads/Example_DIAG.xlsx]
(ooxml, embedded labels, table is Foglio1);
Thanks !! This helps alot. Do you have any suggestions to create the date field?
I would recommend this script...
LOAD
PAT_ID,
subfield([DIAGNOSI],chr(10),iterno()) AS [DIAGNOSI],
Date#(TextBetween(subfield([DIAGNOSI],chr(10),iterno()),'(',')'),'D/M/YYYY') as Date
FROM
[C:\Users\XXX\Documents\QlikView\Community Help\Example_DIAG.xlsx]
(ooxml, embedded labels, table is Foglio1)
While Iterno() <= SubStringCount([DIAGNOSI],chr(10)) + 1
And Len(subfield([DIAGNOSI],chr(10),iterno())) >0;
HTH,
John
(aka johncaqc)
another similar example:
table1:
LOAD PAT_ID,
If(str like '* (??/??/????)', Left(str,Len(str)-13), str) as DIAGNOSI,
If(str like '* (??/??/????)', Date#(TextBetween(str,'(',')'),'DD/MM/YYYY')) as DIAG_DATE;
LOAD PAT_ID,
SubField(DIAGNOSI,Chr(10)) as str
FROM [https://community.qlik.com/cyjdu72974/attachments/cyjdu72974/qlikview-app-development/1219481/1/Exam...] (ooxml, embedded labels, table is Foglio1);
Thanks John!!!
This is a valid solution, works great!
Thanks Marco!!!!
Interesting alternative, Marco. I wonder what the difference in load times each of our solutions would be. Given such a small dataset...
My solution was actually provided to me several years ago by some else in this community for a similar project I once had.
Hi Marco, I tried sending you a private message but it seems I cannot. I was wondering how you determine the link to forum attachments so they don't need to be downloaded first.
Regards,
JohnInSD
(aka johncaqc)