Impostare la larghezza della colonna con JSL?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />C'è un modo per impostare la larghezza di visualizzazione di una colonna usando JSL?Quando creo una tabella, per impostazione predefinita le colonne sono troppo larghe.Ho provato a giocare con imposta la larghezza della colonna ma non funziona.
So che la larghezza della colonna è memorizzata da qualche parte, perché se imposto manualmente la larghezza della colonna, salvo il set di dati e quindi lo apro di nuovo, voilà le larghezze vengono preservate.Semplicemente non so come farlo in JSL.
Grazie!
Ri: impostare la larghezza della colonna con JSL?Questa piccola espressione imposterà la larghezza del display in modo che si adatti alla larghezza dei valori più lunghi in tutte le colonne di caratteri di una tabella di dati, all'interno delle larghezze minime e massime impostate, utilizzando una larghezza media dei caratteri che è anche possibile impostare. In genere le colonne numeriche hanno una buona larghezza per impostazione predefinita, quindi anche la modifica di quelle è lasciata come esercizio per il lettore. Ho pensato che questa routine sarebbe stata estremamente lenta per tabelle di dati di grandi dimensioni, quindi non mi sono preso la briga di scriverla prima di oggi, ma risulta essere piuttosto veloce, impiegando solo pochi secondi per essere eseguita su una tabella di dati con oltre 200.000 righe su colonne di 22 caratteri.
xpr_resizeCols = Expr(
Local( {list_widths, list_colNames, num_length, num_charWidth,num_maxWidth, num_minWidth },
num_charWidth = 6.5; // set number of pixels per character's average width
num_maxWidth = 400; // set maximum desirable column width
num_minWidth = 45; // set miniumum desirable column width
list_widths = {};
list_colNames = Current Data Table() << get column names( character );
For( i = 1, i <= N Items( list_colNames ), i++, // i = 1
list_temp = list_colNames[i] << get values;
num_length = 0;
For( j = 1, j <= N Items( list_temp ), j++,
If( Length( list_temp[j] ) > num_length,
num_length = Length( list_temp[j] )
)
);
Try( list_colNames[i] << set display width( Max( num_minWidth, Min( num_maxWidth, num_length * num_charWidth ) ) ) );
Insert Into( list_widths, num_length * num_charWidth );
);
);
Write(
"\!N\!tColumns resized to fit contents, within limits " || Char( num_minWidth ) || " to " || Char( num_maxWidth ) ||
" pixels."
);
);Global Pragmatica LLC® è un partner per la personalizzazione di JMP con sede negli Stati Uniti, che offre lavori aggiuntivi JSL e JMP personalizzati a noleggio; non esitate a contattarmi a [erin dot vang at globalpragmatica dot com] se volete discutere di un progetto.
Ri: impostare la larghezza della colonna con JSL?Ho provato tutte le soluzioni suggerite in questo thread e nessuna funziona.Sto usando JMP 13.2.1.
- Imposta larghezza non fa nulla se il titolo della colonna supera la larghezza che stai tentando di impostare.
- Set Dispaly Width non fa nulla se il titolo della colonna supera la larghezza che stai tentando di impostare.
- Se chiamo la colonna qualcosa di breve come "xxx", imposta la larghezza su 5, imposta la larghezza del display su 5, quindi lascia la colonna denominata "xxx", quindi la larghezza della colonna rimane stretta.Tuttavia, non appena utilizzo il codice column("xxx") << Set Name("Un lungo nome di colonna"); quindi la larghezza della colonna si espande per cercare di adattare (senza successo) il nome della colonna.
Quindi, la domanda originale rimane: JMP ha un modo per impostare la larghezza della colonna utilizzando JSL o devo regolare manualmente le larghezze delle colonne su queste centinaia di colonne e dozzine di file JMP da solo?È davvero facile dire a qualcuno di "fallo semplicemente manualmente" quando non sei tu a doverlo fare centinaia di volte su dozzine di file. 
Ri: impostare la larghezza della colonna con JSL?Peter
La versione 12 ha un nuovo messaggio di colonna: Imposta la larghezza di visualizzazione.
Try( Column(dtCopy,"Viable cell density") << Set Display Width(120) ):
Try( Column(dtCopy,"Viable cell density") << Set Display Width(120) );
Dave
Ri: impostare la larghezza della colonna con JSL?Ciao Matt
Posso impostare la larghezza della colonna in modo che si adatti al titolo più lungo e al contenuto della cella per poche colonne? Recentemente ho provato a colorare le celle per disegnare mappe di wafer ma devo regolare manualmente la larghezza delle colonne.
Grazie!
Impostare la larghezza della colonna con JSL?Per quella situazione potresti usare un breve nome fittizio per forzare la larghezza apparente a obbedire alla larghezza del campo.
dt = New Table( "test");
col=dt << New Column( "Curr Serious");
colname=col<<GET name=""></GET>
Tuttavia, controllare l'aspetto della tabella impostando la proprietà della larghezza del campo non è una soluzione generale o paragonabile alla modifica manuale della colonna trascinando il bordo. Ad esempio, se la larghezza è impostata su un numero inferiore di caratteri rispetto al contenuto della cella, al posto del valore viene visualizzato "###" o simili.
Impostare la larghezza della colonna con JSL?Ciao Matt,
Funziona se il titolo della colonna è breve.Tuttavia ho nomi di colonna più lunghi e sembra che non sia possibile impostare la larghezza del campo su qualcosa di più corto dell'intestazione di colonna.Per esempio:
dt = New Table( "test");
dt << New Column( "Curr Serious");
column("Curr Serious") << Get Field Width(); // default 10;
column("Curr Serious") << Set Field Width(30);
column("Curr Serious") << Set Field Width(3); // shrinks the column but not to 3
Impostare la larghezza della colonna con JSL?CIAO:
dt = New Table( "test");
dt << New Column( "new");
column("new") << Get Field Width(); // default 10;
column("new") << Set Field Width(30);
column('new") << Get Field Width(); // now shows 30;
Show Properties(:new); // log shows a large number of properties, including field width;
Spero che questo ti aiuti,
-Opaco