Once the data is downloaded and parsed, I split it to identify the column headers and the underlying data. The column split is used to identify the unique data record ID and the column heading ID. The column headers are joined to the data by using Find/Replace and the column ID. The data is reformatted using Crosstab and Dynamic Rename to correct the column headings since the crosstab added underscores.