¡Hola!
Tengo una tabla de datos que se produjo mediante un script que ejecuta dos consultas separadas (que proporcionan datos de dos fuentes diferentes) que luego se combinan para formar una tabla de datos. Mi pregunta es con respecto a la actualización diaria de esta tabla de manera que no sea necesario volver a ejecutar el script desde el principio y se puedan conservar las limpiezas/ajustes/nuevas columnas. Veo que en la barra lateral hay "actualización desde la base de datos" y "actualización desde la base de datos2". Puedo ejecutar uno de ellos, pero eliminará las columnas que no están incluidas en esa fuente (es decir, si ejecuto "actualizar desde la base de datos", que es para la primera consulta, eliminará las columnas TVC, VI, AC y DC de la consulta 2 junto con otras columnas de cálculo/entrada manual que agrego a la tabla después de fusionarlas en el script original).
Intenté copiar los dos scripts de actualización juntos en un script (ver más abajo) pero tengo el problema de que cuando ejecuta el primero, intenta eliminar las columnas antes de ejecutar el segundo. No estoy seguro de si el mejor enfoque sería combinar las tablas y luego intentar actualizarlas o si hay algo más simple (tal vez una forma de actualizarlo sin eliminar datos que no provienen de esa fuente). Eliminé la información de conexión y cambié los nombres en el código siguiente, pero espero que esto ayude a dar una idea. ¿Alguien ha tenido que lidiar con un problema similar antes? ¡Gracias!
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() ) )