esiste un modo semplice per creare una variabile di conteggioVoglio creare una nuova variabile di conteggio utilizzando le variabili ID e use_yn (dati allegati). Se la variabile use_yn per un ID specifico rappresenta il soggetto che ha utilizzato il servizio (ad esempio, il soggetto 3 ha utilizzato il servizio due volte perché ha valore 1 due volte). È possibile farlo senza JSL?
Re: esiste un modo semplice per creare una variabile di conteggioSolo un voto veloce per una formula molto semplice.
Col Number( :ID, :ID, :use_yn )
Questa formula di colonna restituisce il numero di volte in cui :ID e :use_yn sono uguali.
Re: esiste un modo semplice per creare una variabile di conteggio@txnelson Grazie mille per la risposta. Questo è stato molto semplice e ha funzionato per me. Apprezzo il tuo aiuto.
Re: esiste un modo semplice per creare una variabile di conteggioCIAO @billi
Ho incorporato entrambe le soluzioni dal collegamento nella tabella dati allegata.
il primo utilizza la colonna IDIndex con la seguente formula: If( :ID != Lag( :ID, 1 ) | Row() == 1, 1, Lag(:IDIndex, 1 ) + 1
)
e la colonna finale IDCount con la formula: Col Maximum(:IDIndex, :ID)
la seconda opzione vale anche nel caso in cui i dati non siano ordinati correttamente. utilizza la colonna IDIndex2 con la formula: Sum( :ID[Index( 1, Row() )] == :ID )
e la colonna IDCount2 con la formula: Col Maximum(:IDIndex2, :ID)
per favore fateci sapere cosa funziona meglio per voi.
Ron
Re: esiste un modo semplice per creare una variabile di conteggioLa piattaforma di riepilogo ti offre ciò che desideri.Quindi alcune semplici manipolazioni e un aggiornamento e hai la tua risposta.
Tabelle==>Riepilogo
Seleziona sia ID che use_yn come variabili di raggruppamento.
Assicurati di deselezionare "Collega alla tabella dati originale: quindi fai clic su OK.
La nuova tabella dati ha tutte le combinazioni di ID e use_yn e vuoi solo dove use_yn = 1, quindi fai clic su una cella che ha use_yn con il valore 1. Quindi fai clic con il pulsante destro del mouse e seleziona
Seleziona le celle corrispondenti
Tutte le righe con use_yn sono selezionate.....ma quello che vuoi è la selezione opposta, quindi puoi eliminarle.
Spostare il cursore su una delle righe selezionate, quindi nella colonna RowState per quella riga.Fare clic con il tasto destro e selezionare Inverti selezione.Ora vai su una delle righe appena selezionate, fai clic con il pulsante destro del mouse e seleziona Elimina righe.Ora hai i conteggi richiesti.
Per spostare nuovamente i dati nella tabella dati originale, seleziona semplicemente la tabella originale e vai a
Tabelle==>Aggiorna
Nella finestra di dialogo, seleziona la tabella di riepilogo come quella con cui aggiornare.
Seleziona Corrispondenza colonne e seleziona sia ID che use_yn come celle corrispondenti e fai clic su OK.La colonna N righe rappresenta il tuo conteggio
Re: esiste un modo semplice per creare una variabile di conteggioEsistono diverse tecniche utili nel collegamento fornito da Ron, ma sarebbe necessario apportare alcune modifiche.
Ecco una formula di colonna (memorizzata in una colonna chiamata "Nuovo conteggio") che ho creato che esegue il conteggio. Tieni presente che la formula chiama se stessa.
If(
Row() == 1, :use_yn[1],
:ID[Row()] == :ID[Row() - 1], :New Count[Row() - 1] + :use_yn[Row()],
:ID[Row()] != :ID[Row() - 1], :use_yn[Row()],
0
)
Ho allegato anche la tabella dei dati. Tieni presente che se in "use_yn" manca un valore, il "Nuovo conteggio" scomparirà. Questo ha senso perché se non sai se qualcuno ha "usato yn", non conoscerai nemmeno il conteggio.
Re: esiste un modo semplice per creare una variabile di conteggio@ron_horne Grazie per la rapida risposta. Ho usato questa formula Sum( :ID[Index( 1, Row() )] == :ID ) ma non ho ottenuto i risultati. La tabella dei dati è allegata dove ho usato la formula.
Re: esiste un modo semplice per creare una variabile di conteggioCIAO @billi ,
dai un'occhiata a questa discussione ha alcune opzioni
https://community.jmp.com/t5/Discussions/Syntax-How-do-I-create-an-index-column-by-ID/mp/9751/highlight/true#M9537
facci sapere se funziona
Ron