I am using | from datamodel:somedatamodel | fields username, IPaddress | outputlookup append=true filename.csv to append the data. Username is always unique but IPaddress changes based on what computer user logins from.
The method I am using is creating duplicate usernames and IP addresses. I can't use append=false because that will delete old data (if users didn't login according to the cron time schedule). I need a way not to delete existing usernames but just update the IP address of the username (without appending additional rows with the same username).
Can you try summary index to update the IP address of the username. Because lookup will die at some time but in summary index you can save it for as much time you want to.
For summary index you will just have to create a search which will save data in other index which will provide you your desired data.
You can configure summary index with the help of below splunk docs. http://docs.splunk.com/Documentation/Splunk/7.0.1/Knowledge/Configuresummaryindexes