Hallo Experten.
Ich habe eine verknüpfte Übersichtstabelle, in der ich Zeilen basierend auf einem Kriterium auswähle.
In meiner Haupttabelle muss ich nun in einer Spalte einen bestimmten Wert für die ausgewählten Zeilen festlegen.
Ich habe eine einfache Tabelle mit Folgendem erstellt:
Beispielfehler
s1 0
s1 0
s1 0
s2 0
s2 0
s2 0
Ich habe einen sehr vereinfachten Code als Beispiel:
dt = aktuelle Datentabelle();
dt_sum = dt << Zusammenfassung(
Gruppe( :sample),
Freq( „Keine“),
Gewicht( „Keine“)
);
dt_sum << select where (:sample == "s1");
r = dt << ausgewählte Zeilen abrufen;
close(dt_sum, nosave);
Spalte(dt, „Fehler“)[r] = 1;
Der Code wird ausgeführt, wenn die dt_sum geschlossen ist. In meinem Code ist dies jedoch nicht möglich, da es später benötigt wird.
Ich erhalte die folgende Fehlermeldung, wenn dt_sum nicht geschlossen ist
„Der Wert für die Spalte ‚Fehler‘ kann nicht festgelegt werden, da die Zeilennummer (-1) ungültig ist.{1}“
Darüber hinaus wird der Fehlerwert für Zeile 1 und 4 auf 1 geändert, für den Rest jedoch nicht.
Kann mir jemand von euch erklären, warum das nicht funktioniert, oder mir bei einer möglichen Problemumgehung helfen?
Vielen Dank im Voraus, Anders
1. Ich denke, Sie sollten das Problem an den JMP-Support senden.Es scheint, dass, obwohl Sie direkt auf die Datentabelle „dt“ verweisen, immer noch auf die Datentabelle „dt_sum“ gesucht und dort aktualisiert wird.
2. Hier ist eine Problemumgehung, die es dem Code ermöglicht, zu funktionieren
dt = current data table();
dt_sum = dt << Summary(
Group( :sample),
Freq( "None" ),
Weight( "None" )
);
dt_sum << select where (:sample == "s1");
r = dt << get selected rows;
//close(dt_sum, nosave);
current data table(dt);
column(dt, "error")[r] = 1;