Dialog-Popup zur Auswahl des Spaltennamens<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo, ich versuche, ein Skript zu erstellen, bei dem der Benutzer den Spaltennamen in das Dialog-Popup und das Skript eingibt
1. Teilmengen der Zeilen mit Daten unter dem Spaltennamen und
2. Erstellt eine neue Spalte, die eine einfache Formel mit dem eingegebenen Spaltennamen ausführt.
Ich weiß nicht, wie das geht, deshalb habe ich den Spaltennamen unten fest codiert. Wie kann ich :XX01 so ersetzen, dass es funktioniert, egal was der Benutzer im Popup-Dialogfeld eingibt? Ich habe die Spalten XX01, XX02, XX03 usw.
popup = Dialog(
Titel( „Zusammenfassungstabelle“),
„“,
„Geben Sie Softbin XX ein:“,
Aufstellung( 6,
„Softbin-ID“,
Soft_Bin = Bearbeitungsnummer( 01 )
),
Schaltfläche( „Ok“),
Schaltfläche („Abbrechen“)
);
masterdt << select where (Is Missing(:XX01));
masterdt << Zeilenauswahl umkehren;
sbdt = masterdt << Subset(( Selected Rows ), Output Table Name("Selected Softbin Data"));
sbdt << New Column( "Bin%", Numeric, Continuous, Format("Procent",12,2), Formula( :XX01 / :LOT_SORTED_DIES ) );
Betreff: Dialog-Popup zur Auswahl des SpaltennamensRichtig, Sie sind MS. Danke für die Korrektur.
Betreff: Dialog-Popup zur Auswahl des SpaltennamensDanke MS! Es funktioniert jetzt 
Betreff: Dialog-Popup zur Auswahl des SpaltennamensIch denke, der Ausdruck funktioniert, wenn er vor der Auswertung analysiert wird:
Bewertung ( Analysieren (Formel_Ausdruck));
Betreff: Dialog-Popup zur Auswahl des SpaltennamensDanke PMroz, das Fenster ist in der Tat nützlich. Bis auf den Abschnitt „Neue Spalte“ ist alles glatt.
Ich bin mir nicht sicher, was ich falsch gemacht habe, aber der Eval-Einfügesatz funktioniert immer noch nicht, obwohl der Ausdruck im Protokoll für mich gut aussieht:\
masterdt = Neue Tabelle( „Master DT“, Zeilen hinzufügen( 5 ),
Neue Spalte( „XX01“, Numerisch, Fortlaufend, Format( „Best“, 12 ),
Werte festlegen( [1, 2, ., 3, 4] )
),
Neue Spalte( „XX02“, Numerisch, Fortlaufend, Format( „Best“, 12 ),
Werte festlegen( [., 1, 2, ., .] )
),
Neue Spalte( „XX03“, Numerisch, Fortlaufend, Format( „Best“, 12 ),
Werte festlegen( [., ., 1, 2, 3] )
),
Neue Spalte( „LOT_SORTED_DIES“, Numerisch, Fortlaufend, Format( „Best“, 12 ),
Werte festlegen ([10, 10, 10, 20, 30])
)
);
popup = Neues Fenster( "Zusammenfassungstabelle", <
Textfeld („Geben Sie Softbin XX ein:“),
H-Listenfeld(
Textfeld („Softbin-ID:“),
Soft_Bin = Nummernbearbeitungsfeld (01),
),
hlistbox(
Schaltflächenfeld( „Ok“,
ok_flag = 1;
ncol = soft_bin << get;
wenn (ncol < 9,
selected_col = "XX0" || char(ncol);
,
selected_col = "XX" || char(ncol);
)
),
Schaltflächenfeld( „Abbrechen“, ok_flag = 0 ),
)
);
If( ok_flag,
fehlende_rows = masterdt << Zeilen abrufen where( !Is Missing( as Column( masterdt, selected_col ) ) );
Wenn( N Zeilen( fehlende_Zeilen ) > 0,
masterdt << Zeilen auswählen (missing_rows);
sbdt = masterdt << Subset( (Selected Rows), Output Table Name( "Selected Softbin Data" ) );
Formula_expr = Eval Insert(
„\[sbdt << Neue Spalte( „Bin%“, Numerisch, Fortlaufend, Format( „Prozent“, 12, 2 ), Formel( :^selected_col^ / :LOT_SORTED_DIES ) )]\“
);
Parse( Eval( Formula_expr ) );
);
);
Betreff: Dialog-Popup zur Auswahl des SpaltennamensDies wird tun, was Sie wollen.Ich habe Ihren Code so konvertiert, dass er ein neues Fenster anstelle eines Dialogs verwendet.Musste eine Analyse (eval()) für die Spaltenformel durchführen.
masterdt = Neuer Tisch ( „Meister DT“ , Zeilen hinzufügen ( 5 ) ,
Neue Spalte ( „XX01“ , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) ,
Werte festlegen ( [ 1 , 2 , . , 3 , 4 ] )
) ,
Neue Spalte ( „XX02“ , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) ,
Werte festlegen ( [ . , 1 , 2 , . , . ] )
) ,
Neue Spalte ( „XX03“ , Numerisch , Kontinuierlich , Format ( "Am besten" , 12 ) ,
Werte festlegen ( [ . , . , 1 , 2 , 3 ] )
)
) ;
Pop-up = Neues Fenster ( "Übersichtstabelle" , << modal () ,
Textfeld ( „Geben Sie Softbin XX ein:“ ) ,
H-Listenfeld (
Textfeld ( „Softbin-ID:“ ) ,
Soft_Bin = Nummernbearbeitungsfeld ( 01 ) ,
) ,
hlistbox (
Button-Box ( "OK" ,
ok_flag = 1 ;
ncol = soft_bin << erhalten ;
Wenn ( ncol < 9 ,
selected_col = „XX0“ || verkohlen ( ncol ) ;
,
selected_col = „XX“ || verkohlen ( ncol ) ;
)
) ,
Button-Box ( "Stornieren" , ok_flag = 0 ) ,
)
) ;
Wenn ( ok_flag ,
fehlende_Zeilen = masterdt << Holen Sie sich Zeilen wo ( ! Wird vermisst ( als Spalte ( masterdt , selected_col ) ) ) ;
Wenn ( N Zeilen ( fehlende_Zeilen ) > 0 ,
masterdt << Zeilen auswählen ( fehlende_Zeilen ) ;
sbdt = masterdt << Teilmenge ( ( Ausgewählte Zeilen ) , Name der Ausgabetabelle ( „Ausgewählte Softbin-Daten“ ) ) ;
Formelausdruck = Evaluierungseinlage (
„\[sbdt << Neue Spalte( „Bin%“, Numerisch, Fortlaufend, Format( „Prozent“, 12, 2 ), Formel( :^selected_col^ / :LOT_SORTED_DIES ) )]\“
) ;
Analysieren ( Bewertung ( Formelausdruck ) ) ;
) ;
) ;