Salve, desidero convertire i dati transazionali di seguito in una matrice per contare la frequenza dei DIVERSI giorni in cui il cliente ha effettuato gli ordini.
Fondamentalmente sto cercando di capire, sulla base di dati transazionali per 2 anni. Quanti giorni diversi un ID cliente ha effettuato acquisti.
Ad esempio, l'ID cliente 17850 ha frequenza di 1 nel set di dati di seguito (ha acquistato diversi articoli durante quel giorno, come puoi vedere nei dati transazionali).
Sto provando TABULATE, ma non sono sicuro di come trovare righe di singoli ID cliente e la frequenza (basata su giorni unici).
Esempio di risultato della tabulazione (basato su date univoche, non su RIGHE!):
| identificativo del cliente | Frequenza |
| 17850 | 45 |
| 13047 | 30 |
| … | … |
PS: allego l'excel con i dati transazionali
| Fattura n | Codice magazzino | Descrizione | Quantità | Data fattura | Prezzo unitario | Identificativo del cliente | Paese |
| 536365 | 85123A | PORTA T-LIGHT A CUORE BIANCO DA APPENDERE | 6 | 1/12/2010 8:26 | 2.55 | 17850 | Regno Unito |
| 536365 | 71053 | LANTERNA IN METALLO BIANCO | 6 | 1/12/2010 8:26 | 3.39 | 17850 | Regno Unito |
| 536365 | 84406B | APPENDIABITI CUORI CUPIDO PANNA | 8 | 1/12/2010 8:26 | 2.75 | 17850 | Regno Unito |
| 536365 | 84029G | BORSA DELL'ACQUA CALDA A MAGLIA UNION FLAG | 6 | 1/12/2010 8:26 | 3.39 | 17850 | Regno Unito |
| 536365 | 84029E | CUORE BIANCO DI WOOLLY HOTTIE ROSSO. | 6 | 1/12/2010 8:26 | 3.39 | 17850 | Regno Unito |
| 536365 | 22752 | SET 7 NIDI BABUSHKA | 2 | 1/12/2010 8:26 | 7.65 | 17850 | Regno Unito |
| 536365 | 21730 | PORTA T-LIGHT IN VETRO SATINATO A STELLA | 6 | 1/12/2010 8:26 | 4.25 | 17850 | Regno Unito |
| 536366 | 22633 | SCALDAMANI UNION JACK | 6 | 1/12/2010 8:28 | 1,85 | 17850 | Regno Unito |
| 536366 | 22632 | SCALDAMANI A POIS ROSSO | 6 | 1/12/2010 8:28 | 1,85 | 17850 | Regno Unito |
| 536367 | 84879 | ORNAMENTO UCCELLO COLORI ASSORTITI | 32 | 1/12/2010 8:34 | 1.69 | 13047 | Regno Unito |
| 536367 | 22745 | LA CAMERA DA LETTO DELLA CASETTA DEI GIOCHI DI POPPY | 6 | 1/12/2010 8:34 | 2.1 | 13047 | Regno Unito |
| 536367 | 22748 | LA CUCINA DELLA CASETTA DEI GIOCHI DI POPPY | 6 | 1/12/2010 8:34 | 2.1 | 13047 | Regno Unito |
| 536367 | 22749 | BAMBOLA PRINCIPESSA CHARLOTTE FELTCRAFT | 8 | 1/12/2010 8:34 | 3.75 | 13047 | Regno Unito |
| 536367 | 22310 | TAZZA IN LAVORAZIONE AVORIO ACCOGLIENTE | 6 | 1/12/2010 8:34 | 1.65 | 13047 | Regno Unito |
| 536367 | 84969 | SCATOLA DA 6 CUCCHIAINI COLORI ASSORTITI | 6 | 1/12/2010 8:34 | 4.25 | 13047 | Regno Unito |
| 536367 | 22623 | SCATOLA DEI BLOCCHI DEL JIGSAW DELL'ANNATA | 3 | 1/12/2010 8:34 | 4,95 | 13047 | Regno Unito |
| 536367 | 22622 | SCATOLA DEI BLOCCHETTI DELL'ALFABETO DELL'ANNATA | 2 | 1/12/2010 8:34 | 9,95 | 13047 | Regno Unito |
| 536367 | 21754 | PAROLA DEL BLOCCO DELLA COSTRUZIONE DOMESTICA | 3 | 1/12/2010 8:34 | 5,95 | 13047 | Regno Unito |
| 536367 | 21755 | PAROLA DEL BLOCCO DI COSTRUZIONE DI AMORE | 3 | 1/12/2010 8:34 | 5,95 | 13047 | Regno Unito |
| 536367 | 21777 | SCATOLA PER RICETTE CON CUORE IN METALLO | 4 | 1/12/2010 8:34 | 7,95 | 13047 | Regno Unito |
| 536367 | 48187 | Zerbino NUOVA INGHILTERRA | 4 | 1/12/2010 8:34 | 7,95 | 13047 | Regno Unito |
| 536368 | 22960 | SET PER MARMELLATE CON VASI | 6 | 1/12/2010 8:34 | 4.25 | 13047 | Regno Unito |
| 536368 | 22913 | APPENDIABITI ROSSO MODA PARIGI | 3 | 1/12/2010 8:34 | 4,95 | 13047 | Regno Unito |
| 536368 | 22912 | APPENDIABITI GIALLO MODA PARIGI | 3 | 1/12/2010 8:34 | 4,95 | 13047 | Regno Unito |
| 536368 | 22914 | APPENDIABITI BLU MODA PARIGI | 3 | 1/12/2010 8:34 | 4,95 | 13047 | Regno Unito |
| 536369 | 21756 | PAROLA DEL BLOCCO DI COSTRUZIONE DEL BAGNO | 3 | 1/12/2010 8:35 | 5,95 | 13047 | Regno Unito |
| 536370 | 22728 | SVEGLIA BAKELIKE ROSA | 24 | 1/12/2010 8:45 | 3.75 | 12583 | Francia |
| 536370 | 22727 | SVEGLIA BAKELIKE ROSSA | 24 | 1/12/2010 8:45 | 3.75 | 12583 | Francia |
| 536370 | 22726 | SVEGLIA BAKELIKE VERDE | 12 | 1/12/2010 8:45 | 3.75 | 12583 | Francia |
| 536370 | 21724 | FOGLIO ADESIVI PANDA E CONIGLIETTI | 12 | 1/12/2010 8:45 | 0,85 | 12583 | Francia |
| 536370 | 21883 | NASTRO REGALO STELLE | 24 | 1/12/2010 8:45 | 0,65 | 12583 | Francia |
Un modo alternativo per farlo.Innanzitutto, come dice Jim, cambia l'ID cliente (in Nominal o in Ordinal).Crea una nuova colonna data modificando l'attuale InvoiceDate in una variabile Character Nominal.Crea una nuova colonna per la data utilizzando Left (Invoice Date,10) - questo elimina il tempo.Quindi utilizzare Tabulate, con ID cliente seguito dalla nuova colonna della data (entrambe come righe).Alla freccia rossa, trasforma in tabella dati.
Quindi, crea una nuova colonna con la formula Numero colonna (data, per ID cliente).Questo fornisce il numero di giorni distinti in cui ciascun cliente ha effettuato ordini.
La soluzione alla tua domanda è molto semplice.Puoi farlo facilmente in modo interattivo o come script. Questi passaggi si trovano tutti nella documentazione introduttiva di JMP, che suggerisco di dedicare del tempo alla lettura.Ti darà una buona panoramica sui diversi componenti disponibili.
Aiuto==>Libri==>Utilizzo di JMP
Interattivo:
1. Aprire il file Excel da JMP
File==>Apri
2. Il CustomerID si apre come una colonna numerica/continua.Deve essere un valore ordinale.
3. La colonna InvoiceDate è formattata in modo da visualizzare anche la parte temporale.Vuoi gestire InvoiceDate come giorni separati, non orari all'interno di giorni, quindi modifica le informazioni sulla colonna per quella colonna e modifica il formato in "d/m/y"
4. Per riepilogare i dati in una riga per CustomerID/InvoiceDate, eseguire
Tabelle==>Riepilogo
Inserisci sia CustomerID che InvoiceDate nella selezione Gruppo e fai clic su OK
5. Ora per riepilogare fino a una riga per CustomerID, eseguire nuovamente la piattaforma di riepilogo, rispetto alla tabella appena creata
Tabelle==>Riepilogo
Posizionando la colonna CustomerID nella selezione del gruppo e facendo clic su OK
La tabella risultante avrà i valori richiesti
Lo script seguente è stato sostanzialmente generato eseguendo i passaggi precedenti in modo interattivo e quindi semplicemente salvando gli script per ogni passaggio in una finestra di script.Ho scritto solo una piccola parte del codice qui sotto.JMP lo ha generato.
names default to here(1);
// Open the Excel file
dt=Open(
// Change the below to the path to the Excel File
"<PATH to="" folder="">\Online Retail.xlsx");
// The CustomerID should not be treated as a continuous,
// analytical column of data, so
// Change CustomerID to an Ordinal Modeling Type
dt:CustomerID<<MODELING type="">Tabulate
// which will allow for the Calculation of the
// counts of the number of different InvoiceDates
dtSum1 << Tabulate(
Show Control Panel( 0 ),
Include missing for grouping columns( 1 ),
Add Table(
Column Table( Analysis Columns( :InvoiceDate ), Statistics( N ) ),
Row Table( Grouping Columns( :CustomerID ) )
)
);
// Or
// Run the Summary Platform again, but this time run it on
// the current Summarized data table to count the number of
// rows for each CustomerID
dtSum2 = dtSum1 << Summary(
Group( :CustomerID ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);
// Now Clean up the N Rows name to # of Invoiced Days
dtSum2:N Rows << set name("# of Invoiced Days");</MODELING></PATH>