Comment joindre deux tables et remplir automatiquement les lignes vides ?Cher.
J'essaie de rejoindre automatiquement une table mais j'ai échoué jusqu'à présent.
Mon tableau affiche une date avec une catégorie qui est - dans la date - augmentée d'heures.
De plus, il affiche une catégorie - ABCD. Ce tableau est appelé date-category .
Maintenant, j'ai besoin d'un tableau qui affiche la date, les heures et les MINUTES augmentées.
J'ai joint un deuxième tableau. ( date-category-goto ).
Quelqu'un peut-il joindre la catégorie à ma table de référence ? (et mettre un script ?)
Je souhaite extraire à l'étape suivante mes facteurs et réponses de notre système de contrôle de processus et voir
quelle « catégorie » apporte le plus de changements au processus....
Meilleurs vœux.
Être
Organisation du contenuExploration et visualisation des donnéesRe : Comment joindre deux tables et remplir automatiquement les lignes vides ?Salut @Ole_Luehn ,
Je suis capable de joindre les deux tables et de trouver le code JSL pour remplir et remplacer la valeur manquante par la valeur précédente (cela peut également être fait via l'interface graphique).
// Open Data Table: Date_Category.jmp
// → Data Table( "Date_Category" )
Open( "$DESKTOP/Data/Date_Category.jmp" );
// Open Data Table: Date-Category-Goto.jmp
// → Data Table( "Date-Category-Goto" )
Open( "$DESKTOP/Data/Date-Category-Goto.jmp" );
// Change column info: Date
Data Table( "Date_Category" ):Date << Data Type( Character ) <<
Set Modeling Type( "Nominal" );
// Change column info: Date-goto
Data Table( "Date-Category-Goto" ):"Date-goto"n << Data Type( Character ) <<
Set Modeling Type( "Nominal" );
// Change column name: Category → Category1
Data Table( "Date_Category" ):Category << Set Name( "Category1" );
// Join data tables
// → Data Table( "Test" )
Data Table( "Date-Category-Goto" ) << Join(
With( Data Table( "Date_Category" ) ),
Select( :"Date-goto"n ),
SelectWith( :Category1 ),
By Matching Columns( :"Date-goto"n = :Date ),
Drop multiples( 0, 0 ),
Include Nonmatches( 1, 0 ),
Preserve main table order( 1 ),
Output Table( "Test.jmp" )
);
//Fill in empty rows
Names Default To Here( 1 );
dt = Current Data Table();
dtcollist = dt << get column names;
dtMat = (dt << Get All Columns As Matrix);
For( i = 1, i <= N Items( selection ), i++,
colNum = Contains( dtColList, Name Expr( selection[i] ) );
vMat = dtMat[0, colNum];
mis = Loc( Is Missing( vMat ) );
If( N Row( mis ),
col = column(selection[i]);
If( mis[1] == 1,
col[1] = col[(Loc( vMat ))[1]]
);
For( j = if(mis[1]==1, 2, 1), j <= N Row( mis ), j++,
col[mis[j]] = col[mis[j] - 1]
);
);
);

Veuillez également vous référer au lien ci-dessous car je ne peux pas vraiment expliquer comment fonctionne le script de remplissage ;
https://community.jmp.com/t5/Discussions/How-to-replace-empty-rows-until-next-entry-and-continue/td-p/269171
https://community.jmp.com/t5/JMP-Add-Ins/Fill-Missing-Cells/ta-p/460326
Re : Comment joindre deux tables et remplir automatiquement les lignes vides ?Bonjour. Cela a fonctionné - j'ai téléchargé ce module complémentaire - et mis à jour mon fichier fusionné.
Merci, maintenant je peux continuer.
Meilleurs vœux.
Olé