Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I have a table with Autonumerate ID as %_KohdeDateID, and Status in field "Huoneiston historia Status".
I'm trying to replace values where status if 'Vapaa' and on the next date it is 'Tarjottu'. I want to overwrite the 'Vapaa' with Tarjottu. And I want to prevent from 'Tarjottu' overwriting all 'Vapaa' Statuses. Only the last one.
This is my script:
AH:
NoConcatenate
Load
[%_KohdeDateID],
"Data pvm",
%_KohdeID,
"Huoneiston historia Status",
IF(Match("Huoneiston historia Status", 'Vapaa') and Match(Peek('Huoneiston historia Status'),'Tarjottu'),'Uus tila',"Huoneiston historia Status") as "New - Huoneiston historia Status",
"Huoneiston tila"
Resident AH_TEMP
Order by %_KohdeDateID desc;
The issue is here, I get duplicate rows where the IF statement is true:
%_KohdeDateID | Data pvm | New - Huoneiston historia Status | Huoneiston historia Status |
437 | 11.8.2019 | Vapautumassa | Vapautumassa |
438 | 12.8.2019 | Vapautumassa | Vapautumassa |
439 | 13.8.2019 | Uus tila | Vapaa |
439 | 13.8.2019 | Vapaa | Vapaa |
440 | 14.8.2019 | Tarjottu | Tarjottu |
441 | 15.8.2019 | Tarjottu | Tarjottu |
442 | 16.8.2019 | Tarjottu | Tarjottu |
443 | 17.8.2019 | Tarjottu | Tarjottu |
444 | 18.8.2019 | Tarjottu | Tarjottu |
445 | 19.8.2019 | Tarjottu | Tarjottu |
446 | 20.8.2019 | Vapaa | Vapaa |
447 | 21.8.2019 | Uus tila | Vapaa |
447 | 21.8.2019 | Vapaa | Vapaa |
448 | 22.8.2019 | Tarjottu | Tarjottu |
449 | 23.8.2019 | Tarjottu | Tarjottu |
450 | 24.8.2019 | Tarjottu | Tarjottu |
Regards,
Pena
This should work:
AH_TEMP:
LOAD * Inline [
%_KohdeDateID,'Data pvm','Huoneiston historia Status'
434, 8.8.2019, Vapautumassa
435, 9.8.2019, Vapautumassa
436, 10.8.2019, Vapautumassa
437, 11.8.2019, Vapautumassa
438, 12.8.2019, Vapautumassa
439, 13.8.2019, Vapaa
440, 14.8.2019, Tarjottu
441, 15.8.2019, Tarjottu
442, 16.8.2019, Tarjottu
443, 17.8.2019, Tarjottu
444, 18.8.2019, Tarjottu
445, 19.8.2019, Tarjottu
446, 20.8.2019, Vapaa
447, 21.8.2019, Vapaa
448, 22.8.2019, Tarjottu
449, 23.8.2019, Tarjottu
450, 24.8.2019, Tarjottu
451, 25.8.2019, Tarjottu
452, 26.8.2019, Siirretään sopimukselle
453, 27.8.2019, Sopimuksella ];
When I load this from Inline I do not get duplicate rows with the exact same resident load. If i comment away the resident load and drop table I don't have duplicate on these rows. So loading from qvd creates different result than loading from Inline.
Very strange. Haven't been this confused in a while...
Load
%_KohdeDateID,
[Data pvm],
[Huoneiston historia Status],
If(Match(Peek('Huoneiston historia Status'),'Tarjottu') and "Huoneiston historia Status"='Vapaa' ,'Uus tila',"Huoneiston historia Status")
as "New - Huoneiston historia Status";
//if you loading from QVD do order by while loading into QVD on KohdeDateID
LOAD * Inline [
%_KohdeDateID,'Data pvm','Huoneiston historia Status'
434, 8.8.2019, Vapautumassa
435, 9.8.2019, Vapautumassa
436, 10.8.2019, Vapautumassa
437, 11.8.2019, Vapautumassa
438, 12.8.2019, Vapautumassa
439, 13.8.2019, Vapaa
440, 14.8.2019, Tarjottu
441, 15.8.2019, Tarjottu
442, 16.8.2019, Tarjottu
443, 17.8.2019, Tarjottu
444, 18.8.2019, Tarjottu
445, 19.8.2019, Tarjottu
446, 20.8.2019, Vapaa
447, 21.8.2019, Vapaa
448, 22.8.2019, Tarjottu
449, 23.8.2019, Tarjottu
450, 24.8.2019, Tarjottu
451, 25.8.2019, Tarjottu
452, 26.8.2019, Siirretään sopimukselle
453, 27.8.2019, Sopimuksella ];