Controlla se più valori di colonna rientrano nell'intervalloTabella di esempio:
Parte Prova 1 Prova 2 Prova 3 Prova 4 A 0.2 0.4 0.3 0.1 B 0.2 0.3 0.4 0.6 C 0.7 0.1 0.2 0.4Vorrei aggiungere una colonna a questa tabella che valuta ogni valore nelle colonne Test 1-Test 4 e se tutti rientrano in un intervallo per produrre "Sì".
Ad esempio, se il mio intervallo fosse 0 <0,5, l'output sarebbe simile a questo (ho evidenziato i valori non riusciti in rosso)
Parte Test 1 Test 2 Test 3 Test 4 Sì/No A 0,2 0,4 0,3 0,1 Sì B 0,2 0,3 0,4 0,6 No C 0,7 0,1 0,2 0,4 NoC'è un modo semplice per raggiungere questo obiettivo con JSL?
Ri: controlla se più valori di colonna rientrano nell'intervallo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ciao hooshies,
per rispondere alla tua domanda esatta, il seguente script può farlo.
Una soluzione più generale dipende dall'aspetto che deve essere generalizzato (ovvero più colonne, intervalli diversi per colonne diverse e se lo si desidera in una formula di colonna o solo per essere calcolato una volta da jsl)
dt = Nuova Tavola ( "Fonte di dati" ,
Aggiungi righe ( 3 ) ,
Nuova Colonna ( "Parte" , Carattere , Nominale , Imposta valori ( { "UN" , "B" , "C" } ) ) ,
Nuova Colonna ( "Prova 1" , Imposta valori ( [ 0.2 , 0.2 , 0.7 ] ) ) ,
Nuova Colonna ( "Prova 2" , Imposta valori ( [ 0.4 , 0.3 , 0.1 ] ) ) ,
Nuova Colonna ( "Prova 3" , Imposta valori ( [ 0.3 , 0.4 , 0.2 ] ) ) ,
Nuova Colonna ( "Prova 4" , Imposta valori ( [ 0.1 , 0.6 , 0.4 ] ) ) ,
) ;
dt << Nuova Colonna ( "Si No" ,
Carattere ,
Nominale ,
Formula (
Se (
Massimo (
Addominali ( : Prova 1 ) ,
Addominali ( : Prova 2 ) ,
Addominali ( : Prova 3 ) ,
Addominali ( : Prova 4 )
) > 0,5 ,
"NO" ,
"SÌ"
)
)
) ;
Ri: controlla se più valori di colonna rientrano nell'intervallo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ron,
Grazie per la tua risposta. Lo script che hai fornito svolge il lavoro in questa situazione, ma vorrei una soluzione più robusta/generale (ad esempio, quando i limiti dei miei criteri di test sono 0,23 <0,5).
C'è un modo per impostare una formula di colonna o scrivere una soluzione in cui più colonne vengono trattate come un array?In pseudocodice:
limite_inferiore = 0,23
limite_superiore = 0,5
Se limite_inferiore < [Colonna(2), Colonna(3), Colonna(4), Colonna(5)]
disp "Sì"
Altro
disp "No"
Lo pseudocodice qui testerebbe ogni valore nelle colonne 2-5 individualmente rispetto ai limiti e genererebbe "Sì" se tutti sono nell'intervallo.
Più istruzioni AND/OR otterrebbero ciò, ma sembra un approccio elementare.
Grazie!
Ri: controlla se più valori di colonna rientrano nell'intervallo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ron_horne Il metodo di può essere generalizzato. La chiave è riconoscere che il Funzioni Minimum() e Maximum() restituire il valore min/max dei loro argomenti. Quindi, mentre lo poni, il confronto può essere scritto:
Minimum( :Test 1, :Test 2, :Test 3, :Test 4 ) > 0.23 &
Maximum( :Test 1, :Test 2, :Test 3, :Test 4 ) < .5;
- Jeff
Ri: controlla se più valori di colonna rientrano nell'intervallo<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Nuova colonna ("nell'intervallo?", Formula(
Se(
Min( :Test 1, :Test 2, :Test 3, :Test 4 ) > 0 &
Max( :Test 1, :Test 2, :Test 3, :Test 4 ) < 0.5,
"SÌ",
"NO"
)
)