The best way to get data back from a command is to define the command as a variable then execute it piping the output to a new variable using the built in getline function.
The input of this example is a log file were the first field is epoch time and we need to see the time in human readable time format.
tail /var/log/my.log | awk ' { DC="date -d@"$1; DC | getline T; printf "%s\t", T; for(i=2;i<NF;i++) { printf $i"\t" }; printf "\n"; }'
In this example DC becomes the date command that is given the epoch value in variable $1. T is the variable for the time as a string that we display using printf. Then a loop prints the rest of the data from each line of the log from the second filed to the NF, end number of fields.