Script per aggiungere caratteri iniziali (zero iniziali in questo caso)Qual è la sintassi per far sì che una colonna operi su se stessa?
Questo è il massimo che sono riuscito a trovare e non funziona.
dt = current data table();
column(dt, "Architecture") << Set Each Value( Repeat("0",3-Length(Char("Architecture")))||Char("Architecture"));
L'architettura delle colonne ha valori come 1, 2, 123, XXX, ecc. La lunghezza non è standard.
Vuoi uno script che verrà eseguito sulla tabella e nasconderà la colonna per standardizzare la lunghezza a 3 e aggiungere eventuali zeri iniziali.
I valori risultanti sarebbero 001, 002, 123, XXX, ecc.
Ho visto questo post ed era quasi arrivato.
https://community.jmp.com/t5/Discussions/How-to-represent-numeric-value-quot-1-quot-as-quot-001-quot/td-p/10972
Ri: Script per aggiungere caratteri iniziali (zero iniziali in questo caso)Grazie ad entrambi.Il software è fantastico e la comunità degli utenti è ancora migliore!
Ri: Script per aggiungere caratteri iniziali (zero iniziali in questo caso)JSL può perdonare gli spazi nei nomi delle colonne.Ma non può perdonare personaggi speciali.Le seguenti istruzioni sono riferimenti equivalenti a una colonna.
dt:Architecture Digest
column(dt, "Architecture Digest")<BR />
Per i caratteri speciali è possibile utilizzare colonna() O :Nome()
// Column with special characters, ABC=DEF?
column(dt, "ABC=DEF?")
:Name("ABC=DEF?")Ri: Script per aggiungere caratteri iniziali (zero iniziali in questo caso)Cosa succede se il nome della colonna contiene uno spazio?
Grazie mille!Ri: Script per aggiungere caratteri iniziali (zero iniziali in questo caso)Ci sei quasi. Utilizzare il carattere di ambito (due punti singoli) per assicurarsi che JSL comprenda che si tratta di una variabile (ovvero una colonna) e non di una stringa.
dt = Current Data Table();
dt:Architecture << Set Each Value(Repeat("0", 3 - Length(dt:Architecture)) || dt:Architecture);Ri: Script per aggiungere caratteri iniziali (zero iniziali in questo caso)È necessario scorrere ciascuna riga e applicare la modifica:
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row(
dt:Architecture = Repeat( "0", 3 - Length( Char( dt:Architecture ) ) ) ||
Char( dt:Architecture )
);