FormelHallo, ich möchte eine Testsäule bauen:

Aus dem folgenden Skript:
dt11 = current data table();<BR />
// Choisir colonnes commençant par employes
dur_cols = Filter Each( {col_name}, dt11 << Get Column Names( "String", Nominal ),
Starts With( col_name, "employes " )
);
// Nouvelle colonne
dt11 << New Column( "TEST EMPLOYES", Numeric, "Continuous", Format( "Best", 12 ) );
// Modifier la formule de colonne : TEST EMPLOYES
dt11:TEST EMPLOYES <<
Set Formula(
For( i = 1, i < n items(dur_cols), i++,
If(
(dur_cols[i] == dur_cols[i+1] | Is Missing( dur_cols[i+1] )),
:TEST EMPLOYES = 1
,
:TEST EMPLOYES = 0
)
)
);Das Ziel besteht darin, in der Spalte TESTMITARBEITER je nach den Bedingungen in der if-Schleife Nullen oder Einsen zu haben... Momentan gelingt es mir nicht, die Spalte Testmitarbeiter mit den Werten 0 oder 1 zu erstellen.
Ich danke Ihnen für Ihre Hilfe
Automatisierung und SkriptingBetreff: FormelUnter welchen Bedingungen soll 1 oder 0 addiert werden?
Betreff: FormelIch gehe von einer Mitarbeiterspalte aus, in der mehrere Felder ausgefüllt sind, etwa „611 – 2000 – 300“, es können aber auch mehr als 3 Felder ausgefüllt sein.
In meinem Skript habe ich diese Spalte vom Trennzeichen "-" getrennt, so dass es genauso viele "Mitarbeiter…"-Spalten gibt, wie Felder in der ersten "Mitarbeiter"-Spalte vorhanden sind.
Bedingung TEST EMPLOYE = 1 :
Alle erstellten Mitarbeiterspalten sind gleich oder es fehlt ein Wert
Bedingung TEST EMPLOYE = 0 :
Es werden unterschiedliche Daten in den Mitarbeiterspalten erstellt (nicht berücksichtigen, wenn die Spalte leer ist)
Beispiel 1:
Arbeitnehmerspalte 1:300
Mitarbeiter Spalte 2: 300
Mitarbeiter Spalte 3: 500
TESTMITARBEITER = 0
Beispiel 2:
Arbeitnehmerspalte 1:300
Mitarbeiter Spalte 2: 300
Mitarbeiter Spalte 3:
TESTMITARBEITER = 1
Betreff: FormelDie Berechnung aus der ursprünglichen Spalte ist wahrscheinlich einfacher
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(3),
Compress File When Saved(1),
New Column("Column",
Character,
"Nominal",
Set Values({"1-1-3", "2-2-2", "3-3", ""})
),
New Column("Column 1", Character, "Nominal", Set Values({"1", "2", "3", ""})),
New Column("Column 2", Character, "Nominal", Set Values({"1", "2", "3", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"3", "2", "", ""}))
);
dt << New Column("R", Numeric, Nominal, Formula(
res = Associative Array(Words(:Column , "-")) << get keys;
Remove From(res, Contains(res, "")); // remove missing value
N Items(res) == 1;
));

Ich bin nicht sicher, wie vollständig fehlende Zeilen berücksichtigt werden sollen. In diesem Fall wird es als 0 behandelt, aber es kann in eins geändert werden, wodurch der endgültige Vergleich geändert wird