Analysieren von Zeichenfolgen, die Filterbedingungen aus Excel erstellen und auf datatable anwendenHallo,
https://community.jmp.com/t5/Discussions/JSL-how-to-create-a-reference-to-a-table-variable-inside-a/td-p/40102
Ich möchte ein benutzerdefiniertes Formelblatt erstellen, das ich ändern und auf die Datentabelle anwenden kann.
Sagen wir, Sie haben ein Blatt im Anhang.
Formelblatt

und möchte diese Formel verketten, damit ich mich bewerben kann Wählen Sie wo.
Ich komme unten mit einer Schleifenidee, aber ich kann nicht herausfinden, wie ich sie analysieren kann, um sie auszuwählen
dt = open("$SAMPLE_DATA/Cars.jmp")
formula_Sheet = open("C:\Formula_Sheet.xlsx",
Worksheet Settings(
1,
Has Column Headers( 1 )
));
condition_list = {}
For( i = 1, i <= Nrows( formula_Sheet ), i++,
Make_col = formula_Sheet:Name("column_name")[i] ;
filter_state = formula_Sheet:Name("filter_state")[i] ;
filter_1 = formula_Sheet:Name("filter_1")[i] ;
combined_filter_cond[i] = select where(:Name(\!""||Make_col[i]||"\!")"\!||Filter_state"\!||Filter_1"\!)";
condition_list = insert(combined_filter_cond[i])
));
<BR />//This is the final selection code should look like
dt << selectwhere((contains(:Name("Make"), "Honda") | !contains(:Name("D/P"), "Driver") | :Name("doors")>=2))
Ich würde mich freuen, wenn Admins dabei helfen können.
DatentabelleAndereSkriptingBetreff: Analysieren von Zeichenfolgen, die eine Filterbedingung aus Excel erstellen und auf datatable anwendenHier ist meine Überarbeitung Ihres Skripts, um die Auswahl aus der Fahrzeugdatentabelle zu generieren.
names default to here(1);
dt = open("$SAMPLE_DATA/Cars.jmp");
formula_Sheet = open("C:\Formula_Sheet.xlsx",
Worksheet Settings(
1,
Has Column Headers( 1 )
));
//formula_Sheet =data table("DATA_for_SAS_community");
theExpr = "dt << selectwhere(";
For( i = 1, i <= N Rows( formula_Sheet ), i++,
If( formula_Sheet:column_name[i] != "",
If( i > 1,
theExpr = theExpr || "| "
)
);
If( Contains( formula_Sheet:filter_state[i], "contain" ),
theExpr = theExpr || formula_Sheet:filter_state[i] || "s(:Name(\!"" || formula_Sheet:column_name[i] || "\!"), \!"" || formula_Sheet:Filter_1
[i] || "\!")",
theExpr = theExpr || ":Name(\!"" || formula_Sheet:column_name[i] || "\!") " || formula_Sheet:filter_state[i] || formula_Sheet:Filter_1[i]
);
);
theExpr = theExpr || ");";
Eval( Parse( theExpr ) );Betreff: Analysieren von Zeichenfolgen, die eine Filterbedingung aus Excel erstellen und auf datatable anwendenHallo Jim,
Dies ist genau die Lösung, nach der ich suche. Vielen Dank, dass Sie gekommen sind und spät in der Nacht eine Lösung für dieses Problem gefunden haben. Sie sind ein wahrer Experte!