Process:
- Data cleanup to get rid of a couple of unneeded fields
- Add Record IDs for later cross-tab
- First Text to Columns: Split to Rows on "<" - this provides what will become the Field Name (but currently includes the Values as well - separated by ">")
- Second Text to Columns: Split to Columns on ">" - this splits the field name from the values
- Formula adds "Bill to" or "Ship to" to the values field (enabling a cross-tab to be employed to split these values)
- Data Cleansing - to get rid of whitespace that was messing up the filter
- Filter to remove records where values are empty
- Two Crosstabs - on Record ID, and other common data, columns are headers, values are values (the two columns derived above)
-- First one takes the first value - Billing info
-- Second one takes the last value - Shipping info
- Join on Record ID
- Select to get rid of un-needed fields, rename, and re-order (I know, I could have used embedded select in the Join, but I am working on limited screen real estate and found this simpler)
- Formula to create Null for phone and email are same for Billing and Shipping (although it seems to be based on just the phone)