Comment puis-je ajouter toutes les valeurs de colonne dans le filtre personnalisé dans JMP Query BuilderBonjour Monsieur ou Madame,
Ce que j'essaie de faire est d'extraire une table de données de la première base de données à l'aide d'une requête SQL, puis je souhaite mettre les valeurs d'une colonne de la table dans des filtres personnalisés dans le 2e générateur de requêtes JMP.
J'ai essayé d'obtenir des valeurs dans Col Serial dans la table de données WO extraites de la 1ère base de données comme ci-dessous,
Col_Values = Data Table( "WO" ):Serial << Obtenir les valeurs ;
Ensuite, essayez de placer la valeur dans le filtre personnalisé pour Col part_id dans JMP Query Builder dans la 2e base de données.
Où( Personnalisé( "part_id dans (Col_Values)", UI( Personnalisé( Base( "Continu" ) ) ) ) )
Mais ça n'a pas marché.
Je serais vraiment reconnaissant s'il y avait un moyen pour moi de faire cela.
Merci d'avance.
Accès aux donnéesRé : Comment puis-je ajouter toutes les valeurs de colonne dans le filtre personnalisé dans JMP Query BuilderCela vous donnera toutes les valeurs du tableau de données
col_values=data table("WO")[0,0]Ré : Comment puis-je ajouter toutes les valeurs de colonne dans le filtre personnalisé dans JMP Query BuilderVous ne savez pas à quel moment vous rencontrez des problèmes, mais obtenez d’abord la liste des valeurs uniques de votre colonne.
Utilisez un tableau associatif (ne fonctionne pas avec les flottants) et peut être lent si vous avez beaucoup de données (réorganise également vos données)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
uniq_age = Associative Array(Column(dt, "age")) << get keys;
Utilisez Summary pour changer les nombres en chaînes, ce qui est une bonne chose dans ce cas.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, uniq_age = By(:age));
Ou utilisez la plateforme de résumé et l'abonnement au tableau de données / obtenez des valeurs.
Transformez ensuite cette liste en chaîne à l'aide d'éléments concaténés et créez votre chaîne de requête. Vous devrez peut-être évaluer la valeur, mais je ne suis pas sûr que cela soit nécessaire
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, uniq_age = By(:age));
uniq_age_in = Concat Items(uniq_age, ", ");
//uniq_age_in = "'" || Concat Items(uniq_age, "', '") || "'"; // note that if you have string, you need to add quotes
custom_sql_template = "part_id in (¤uniq_age_in¤)";
custom_sql = Eval Insert(custom_sql_template, "¤");
// your sql thing
Where(Custom(custom_sql, UI(Custom(Base("Continuous")))));
// or if evaluation is necessary
Eval(EvalExpr(
Where(Custom(Expr(custom_sql), UI(Custom(Base("Continuous")))));
));
Ré : Comment puis-je ajouter toutes les valeurs de colonne dans le filtre personnalisé dans JMP Query BuilderSalut,
Merci beaucoup pour votre réponse. Je dois légèrement modifier le script comme ci-dessous, mais dans l'ensemble, il fonctionne parfaitement comme je le souhaite. J'apprécie vraiment votre aide.
Merci,
Tableau de données (« WorkOrder_Serial ») << Nouvelle colonne (« WO_SN »,
Personnage,
"Nominal",
Formule( "'" ||
érie || "'") );
//J'ai créé une nouvelle colonne avec des guillemets car cela fonctionne bien.
Résumer( Tableau de données( "WorkOrder_Serial" ), SN = Par( :WO_SN ) );
uniq_age_in = Concat éléments( SN, "," );