I rapporti di Customer Data Feed contengono diversi campi di dati, delimitati da caratteri ASCII che normalmente non sono visibili sullo schermo. Questo articolo descrive come determinare il numero di campi contenuti nel rapporto. Per vedere quali campi sono disponibili nella relazione, visitare il sito https://marketing.adobe.com/resources/help/en_US/aam/c_cdf_fields.html
Nelle relazioni vengono utilizzati i seguenti delimitatori:
- Per la separazione dei campi, il carattere ASCII corrispondente al codice 01. Questo è di solito indicato come SOH (inizio intestazione).
- Per la separazione degli array, il carattere ASCII corrispondente al codice 02. Questo è di solito indicato come STX (inizio del testo).
- Per i dizionari:
- La chiave/valore di separazione sarà il carattere ASCII corrispondente al codice 03. Di solito indicato come ETX (fine del testo).
- La separazione degli elementi sarà la stessa per gli array (02). Questi caratteri separatori si presentano molto raramente nei dati grezzi, quindi non c'è alcun rischio di ottenere dati confusi.
Ci sono due modi noti per visualizzare i delimitatori: usando un terminale Unix/Linux o un'interfaccia a riga di comando Cygwin in Windows. Con i delimitatori visibili, è possibile contarli e determinare il numero di campi, anche se i campi sono vuoti.
1- Utilizzando il comando 'translate' ("tr") - Traduce il codice ASCII 01 (separazione dei campi, SOH) in "|"
$ zcat /path/to/dir/AAM_CDF_1234_000001_0.gz | head -5 | tr '\001' '|' | tr '\002' ',' | tr '\003' ':'2013-10-01
18:11:09|00042314524877950034124736683724775790|1083|318722|32619|\N|http://www.acmeflights.com/?cs:e=m&cs:q=&cs:m=&cs:cid=&seg=dap&cs:tv=449&cs:a=pb_retention_search&cs:pro=cpb&cs:ki=581078065|199.30.25.942013-10-01 17:48:52|00067720900173020484560039672852520207|684|64766|\N|d_cb:demdexDestCallback1380649775741,d_dst:1,d_px:19400,d_ld:vin_crm%3D5138.1380649775159.4959%26containerid%3D684%26_ts%3D1380649775741,d_rtbd:json,d_cts:1|http://www.acmemotors.com/|165.234.104.462013-10-01 17:48:52|00067720900173020484560039672852520207|684|64675|32619,20406,20407,2246,20396 d_cb:demdexDestCallback1380649775740,d_dst:1,d_px:19315,d_ld:containerid%3D684%26_ts%3D1380649775740,d_rtbd:json,d_cts:1|http://www.acmemotors.com/|165.234.104.462013-10-01 17:49:14|00067720900173020484560039672852520207|684|64766|\N|d_cb:demdexDestCallback1380649797960,d_dst:1,d_px:19400,d_ld:vin_crm%3D5138.1380649775159.4959%26containerid%3D684%26_ts%3D1380649797960,d_rtbd:json,d_cts:1|http://www.acmemotors.com/inventory/newsearch/Used/|165.234.104.462013-10-01 17:49:14|00067720900173020484560039672852520207|684|64675|32619,20406,20407,2246,20396|d_cb:demdexDestCallback1380649797957,d_dst:1,d_px:19315,d_ld:containerid%3D684%26_ts%3D1380649797957,d_rtbd:json,d_cts:1|http://www.acmemotors.com/inventory/newsearch/Used/|165.234.104.46
2- Usare il comando "less" - Una schermata di Cygwin su un computer Windows, per visualizzare una linea di dati
Il simbolo "^A" indica la posizione del separatore di campo
$ zcat /path/to/dir/AAM_CDF_1234_000001_0.gz | head -1 | less