Comment demander à l'utilisateur de sélectionner des colonnes puis de procéder à la distributionBonjour à tous, j'essaie actuellement d'apprendre le script de tableau et je souhaite publier une fonctionnalité.
Demandez à l'utilisateur de choisir 1 ou plusieurs cloumn --> procéder à la distribution
Puis-je savoir comment relaized cela?
Merci.
Re : Comment demander à l'utilisateur de sélectionner des colonnes puis de procéder à la distributionCe script développé devrait vous montrer comment procéder. Il permet à l'utilisateur d'effectuer deux sélections dans la même boîte de dialogue.
Names Default To Here( 1 );
dt = Current Data Table();
dialog = New Window( "Select Columns", << Modal,
Panel Box( "Column Selection",
Lineup Box( N Col( 2 ),
Text Box( "Select column for munging" ),
m col list = Col List Box( All ),
Text Box( "Select columns for distribution" ),
y col list = Col List Box( All )
)
),
H List Box(
Button Box( "OK",
m col = m col list << Get Selected;
y col = y col list << Get Selected;
),
Button Box( "Cancel" )
)
);
If( dialog["Button"] == -1,
Throw( "User cancelled" )
);
Show( m col, y col );
dt << Select Duplicate Rows( Match( :SerialNumber ) );
xx = dt << Get Selected Rows;
If( N Rows( xx ) > 0,
dt << Delete Dows
);
dt << New Column( "Date Code", Numeric, Continuous, Formula( Munger( :Name( "Serial Number" ), 4, 3 ) ) )
<< New Column( "Vendor", Numeric, Continuous, Formula( Munger( :Name( "Serial Number" ), 1, 3 ) ) )
<< New Column( “Config”, Numeric, Continuous, Formula( Munger( :Name( "Serial Number" ), 12, 5 ) ) );
If( N Items( y col ) > 0,
y expr = Expr( Y() );
For( i = 1, i <= N Items( y col ), i++,
Insert Into( y expr, Column( y col[i] ) )
);
Eval( Substitute( Expr( dt << Distribution( yyy ) ), Expr( yyy ), Name Expr( y expr ) ) );
);
Je ne vois aucune raison dans l'exemple que vous avez fourni pour que le nom de la colonne soit remplacé par "numéro de série de la pâte".
Re : Comment demander à l'utilisateur de sélectionner des colonnes puis de procéder à la distributionSalut Marc, merci beaucoup pour ton aide.
J'ai également fait face à une question que je voulais poser. Normalement, j'aurai besoin de procéder à un tableau qui utilise le script ci-dessous et de décoder d'abord le numéro de série pour obtenir le code de date/configuration, etc. Pour une raison quelconque, le nom "SerialNumber" sera remplacé par "numéro de série de la batterie" ou autre chose. s'il permet également à l'utilisateur de sélectionner la colonne à "Munger" en premier, puis de demander à l'utilisateur de sélectionner les colonnes pour effectuer la distribution.
dt = currentdatatable();
dt <<
Select duplicate rows( Match( :SerialNumber ) );
xx=dt<<GET selected="" rows="">0,
dt<<DELETE rows=""></DELETE></GET>
Re : Comment demander à l'utilisateur de sélectionner des colonnes puis de procéder à la distributionJe ne peux pas vous aider avec Tableau.
Voici un script JMP susceptible de fonctionner :
Names Default to Here( 1 );
dt = Current Data Table();
dialog = New Window( "Select Columns", << Modal,
y col list = Col List Box(
All
),
H List Box(
Button Box( "OK",
y col = y col list << Get Selected;
),
Button Box( "Cancel" )
)
);
If( dialog["Button"] == -1,
Throw( "User cancelled" );
);
Show( y col );
If( N Items( y col ) > 0,
y expr = Expr( Y() );
For( i = 1, i <= N Items( y col ), i++,
Insert Into( y expr, Column( y col[i] ) );
);
Eval(
Substitute(
Expr( dt << Distribution( yyy) ),
Expr( yyy ), Name Expr( y expr )
)
);
);