Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Je ne suis pas sûr de bien comprendre ce que vous essayez de faire. À titre d'exemple précis, essayez-vous de déterminer le nombre d'hommes de 13 ans dans le tableau de données et de le mettre dans une colonne sans créer la colonne de concaténation d'âge et de sexe? Si c'est ce que vous voulez, je pense que cette colonne de formules fonctionnerait:

Notez que cette formule ne compte que le nombre d'entrées non manquantes dans la table de données. Dans ce cas, j'ai choisi de compter le nombre d'entrées non manquantes pour la colonne Nom par âge et sexe. Aucune colonne intermédiaire ou nouvelle table n'est nécessaire.
Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Je n'ai pas testé ce code, mais vous devriez voir au moins l'approche que je prends, et l'approche fonctionnera.
Names Default To Here( 1 );
dtBig = Data Table( "Big Class" );
dtSmall = Data Table( "Big Class By (age, sex)" );
dt << New Column( "N Rows" );
For( i = 1, i <= N Rows( dtSmall ), i++,
foundRows = dtBig << get rows where(
Substr( :agesex[i], 1, Length( :agesex[i] ) - 1 ) == :age & Substr( agesex[i], -1 ) == :sex
);
If( N Rows( foundRows ) > 0,
dtBig:N Rows[foundRows] = dtSmall:N Rows[i]
);
);
Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Merci Jim!
Le code n'a pas fonctionné.

Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Eh bien, JMP ne trouve pas le petit tableau de données. D'après ce que j'ai pu voir dans votre soumission principale, le nom de la table de données pour la petite table de données s'appelait «Grande classe par (âge, sexe)». Soit ce n'est pas le nom correct, soit cette table de données n'existe plus. Modifiez simplement les noms des références de table de données à la table sur laquelle vous souhaitez exécuter le script et exécutez-le.Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Je l'ai modifié plusieurs fois, mais je n'ai toujours pas de solution.
Allez-y et demandez votre aide. «Merci Jim!Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Essaye ça
names default to here(1);
// Create the 2 Example data tables
dtBig = open("$SAMPLE_DATA/big class.jmp");
dtSmall = New Table( "Data agesex",
Add Rows( 12 ),
New Column( "agesex",
Character,
"Nominal",
Set Values(
{"12F", "12M", "13F", "13M", "14F", "14M", "15F", "15M", "16F", "16M",
"17F", "17M"}
)
),
New Column( "N Rows",
Numeric,
"Continuous",
Format( "Fixed Dec", 12, 0 ),
Set Values( [5, 3, 3, 4, 5, 7, 2, 5, 2, 1, 1, 2] )
)
);
// Create the new column
dtBig << New Column( "N Rows" );
// Move the data as required
For( i = 1, i <= N Rows( dtSmall ), i++,
foundRows = dtBig << get rows where(
Num( Substr( dtSmall:agesex[i], 1, Length( dtSmall:agesex[i] ) - 1 ) ) == :age &
Substr( dtSmall:agesex[i], -1 ) == :sex
);
If( N Rows( foundRows ) > 0,
dtBig:N Rows[foundRows] = dtSmall:N Rows[i]
);
);Re: Peut-on obtenir des données correspondantes directement sans colonnes auxiliaires?Merci Jim!
dtSmall
dtBig = Open( "$SAMPLE_DATA/big class.jmp" );
dtSmall = dtBig << Summary(
Group( :age, :sex ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 ),
statistics column name format( "column" )
);
c1 = Column( 1 ) << Get Name;
c2 = Column( 2 ) << Get Name;
dtSmall << Add Multiple Columns( c1 || c2, 1, after( As Column( 2 ) ), Character, "Nominal" );
Wait( 0 );
Column( 3 ) << Formula( Char( :age ) || :sex );
dtSmall << run formulas;
Column( 3 ) << deleteFormula;
dtSmall << delete columns( 1 :: 2 );
Les données correspondantes peuvent-elles être obtenues directement sans colonnes auxiliaires?Par exemple, utilisez les combinaisons de colonnes "age" et "sex" de "Big class.jMP" pour générer de nouveaux noms de colonnes sur une autre table.
Comment faire correspondre les données d'une autre table directement via les colonnes "age" et "sexe" sans ajouter de colonne auxiliaire dans le grand tableau?
Merci!
Scripting