you could use a mapping table to map your single letter region field to a full name region field, like below. The REGIONMAP table is only existing during load, the applymap functions queries the full name values from it. As a result, you get an table, INPUT, with the original field Region and an additional field RegionName. The Inline table is only for demonstration, you probably replace it just with a ... from YourDatabaseTable;
Instead of mapping the Name into the Table as a new field, you could remove the line with the applymap() and the Mapping prefix, and thus create a second resident table that is linked via Region to your Input table.
In any object, you can now use the RegionName to have a more user friendly list of values, e.g. in a selection box or as dimension.
Hope this helps,
Mapping LOAD * INLINE [
applymap('REGIONSMAP',Region) as RegionName
I agree with Stefan's solution, you can check this one also and see how they perform should you have a large data volume to load, and probably easier since this doesn't need any additional table
Data: LOAD ..., Pick(Match(Region, 'N', 'S', 'E', 'W'), 'Reg. North', 'Reg. South', 'Reg. East', 'Reg. West') AS FriendlyRegionName FROM Source;
Match() function will return a numeric value when the match is done (1 for 'N', 2 for 'S' and so) and Pick will take the result of this match from the list of expression following.
By the way, I would always do this kind of stuff in the script rather than in the objects using expressions. The latter can slow down your redering time.
Hope that helps.