Come creare una colonna contatore "entro il giorno"?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Ho un tavolo con le misure, alcuni sono fatti entro il giorno e alcuni in giorni diversi. Vorrei creare una colonna che fornisca alla misurazione una stringa identificativa univoca utilizzando la data e un NUMERO DI SEQUENZA PER IL GIORNO.
Questo apparirebbe come questo:
| Identifier | Data | Dati |
| M160723-0001 | 23-07-16 | 3445 |
| M160723-0002 | 23-07-16 | 2455 |
| M160723-0003 | 23-07-16 | 2234 |
| M160723-0004 | 23-07-16 | 2334 |
| M160723-0005 | 23-07-16 | 2455 |
| M160725-0001 | 25-07-16 | 7658 |
| M160725-0002 | 25-07-16 | 6785 |
| M160725-0003 | 25-07-16 | 7657 |
| M160725-0004 | 25-07-16 | 5678 |
| M160725-0005 | 25-07-16 | 6575 |
| M160729-0001 | 29-07-16 | 7889 |
| M160729-0002 | 29-07-16 | 5764 |
| M160729-0003 | 29-07-16 | 4565 |
La colonna che ho bisogno di JMP per creare è la "colonna Identificatore". Ho giocato con le funzioni Row (), Subscript () e altre funzioni, ma sono riuscito a bloccare JMP.
Ho questo pezzo di formula per la prima parte ma sto lottando con la controparte:
"M" || Destra (Char (Year (: Date)), 2) ||
Char (Month (: Date)) || Char (Day (: Date))
|| "-" || ????
Qualsiasi suggerimento è davvero benvenuto!
Ri: Come creare una colonna contatore "entro il giorno"? msharp , Mie scuse, Non volevo davvero sottovalutare l'aiuto di tutti e due txnelson e SIGNORINA . Il credito per la soluzione va a loro completamente. Ho provato ad apprezzare il loro aiuto nel mio post finale.
Ho contrassegnato la mia risposta come corretta per consentire una facile localizzazione della soluzione completa per i futuri utenti che effettuano ricerche nel forum. Tuttavia, se questo è percepito come se io prendessi credito per la soluzione, la rettifico immediatamente. Di nuovo, mi scuso se qualcuno si è offeso.
Ri: Come creare una colonna contatore "entro il giorno"?Questo non è né qui né là, ma contrassegnare la tua risposta corretta quando TXNelson e MS hanno chiaramente risolto il problema nell'OP è molto sgradevole.
Ri: Come creare una colonna contatore "entro il giorno"?Quindi, ho capito che quello che avevo era una specie di timestamp piuttosto che una data, ecco perché non stava funzionando nel file di esempio che ho postato ... scusa per l'errore che definisce la necessità! Tuttavia, l'ho risolto con "dayofyear".
Ho usato un pezzo di ogni soluzione proposta, grazie ad entrambi txnelson e SIGNORINA per l'aiuto!
Questo è il codice finale che funziona per me:
If (Row () == 1, countval = 1); If (Day Of Year (: Date) == Lag (Day Of Year (: Date)), countval = Sum (countval, 1), countval = 1); "M" || Destra (Char (Year (: Date)), 2) || Destra ("0" || Char (Month (: Date)), 2) || Destra ("0" | | Char (giorno (: data)), 2) || "-" || Destra ("000" || Char (countval), 4)
Inoltre, allegato il file con la colonna finale.
Ri: Come creare una colonna contatore "entro il giorno"?Grazie MS!
Modo molto intelligente di includere gli "0"!
La tua soluzione ha funzionato con l'esempio ma ha fatto arrestare il JMP con 44000 righe
Grazie!
Ri: Come creare una colonna contatore "entro il giorno"?Un altro modo:
Incolla la seguente formula nell'editor della formula della colonna. La tabella non deve essere ordinata dopo la data.
"M" || Destra ( carbonizzare ( Anno ( : Data )) , 2 ) ||
Destra ( "0" || carbonizzare ( Mese ( : Data )) , 2 ) ||
Destra ( "0" || carbonizzare ( Giorno ( : Data )) , 2 ) || "-" ||
Destra ( "000" || carbonizzare ( Eval ( Eval Espr ( Numero Col ( Riga () , : Data , Riga () <= expr ( Riga ()))))) , 4 ) ;
Ri: Come creare una colonna contatore "entro il giorno"?Grazie Jim!
Non vedo perché questa soluzione non funzionerebbe ... ma non sembra funzionare con il mio tavolo ...
Lo allego nel caso qualcuno riesca a capire perché ...
Gli altri due piccoli problemi che ho sono che ho bisogno che la stringa abbia una dimensione costante e quindi avrei bisogno dei numeri del giorno e del mese per avere lo "0" prima della figura. Anche per il numero sequenziale. "0001" C'è qualche modo pulito per correggere questo?
Grazie ancora!
Ri: Come creare una colonna contatore "entro il giorno"?Ecco un modo per farlo:
Se ( riga () == 1 , COUNTVAL = 1 ) ;
Se ( : Data == ritardo ( : Data) , COUNTVAL = somma (COUNTVAL , 1 ) , COUNTVAL = 1 ) ;
"M" || Destra ( carbonizzare ( Anno ( : Data ) ) , 2 ) ||
carbonizzare ( Mese ( : Data ) ) || carbonizzare ( Giorno ( : Data ) )
|| "-" || carbonizzare (COUNTVAL)