Hola, quiero convertir los datos transaccionales a continuación en una matriz para contar la frecuencia de DIFERENTES días en que el cliente realizó pedidos.
Básicamente estoy tratando de averiguarlo, basado en datos transaccionales durante 2 años. Cuántos días diferentes ha realizado compras un ID de cliente.
Por ejemplo, el ID de cliente 17850 tiene frecuencia de 1 en el conjunto de datos a continuación (compró diferentes artículos durante ese día como puede ver en los datos transaccionales).
Estoy intentando TABULAR, pero no estoy seguro de cómo obtener filas de ID de cliente individuales y la frecuencia (basada en días únicos).
Ejemplo de resultado de tabulación (basado en fechas únicas, ¡no en FILAS!):
| Identificación del cliente | Frecuencia |
| 17850 | 45 |
| 13047 | 30 |
| … | … |
PD: adjunto el excell con datos transaccionales
| Factura no | Número de inventario | Descripción | Cantidad | Fecha de la factura | Precio unitario | Identificación del cliente | País |
| 536365 | 85123A | PORTALUCES COLGANTE CORAZÓN BLANCO | 6 | 12/1/2010 8:26 | 2.55 | 17850 | Reino Unido |
| 536365 | 71053 | LINTERNA METAL BLANCO | 6 | 12/1/2010 8:26 | 3.39 | 17850 | Reino Unido |
| 536365 | 84406B | PERCHA CORAZONES DE CUPIDO CREMA | 8 | 12/1/2010 8:26 | 2.75 | 17850 | Reino Unido |
| 536365 | 84029G | BOTELLA DE AGUA CALIENTE CON BANDERA DE LA UNIÓN DE PUNTO | 6 | 12/1/2010 8:26 | 3.39 | 17850 | Reino Unido |
| 536365 | 84029E | CORAZON BLANCO BOMBON LANOSO ROJO. | 6 | 12/1/2010 8:26 | 3.39 | 17850 | Reino Unido |
| 536365 | 22752 | SET 7 CAJAS NIDO BABUSHKA | 2 | 12/1/2010 8:26 | 7.65 | 17850 | Reino Unido |
| 536365 | 21730 | PORTALUCES EN T CON ESTRELLA DE VIDRIO FROSTED | 6 | 12/1/2010 8:26 | 4.25 | 17850 | Reino Unido |
| 536366 | 22633 | UNION JACK CALENTADOR DE MANOS | 6 | 12/1/2010 8:28 | 1.85 | 17850 | Reino Unido |
| 536366 | 22632 | CALIENTAMANOS LUNARES ROJOS | 6 | 12/1/2010 8:28 | 1.85 | 17850 | Reino Unido |
| 536367 | 84879 | ADORNO DE PÁJARO DE COLORES SURTIDOS | 32 | 12/01/2010 8:34 | 1.69 | 13047 | Reino Unido |
| 536367 | 22745 | DORMITORIO DE LA CASA DE JUEGOS DE POPPY | 6 | 12/01/2010 8:34 | 2.1 | 13047 | Reino Unido |
| 536367 | 22748 | COCINA DE LA CASA DE JUEGOS DE POPPY | 6 | 12/01/2010 8:34 | 2.1 | 13047 | Reino Unido |
| 536367 | 22749 | MUÑECA DE FIELTRO PRINCESA CARLOTA | 8 | 12/01/2010 8:34 | 3.75 | 13047 | Reino Unido |
| 536367 | 22310 | TAZA PUNTO MARFIL COSY | 6 | 12/01/2010 8:34 | 1.65 | 13047 | Reino Unido |
| 536367 | 84969 | CAJA DE 6 CUCHARITAS DE COLORES SURTIDOS | 6 | 12/01/2010 8:34 | 4.25 | 13047 | Reino Unido |
| 536367 | 22623 | CAJA DE BLOQUES DE JIGSAW VINTAGE | 3 | 12/01/2010 8:34 | 4.95 | 13047 | Reino Unido |
| 536367 | 22622 | CAJA DE BLOQUES DE ALFABETO VINTAGE | 2 | 12/01/2010 8:34 | 9.95 | 13047 | Reino Unido |
| 536367 | 21754 | PALABRA DE BLOQUE DE CONSTRUCCIÓN DEL HOGAR | 3 | 12/01/2010 8:34 | 5.95 | 13047 | Reino Unido |
| 536367 | 21755 | PALABRA DE BLOQUE DE CONSTRUCCIÓN DE AMOR | 3 | 12/01/2010 8:34 | 5.95 | 13047 | Reino Unido |
| 536367 | 21777 | CAJA DE RECETAS CON CORAZÓN DE METAL | 4 | 12/01/2010 8:34 | 7.95 | 13047 | Reino Unido |
| 536367 | 48187 | ALFOMBRA NUEVA INGLATERRA | 4 | 12/01/2010 8:34 | 7.95 | 13047 | Reino Unido |
| 536368 | 22960 | SET PARA HACER MERMELADA CON BOTES | 6 | 12/01/2010 8:34 | 4.25 | 13047 | Reino Unido |
| 536368 | 22913 | PERCHERO ROJO PARIS FASHION | 3 | 12/01/2010 8:34 | 4.95 | 13047 | Reino Unido |
| 536368 | 22912 | PERCHERO AMARILLO PARIS FASHION | 3 | 12/01/2010 8:34 | 4.95 | 13047 | Reino Unido |
| 536368 | 22914 | PERCHERO AZUL PARIS FASHION | 3 | 12/01/2010 8:34 | 4.95 | 13047 | Reino Unido |
| 536369 | 21756 | PALABRA DE BLOQUE DE CONSTRUCCIÓN DE BAÑO | 3 | 12/01/2010 8:35 | 5.95 | 13047 | Reino Unido |
| 536370 | 22728 | RELOJ ALARMA BAKELIKE ROSA | 24 | 12/01/2010 8:45 | 3.75 | 12583 | Francia |
| 536370 | 22727 | RELOJ DESPERTADOR BAKELIKE ROJO | 24 | 12/01/2010 8:45 | 3.75 | 12583 | Francia |
| 536370 | 22726 | RELOJ DESPERTADOR BAKELIKE VERDE | 12 | 12/01/2010 8:45 | 3.75 | 12583 | Francia |
| 536370 | 21724 | HOJA DE ADHESIVOS PANDA Y CONEJOS | 12 | 12/01/2010 8:45 | 0.85 | 12583 | Francia |
| 536370 | 21883 | CINTA DE REGALO ESTRELLAS | 24 | 12/01/2010 8:45 | 0,65 | 12583 | Francia |
Una forma alternativa de hacer esto.Primero, como dice Jim, cambie la identificación del cliente (ya sea a Nominal u Ordinal).Cree una nueva columna de fecha cambiando la fecha de factura actual a una variable nominal de caracteres.Cree una nueva columna para la fecha usando la Izquierda (Fecha de la factura, 10); esto elimina el tiempo.Luego use Tabular, con el ID de cliente seguido de la nueva columna de fecha (ambas como filas).En la flecha roja, Convertir en tabla de datos.
Luego, cree una nueva columna con la fórmula Número de columna (fecha, por ID de cliente).Esto da la cantidad de días distintos en que cada cliente realizó pedidos.
La solución a tu pregunta es muy sencilla.Puede hacerlo fácilmente de forma interactiva o como un script. Todos estos pasos se encuentran en la documentación introductoria de JMP, que le sugiero que se tome el tiempo de leer.Le dará una buena visión general de los diferentes componentes disponibles.
Ayuda==>Libros==>Uso de JMP
Interactivo:
1. Abra el archivo de Excel desde JMP
Archivo==>Abrir
2. El CustomerID se abre como una columna Numérica/Continua.Tiene que ser un valor ordinal.
3. La columna InvoiceDate está formateada para que también se muestre la Parte de tiempo.Desea tratar con InvoiceDate como días separados, no como horas dentro de días, así que abra la Información de columna para esa columna y cambie el formato a "d/m/y"
4. Para resumir los datos en una fila por CustomerID/InvoiceDate, ejecute
Tablas==>Resumen
Coloque tanto CustomerID como InvoiceDate en la selección de grupo y haga clic en Aceptar
5. Ahora, para resumir hasta una fila por ID de cliente, vuelva a ejecutar la plataforma de resumen en la tabla recién creada.
Tablas==>Resumen
Colocando la columna CustomerID en la selección de Grupo y haciendo clic en Aceptar
La tabla resultante tendrá los valores solicitados
El siguiente script se generó básicamente ejecutando los pasos anteriores de forma interactiva y luego simplemente guardando los scripts para cada paso en una ventana de script.Escribí solo una pequeña parte del código a continuación.JMP lo generó.
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>