Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Ich verwende JMP häufig zum Prototyping von Datenpipelines, indem ich Spaltenwerte in einer Tabelle berechne und dann basierend auf den Berechnungsergebnissen Daten in eine andere Tabelle abfrage. Mir ist ein Verhalten aufgefallen, das mir sehr seltsam und kontraintuitiv erscheint. Angenommen, ich habe eine Tabelle mit drei Spalten:

Die zweite und dritte Spalte werden als Lag (:Spalte 1) und Spaltensumme (:Spalte 1) berechnet.
Jetzt frage ich die Zeilen in eine neue Tabelle ab, in der gilt: Spalte 1 > 2. Das Ergebnis ist:

":Lag of Column 1" und ":Column 1 Sum" werden neu berechnet, da die Tabelle die Formeln übernommen hat. Das ist verständlich.
Aber was passiert, wenn ich die Formeln lösche und die Tabelle aktualisiere? Da ich keine Formeln habe und die Werte in der Zieltabelle nicht neu berechne, sehe ich die Daten so, wie sie in der Quelltabelle sind, oder? Raten Sie mal, falsch! Nichts ändert sich. Ich sehe immer noch null, 3 und 7, 7, nicht 2, 3 und 10, 10.
Handelt es sich um einen Defekt? Oder ist das erwartungsgemäß? Wie lässt sich das erklären?
Danke!
Automatisierung und SkriptingBetreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Autsch, eine überraschend toxische Mischung: Abfrage-Generator und Spaltenformeln!
Einige Einstellungen wie in Subset

würde viele Kopfschmerzen beseitigen.
Außerdem: eine schöne Lupe für die Grundlagen von JMP : )
Welche Version von JMP? Können Sie die Schritte aus dem Protokoll freigeben?
Ich habe es mit JMP 18.2.2 und 19.0 getestet, wo Verzögerung() nach der Ausführung der Abfrage ausgeführt wird, Spaltensumme() jedoch nicht.
Nach dem Entfernen der Formeln ist alles in Ordnung.
[Vielleicht: Haben Sie auf eine alte Datentabelle „ohne Titel“ verwiesen – mit Formeln?]


names default to here(1);
dt = New Table( "Untitled",
Add Rows( 4 ),
New Column( "Column 1",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] )
),
New Column( "Sum[Column 1]",
Formula( Col Sum( :Column 1 ) )
),
New Column( "Lag[Column 1]",
Formula( Lag( :Column 1, 1) )
)
);
dt << run formulas();
wait(0);
queryDT= Expr(New SQL Query(
Connection( "JMP" ),
Select(
Column( "Column 1", "t1" ),
Column( "Sum[Column 1]", "t1" ),
Column( "Lag[Column 1]", "t1" )
),
From( Table( "Untitled", Alias( "t1" ) ) ),
Where(
GT(
Column( "Column 1", "t1" ),
2,
UI( Comparison( Base( "Continuous" ) ) )
)
)
) << Run Foreground);
queryDT;
Column (dt, 2) << delete formula();
Column (dt, 3) << delete formula();
wait(0);
queryDT;
wait(0);
dt << set name("input");
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Führen Sie die Abfrage an die JMP-Datentabelle durch? Aus welcher Tabelle entfernen Sie Formeln? Können Sie Beispieldatensätze freigeben, um das Problem zu reproduzieren?
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Ja, die zweite Tabelle im zweiten Screenshot ist das Ergebnis der Abfrage der ersten JMP-Datentabelle im ersten Screenshot. Die Tabellen sind angehängt. Platzieren Sie sie im selben Ordner und führen Sie in der zweiten Tabelle das Skript „Update From Database“ aus. Die zweite Tabelle enthält keine Formeln; die Ergebnisse sind jedoch so, als ob die Formeln vorhanden wären und ausgewertet würden.
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?JMP Pro V.17
Tabellen sind beigefügt.
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Kein schöner Workaround, aber Sie können die Formelauswertung vorübergehend aus der Originaltabelle unterdrücken, die Abfrage ausführen und die Formelauswertung wieder aktivieren (dies sollte meiner Meinung nach bereits durch den Query Builder geschehen).

Außerdem würde ich den JMP-Support diesbezüglich kontaktieren, da hier einige Merkwürdigkeiten vor sich gehen, JMP-Support
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Vorschlag für JMP 19.1:
Abfrage-Generator: Formelspalte deaktivieren
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Ah, ich habe das falsch interpretiert
Aber was passiert, wenn ich die Formeln lösche und die Tabelle aktualisiere?
OK, in JMP19 immer noch dasselbe.
Also führt JMP die Abfrage (einschließlich der Formeln) aus – und ersetzt die Daten in der Zieltabelle durch die neuen Ergebnisse?
Das ist eigentlich das, was ich mit „Update“ erwartet habe. Aber warum kann JMP ein solches „Tabelle behalten, nur Daten aktualisieren “-Update nicht durchführen, wenn in der Zwischenzeit eine neue Spalte hinzugefügt wurde? Bezüglich Spalte 4 sieht es eher so aus, als würde alles, was da war, gelöscht und durch die neuen Abfrageergebnisse ersetzt.
Vielleicht: Es übernimmt das Abfrageergebnis, kopiert aber die alten Spalteneinstellungen und wendet sie an?
... und dadurch die Spaltenformel entfernen – und das Problem verbergen?
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Ja, dieser Workaround funktioniert. Ein anderer, etwas umständlicher Workaround, den ich verwende, besteht darin, alle Zeilen ohne Formeln in eine Zwischentabelle abzufragen und dann diese Zwischentabelle abzufragen.
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Wie war die Antwort vom JMP-Support?
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Ich habe sie nicht kontaktiert. Ich verlasse mich lieber auf diese Community und mich selbst:)
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Hm, ich bevorzuge eine offizielle Lösung gegenüber „Workarounds“.
Lassen Sie es reparieren – und vergessen Sie es.
Finden Sie eine Problemumgehung und vergessen Sie nicht!!
– und vergessen Sie nicht, es jedem Kollegen zu erzählen!
Betreff: Warum kommt es zu einer so unerwarteten Neuberechnung von Spalten ohne Formeln?Zum Thema "Community und ich" - ich habe das Thema hinzugefügt zu
Achtung: Stellen, an denen Jmp etwas Unerwartetes tut
Andererseits bin ich ziemlich zuversichtlich, dass dieses Problem in der GUI behoben werden kann.
Ähnliche Optionen wie in Subset könnten dem Kunden helfen, das Problem zu verstehen. Die Standardoption sollte das Entfernen oder Deaktivieren der Formelspalte sein.

Mal sehen, ob dieses Verhalten als Fehler gilt: TS-00244891.
Wenn nicht, dauert es länger, da wir zuerst genügend Kudos auf der Wunschliste sammeln müssen: Query Builder: Formelspalte deaktivieren