Fehlende Wertcodes und Formeln<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Wenn ich einen Code für fehlende Werte in einer fortlaufenden Datenspalte festlege und dann eine Formel in eine andere Spalte schreibe, die auf die erste Spalte verweist, bezieht die Formel den Code für fehlende Werte (-9999) in die Berechnung ein. Als einfaches Beispiel habe ich eine Spalte mit Temperaturen in Kelvin, die ich in der zweiten Spalte in Celsius umrechne. Wo immer ich einen fehlenden Wertcode in der Kelvin-Spalte habe, ist der berechnete Wert in der neuen Celsius-Spalte -10.272,15. Ich möchte, dass in der zweiten Spalte auch der fehlende Wertcode angezeigt wird. Ich würde einfach alle -9999 löschen, aber wir möchten in der Lage sein, zwischen Daten, die fehlen, weil wir sie nicht erfasst haben, und Daten, die aufgrund von Fehlfunktionen des Instruments fehlen, zu unterscheiden. Was mache ich falsch?
Betreff: Fehlende Wertcodes und FormelnDer ÜBEREINSTIMMEN Funktion macht den Trick.Aus dem Scripting-Leitfaden:
Übereinstimmen
Du kannst den ... benutzen Übereinstimmen() Funktion, um mehrere Gleichheitsvergleiche durchzuführen, ohne dass dies erforderlich ist Schreiben Sie den zu vergleichenden Wert neu. Die Syntax lautet:
Übereinstimmen ( X , Wert1 , Ergebnis1 , Wert2 , Ergebnis2 , ... , resultElse )
Das folgende Skript kodiert beispielsweise Geschlechtsabkürzungen in um Große Klasse.jmp :
Für jede Reihe (
Sex = Übereinstimmen ( Sex , "F" , "Weiblich" , "M" , "Männlich" , "Unbekannt" )
) ;
Betreff: Fehlende Wertcodes und FormelnDas könnte es tun.
( übereinstimmen ( : Temp_Kelvin , - 9999 , 0 , : Temp_Kelvin ) +
übereinstimmen ( : Temp2_Kelvin , - 9999 , 0 , : Temp2_Kelvin ) +
übereinstimmen ( : Temp3_Kelvin , - 9999 , 0 , : Temp3_Kelvin ) )
/
( übereinstimmen ( : Temp_Kelvin , - 9999 , 0 , 1 ) +
übereinstimmen ( : Temp2_Kelvin , - 9999 , 0 , 1 ) +
übereinstimmen ( : Temp3_Kelvin , - 9999 , 0 , 1 ) )
Betreff: Fehlende Wertcodes und FormelnDanke PMRoz, aber ich frage mich, ob ich den Durchschnitt der beiden Spalten nehmen kann, die nicht -9999 haben (wenn eine Spalte fehlt), oder einfach den Wert aus der einen Spalte verwenden kann, die Daten enthält (wenn beide anderen). Werte fehlen). Zum Beispiel:
Bodentemperatur 1, Bodentemperatur 2, Bodentemperatur 3
287,1, 289,3, 288,6
-9999, 286,6, 287,9
-9999, 287,5, -9999
-9999, -9999, -9999
Ich möchte den Durchschnitt aller drei Werte in der ersten Zeile, den Spalten 2 und 3 in der zweiten Zeile, nehmen, den Wert aus Spalte 2 in der dritten Zeile verwenden und für die vierte Zeile -9999 zurückgeben. Ist das mit bedingten Anweisungen möglich?
Betreff: Fehlende Wertcodes und FormelnJMP 12 ist nicht erforderlich. Hier ist eine Beispiel-IF-Anweisung, die den Durchschnitt von drei Spalten berechnet, wenn keine davon -9999 ist:
Wenn ( : Temp_Kelvin != - 9999 &
: Temp2_Kelvin != - 9999 &
: Temp3_Kelvin != - 9999 ,
( : Temp_Kelvin + : Temp2_Kelvin + : Temp3_Kelvin ) / 3 ;
) ;
Betreff: Fehlende Wertcodes und FormelnDanke für deine Antwort, Jeff. Ich verwende JMP 11, aber ich denke, mein Beispiel war zu einfach, um das eigentliche Problem zu verdeutlichen. Ich bin nicht sicher, wie ich eine bedingte Anweisung (oder Anweisungen) schreiben soll, die mit -9999 umgeht, wenn ich 3 Spalten habe, die ich zu mitteln versuche. Ich habe zum Beispiel drei Spalten mit Bodentemperaturdaten und manchmal haben eine, zwei oder drei der Spalten -9999. Diese Programmierung übersteigt mein Verständnis. Vielleicht sollte ich mir einfach JMP 12 holen ... Jeder Einblick wäre dankbar!
Betreff: Fehlende Wertcodes und FormelnWelche JMP-Version verwenden Sie?
Wir haben dieses Verhalten mit JMP 12 geändert. Funktionen im Formeleditor berücksichtigen jetzt die Eigenschaft „Code für fehlende Werte“. Frühere Versionen haben dies (wie Sie festgestellt haben) nicht getan.
Wenn Sie dies bei Ihrer Konvertierung in JMP 11 und früher berücksichtigen möchten, müssen Sie eine Bedingung in Ihre Formel einfügen.

If(:Temp Kelvin == -9999, -9999, :Temp Kelvin - 272.15)
-Jeff