Bonjour!
J'ai une table de données qui a été produite via un script exécutant deux requêtes distinctes (qui fournissent des données provenant de deux sources différentes) qui sont ensuite fusionnées pour former une table de données. Ma question concerne la mise à jour quotidienne de cette table de manière à ce que le script n'ait pas besoin d'être réexécuté depuis le début et que tout nettoyage/ajustements/nouvelles colonnes puisse être conservé. Je vois sur la barre latérale qu'il y a à la fois une "mise à jour depuis la base de données" et une "mise à jour depuis la base de données2". Je peux en exécuter un, mais cela supprimera les colonnes qui ne sont pas incluses dans cette source (c'est-à-dire que si j'exécute "mise à jour depuis la base de données", qui concerne la première requête, cela supprimera les colonnes TVC, VI, AC et DC à partir de la requête 2 ainsi que d'autres colonnes de calcul/saisie manuelle que j'ajoute au tableau après la fusion dans le script d'origine).
J'ai essayé de copier les deux scripts de mise à jour ensemble dans un seul script (voir ci-dessous), mais j'ai le problème où, lorsqu'il exécute le premier, il essaie de supprimer les colonnes avant d'exécuter le second. Je ne sais pas si la meilleure approche serait de combiner les tables puis d'essayer de mettre à jour ou s'il existe quelque chose de plus simple (peut-être un moyen de le mettre à jour sans supprimer les données qui ne proviennent pas de cette source) ? J'ai supprimé les informations de connexion et modifié les noms dans le code ci-dessous, mais j'espère que cela aide à donner une idée. Quelqu'un a-t-il déjà rencontré un problème similaire ? Merci!
New SQL Query(
Version( 130 ),
Connection(
""
),
QueryName( "query1" ),
Select(
Column( "Assay", "t1" ),
Column( "Experiment", "t1" ),
Column( "Date", "t1", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "G", "t1" ),
Column( "L", "t1" ),
Column( "N", "t1" ),
Column( "K", "t1" ),
Column( "C", "t1" ),
Column( "H", "t1" ),
Column( "O", "t1" ),
Column( "C", "t1" ),
),
From( Table( "Runs", Schema( "schema1" ), Alias( "t1" ) ) ),
Where(
Contains(
Column( "Experiment", "t1" ),
"E001",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Experiment ID:",
Character,
PromptName( "t1.Experiment_1" )
)
)
)
)
) & Does Not Contain(
Column( "Assay, "t1" ),
"xxx",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Add a filter for names (optional) or put xxx:",
Character,
PromptName( "t1.AssayId_1" )
)
)
)
)
) & GE(
Column(
"Date",
"t1",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
0,
UI(
Comparison(
Base(
"Continuous",
Prompt(
"Date range:",
Character,
PromptName( "t1.RunDate_1" )
)
)
)
)
)
)
) << Run Foreground( UpdateTable( Current Data Table() ) );
New SQL Query(
Version( 130 ),
Connection(
""
),
QueryName( "query2" ),
Select(
Column( "Assay", "t2" ),
Column( "Experiment", "t2" ),
Column( "Date", "t2", Numeric Format( "m/d/y h:m:s", "0", "NO", "" ) ),
Column( "TVC", "t2" ),
Column( "VI", "t2" ),
Column( "AC", "t2" ),
Column( "AD", "t2" )
),
From( Table( "Runs", Schema( "schema2" ), Alias( "t2" ) ) ),
Where(
Contains(
Column( "Experiment", "t2" ),
"E001",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Experiment ID:",
Character,
PromptName( "t2.Experiment_1" )
)
)
)
)
) & Does Not Contain(
Column( "Assay", "t2" ),
"xxx",
UI(
Contains(
Base(
"Categorical",
Prompt(
"Add a filter (optional) or put xxx:",
Character,
PromptName( "t2.AssayId_1" )
)
)
)
)
) & GE(
Column(
"Date",
"t2",
Numeric Format( "m/d/y h:m:s", "0", "NO", "" )
),
0,
UI(
Comparison(
Base(
"Continuous",
Prompt(
"Date range:",
Character,
PromptName( "t2.RunDate_1" )
)
)
)
)
)
)
) << Run Foreground( UpdateTable( Current Data Table() ) )