BookmarkSubscribeRSS Feed

It would be helpful to have concatenation on the IDLABEL statement. At the moment it only allows variables like:

IDLABEL alergy_variable; * where 'alergy_variable' may be 'Milk', 'Beef', or whatever the value of the variable is; 


However the IDLABEL statement is for 'labeling' so it would be nice if the statement would allow for better dynamic labeling like so:

IDLABEL cat("Do you think you have a food alergy to...",alergy_variable);
Super User

Since except for a very specific type of data manipulation Proc Transpose does not manipulate values this would be an extremely significant departure. Note that BY statements do not allow functions or manipulation, ID statements do not allow functions or manipulation, Var statements do not allow functions or manipulation ...


Since it is extremely easy for the user to create the Variable referenced in an IDLABEL statement prior to calling proc transpose I see this as adding very little for a great deal of change in procedure behavior.

Fluorite | Level 6

I can understand why BY, ID, and VAR statements do not allow for concatenation, but IDLABEL is for labeling, NOT manipulating the data.  Labels should be more descriptive than simply the variable name, otherwise labels are worthless.

Super User

The ID statement sort of supports concatenation. If you include multiple variables they are concatenated, with the delimiter identified in the PROC statement (DELIM). Having the same functionality on the IDLABEL statement doesn't seem that far of a stretch. Allowing it to support text and/or multiple variables is all that's required and wouldn't change much in the process AFAIK.