Создание нового столбца в JMP с использованием условия if из другого столбца

Я очень новичок в JMP, поэтому я все еще чувствую себя вокруг. Я хочу создать новый столбец под названием "Статус" в JMP. Этот статус является символическим и зависит от значения столбца "Оценка". Если значение записи в столбце "Оценка" равно нулю, значением записи в столбце "Состояние" должно быть "сбой". Если значение "Grade" больше 100, запись в столбце "Status" должна быть "недопустимой". Если значение:Grade"меньше 0, значение" Status "должно быть" invalid ". Это должно быть просто. Но каким-то образом мой сценарий не будет работать:

dt = Current Data Table();
dt << New Column("Status", Character, Formula(
    If(:Name( "Grade" )==0, "fail",
       :Name( "Grade" )>100, "invalid",
       :Name( "Grade" )<0, "invalid")
));

Можете ли вы помочь мне отладить этот скрипт? Спасибо!

1 ответ

Решение

Я только что попробовал сценарий, и формула работает для меня.

Вот немного JSL, который является немного более полным, который также добавляет столбец "Оценка", от которого зависит "Состояние".

dt = Current Data Table();
dt << New Column( "Grade",
        Numeric,
        "Continuous",
        Format( "Best", 12 ),
    );
dt << New Column( "Status",
        Character,
        "Nominal",
        Formula(
            If(
                :Grade == 0, "fail",
                :Grade > 100, "invalid",
                :Grade < 0, "invalid"
            )
        )
    );

Возможно, проблема в том, что у вас еще не открыта таблица данных со столбцом оценок? Вот скрипт для создания новой таблицы с формулой и некоторыми значениями.

New Table( "Grading Test",
    Add Rows( 7 ),
    New Column( "Grade",
        Numeric,
        "Continuous",
        Format( "Best", 12 ),
        Set Selected,
        Set Values( [45, 20, 100, 101, -4, 0, 120] )
    ),
    New Column( "Status",
        Character,
        "Nominal",
        Formula(
            If(
                :Grade == 0, "fail",
                :Grade > 100, "invalid",
                :Grade < 0, "invalid"
            )
        )
    )
);

Я создал это путем интерактивного создания таблицы и использования меню красного треугольника и выбрал "Копировать сценарий таблицы".

Я пробовал JMP 12.0, какую версию вы используете?

Другие вопросы по тегам