2017-05-30 1 views
1

Est-il possible de stocker une expression dans un script IronPython dans Spotfire, puis de l'appeler plus tard pour simplifier mes scripts dans lesquels j'ajoute un tas de colonnes calculées? Certains de mes expressions sont tout simplement (A + B), mais je suis aussi essayer de voir s'il est possible de stocker un si alors « déclaration de cas » comme une expressionStocker et appeler des expressions avec IronPython dans Spotfire

Par exemple:

expression1 = [ VarA] * 3,289

expression2 ~ (VarA]/[VarB]) * 23,33

expression3 = cas Lorsque [VarA] = 1 Ensuite, "Blue" Else "Red" End


exemple de script (cela fonctionne):

from Spotfire.Dxp.Data import CalculatedColumn 
cols = Document.Data.Tables["MyTable"].Columns 
cols.AddCalculatedColumn("NewColumn1","[VarA] * 3.289"); 

Exemple de ce que je voudrais faire:

from Spotfire.Dxp.Data import CalculatedColumn 
cols = Document.Data.Tables["MyTable"].Columns 
cols.AddCalculatedColumn("NewColumn1","expression1"); 
cols.AddCalculatedColumn("NewColumn2","expression2"); 
cols.AddCalculatedColumn("NewColumn3","expression3"); 

Répondre

0

Je veux dire peut-être que je ne suis pas vous comprendre mais je pense juste faire expression1 une variable comme vous essayiez de le faire. Assurez-vous d'utiliser des guillemets pour les chaînes et ne les utilisez pas pour les variables.

expression1 = "[varA]*3.289" 
cols.AddCalculatedColumn("NewColumn1",expression1)