Supprimer les guillemets : Script pour créer une formule de colonneJe suis au début de la création d'un script pour trouver le delta entre deux mesures pour plusieurs colonnes.
J'ai du mal à créer des formules de colonne lorsque le nom de la colonne comporte un tiret....
La commande d'analyse pour supprimer les guillemets modifie le tiret en un opérande moins, ce qui perturbe alors ce que j'essaie d'accomplir.
Journal des erreurs :
"_92MHz_test_data" inattendu. Il manque peut-être un ";" ou ",".
Voici le script (qui fonctionne si la ou les colonnes n'ont pas d'opérande dans le nom.
Par exemple,
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":", (Col_Name1_char) )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":", Col_Name2_char ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want
Mélange et nettoyage des donnéesRe : Supprimer les guillemets : Script pour créer une formule de colonneJe n'aurais jamais pu comprendre cela.Merci beaucoup, fonctionne parfaitement !
Re : Supprimer les guillemets : Script pour créer une formule de colonneLe "-" au milieu d'un nom de colonne est interprété par JMP comme une soustraction.Par conséquent, vous devez indiquer à JMP que le terme entier est un nom de colonne.La manière la plus simple de procéder consiste à utiliser la structure de dénomination de
":nom de la colonne"n
Ce qui suit est une refonte de votre script avec les modifications apportées
names default to here(1);
dt = Current Data Table();
Col_Name = "diff"; // column(5) - Column(300)
Col_Name1_char = Char( Column Name( 5 ) ); // "bin of DWK112079-01_92MHz_test_data""
Col_Name2_char = Char( Column Name( 300 ) );// "bin of DWK112079-01_90MHz_test_data""
Col1_Name = (Concat( ":\!"", (Col_Name1_char), "\!"n" )); //":bin of DWK112079-01_92MHz_test_data";
Col2_Name = ((Concat( ":\!"", Col_Name2_char , "\!"n" ))); // ":bin of DWK112079-01_90MHz_test_data";
Formula_I = ((Concat( col1_Name, " - ", Col2_Name ))); //Make the formula expression
a = Expr(
New Column( X, formula( Z ) )
); // New column with name Diff
b = Substitute( Name Expr( a ), Expr( X ), Col_Name, Expr( Z ), Parse( Formula_I ) ); // This has error when Colnames has "-" in the name
Eval( b );
//Note:
Show( Forumula_I, Parse( Formula_I ) );
//Note : Formula_I = ":bin of DWK112079-01_92MHz_test_data - :bin of DWK112079-01_new_updated_test_data";
//Note Parse(formula_I) = :bin of DWK112079 - 1; This is not what I want