Come trasferisco le funzioni COUNTIF e MATCH di Excel in JMPSto riscontrando un problema nello scripting del codice JSL per due funzioni (vedi schermata) che attualmente ho in Excel ma desidero trasferire in JMP. I dati si trovano nel file allegato JMP_Test_Media2.xlsx e le funzioni che desidero trasferire a JMP sono le seguenti:
- colonna VS ha un CONTA.SE funzione; =CONTA.SE(C3:N3;"-1")
- Voglio sapere il numero di istanze -1 appare in ogni riga (ad esempio nella riga 3 il numero di istanze di -1 sono 2). Colonna m(AB) viene ignorato nella funzione ma è importante in quanto fa parte della sequenza di dati.
- colonna PD ha un INCONTRO funzione; =(CONFRONTA("-1",C3:N3,0))+1
- Voglio sapere dove appare la prima istanza di -1 in ogni riga (ad esempio nella riga 3 appare il primo -1 colonna m(LM) o colonna 12 quando si considera colonne m(AB) A m(MN) ). Colonna m(AB) viene ignorato nelle funzioni ma è importante in quanto fa parte della sequenza di dati.
Mi piacerebbe sapere come scriptare queste funzioni in JSL così posso aggiornare la mia tabella JMP e non devo completare i calcoli in Excel e quindi portare i risultati nella mia tabella JMP.
Qualsiasi aiuto sarebbe molto apprezzato.
Grazie.
Mike
Data as found in file JMP_Test_Average2.xlsxData as found in file JMP_Test_Average2.xlsxDati come trovati nel file JMP_Test_Average2.xlsx
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPdt <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> new Column</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token string">"VS"</SPAN><SPAN class="token punctuation">,</SPAN> formula<SPAN class="token punctuation">(</SPAN>nrows<SPAN class="token punctuation">(</SPAN><SPAN class="token function">Loc</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token function">Evallist</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">:</SPAN>AB<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>BC<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>CD<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>DE<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>EF<SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token operator">-</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Come deve essere modificato questo codice per contare il -1 della riga e le 2 righe sopra (3 righe in totale)?
Grazie!
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPCome può la tabella dei nomi di colonna {:AB, :BC, :CD, :DE, :EF} di ciascuna colonna nel codice essere generata automaticamente dal codice?
{:AB, :BC, :CD, :DE, :EF}
Grazie!
Ho provato il seguente codice per avere lo stesso effetto, ma ancora non si genera automaticamente.
Evallist({Come colonna(1),Come colonna(2),Come colonna(3),Come colonna(4),Come colonna(5)})
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMP//this gives you a vector of items that are -1
vector_of_neg1 = loc(Aslist(:AB[row()-3::row()]`), -1);
//then you just have to select the last one
n = nitems(vector_of_neg1);
if(n,
vector_of_neg1[n]
, //else 0
0
);
Oppure puoi usare l'argomento iniziale per guardare da dietro.
Contains( :AB[Index( Row() - 3, Row() )] , -1, -1 )
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPGrazie Jim!
x=5-Contains(Eval List(:ab[Index(Row(),Row()-3)]),-1);
Se(x==5,0,x);Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPQuesta potrebbe essere la formula che stai cercando
x = 5 - Contains( Eval List( :ab[Index( Row(), Row() - 3 )] ), -1 );
If( x == 5, x = 0 );
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPHo provato a scrivere codice come questo, ma non ha funzionato.

Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPciao! muoio dalla voglia di sapere:
Se la colonna "AB" ha più di un "-1", come si calcola il numero di righe che rientrano nell'intervallo dell'ultimo "-1" in questo intervallo?
Grazie!

Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPQui trovo la risposta e risolvo i miei problemi. Grazie!
Contiene( Eval List( :BC[Index(Row()-3,Row())] ), -1 )Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPGrazie anche per il tuo aiuto Jim, tu e Vince avete risolto il mio problema.
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPGrazie per il tuo aiuto, molto apprezzato.
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPEcco le 2 formule che mi sono venute in mente per replicare il tuo foglio di calcolo
Per Y.S
Sum(
:Name( "m(AB)" ) == -1,
:Name( "m(BC)" ) == -1,
:Name( "m(CD)" ) == -1,
:Name( "m(EF)" ) == -1,
:Name( "m(FG)" ) == -1,
:Name( "m(GH)" ) == -1,
:Name( "m(HI)" ) == -1,
:Name( "m(IJ)" ) == -1,
:Name( "m(JK)" ) == -1,
:Name( "m(KL)" ) == -1,
:Name( "m(LM)" ) == -1,
:Name( "m(MN)" ) == -1
)
Per Pd
Contains(
Char( :Name( "m(AB)" ) ) || Char( :Name( "m(BC)" ) ) ||
Char( :Name( "m(CD)" ) ) || Char( :Name( "m(EF)" ) ) ||
Char( :Name( "m(FG)" ) ) || Char( :Name( "m(GH)" ) ) ||
Char( :Name( "m(HI)" ) ) || Char( :Name( "m(IJ)" ) ) ||
Char( :Name( "m(JK)" ) ) || Char( :Name( "m(KL)" ) ) ||
Char( :Name( "m(LM)" ) ) || Char( :Name( "m(MN)" ) ),
"-1"
)
Oggetto: come trasferire le funzioni COUNTIF e MATCH di Excel in JMPQuesto dovrebbe darti un'idea di base.
Names Default to here(1);
dt = new table("Test", add rows(10),
New Column("AB", formula(if(random uniform()<=.8, 1, -1))),
New Column("BC", formula(if(random uniform()<=.8, 1, -1))),
New Column("CD", formula(if(random uniform()<=.8, 1, -1))),
New Column("DE", formula(if(random uniform()<=.8, 1, -1))),
New Column("EF", formula(if(random uniform()<=.8, 1, -1))),
);
cols = dt << Get Column Reference(dt << Get Column Names);
dt << new Column("VS", formula(nrows(Loc(Evallist({:AB, :BC, :CD, :DE, :EF}), -1))));
dt << New Column("PD", formula(Contains(Evallist({:AB, :BC, :CD, :DE, :EF}), -1)));