No estoy seguro de entender exactamente lo que le gustaría ver, pero aquí está el JSL generado a partir de una consulta como la mostré anteriormente.
Observe la parte Where (). Es puro JSL. No hay variables que pueda pegar en su SQL personalizado.
Parece que tus elecciones para el esfuerzo son:
- Escribir la JSL para generar las indicaciones y descubrir cómo insertar las respuestas en su SQL; o,
- Convertir la consulta en el Generador de consultas y dejar que te lo solicite.
No estoy seguro de cuál es el mayor esfuerzo para usted, pero la conversión a Query Builder parece ser más flexible y le dará más opciones a largo plazo.
New SQL Query(
Version( 130 ),
Connection(
connection_string
),
QueryName( "inventory" ),
Select(
Column( "warehouseid", "t1" ),
Column( "sku", "t1" ),
Column( "sku_description", "t1" ),
Column( "quantityonhand", "t1" ),
Column( "quantityonorder", "t1" )
),
From(
Table( "inventory", Schema( "Sporting Goods By Stan" ), Alias( "t1" ) ),
Table(
"warehouse",
Schema( "Sporting Goods By Stan" ),
Alias( "t9" ),
Join(
Type( Left Outer ),
EQ( Column( "warehouseid", "t9" ), Column( "warehouseid", "t1" ) )
)
),
Table(
"order_item",
Schema( "Sporting Goods By Stan" ),
Alias( "t6" ),
Join(
Type( Left Outer ),
EQ( Column( "sku", "t6" ), Column( "sku", "t1" ) )
)
),
Table(
"sku_data",
Schema( "Sporting Goods By Stan" ),
Alias( "t8" ),
Join(
Type( Left Outer ),
EQ( Column( "sku", "t8" ), Column( "sku", "t1" ) )
)
),
Table(
"retail_order",
Schema( "Sporting Goods By Stan" ),
Alias( "t7" ),
Join(
Type( Left Outer ),
EQ( Column( "ordernumber", "t7" ), Column( "ordernumber", "t6" ) )
)
)
),
Where(
In List(
Column( "department", "t8" ),
{"Water Sports"},
UI(
SelectListFilter(
ListBox,
Base(
"Categorical",
Prompt(
"Select a department:",
Character,
PromptName( "t8.department_1" ),
ValueSource(
Column(
"department",
Alias( "department" ),
Table(
"sku_data",
Schema( "Sporting Goods By Stan" )
)
)
)
)
)
)
)
)
)
) << Run;
Sí. cuando compilo las consultas directamente en JMP, puedo obtener las indicaciones. Mi problema es que cuando tomo una consulta existente y la coloco en la consulta de SQL personalizada, mis avisos no están disponibles. Para una consulta simple, el generador de consultas en JMP funciona, pero tengo algunas uniones bastante largas y complicadas que estoy tratando de no tener que reconstruir.
Si usa el Generador de consultas, creará las solicitudes automáticamente utilizando la opción "Solicitar en ejecución" en el área de filtros.

Cuando ejecute la consulta, se le preguntará al usuario. No hay razón para construirlo tú mismo.

Hola @Joeystringer ,
Aquí hay un ejemplo de algo que puede ejecutar antes de iniciar la consulta:
dlg = New Window("Parameter Specification", << Modal,
V List Box(
Text Box("Please specify the value of lineID."),
H List Box(
Text Box("LineID: "),
neb = Number Edit Box();
),
Button Box("OK", LineID = neb << Get);
)
);
Show(LineID);Esta ventana solo le pide al usuario que ingrese un número en el cuadro de edición de números. El botón "Aceptar" obtiene el valor en el cuadro y lo guarda como "ID de línea" que puede utilizar en su consulta. La opción "<< Modal" hace que la ventana sea modal, lo que significa que JMP no ejecutará el resto del script que aparece después de la ventana hasta que el usuario presione "OK".
Le recomiendo que consulte la Guía de secuencias de comandos (Ayuda> Libros> Guía de secuencias de comandos) para aprender a crear secuencias de diálogo si desea hacer algo más complicado.
Utilizo mucho ssrs y estoy acostumbrado a tener parámetros como @Sitename o @Date. Tengo varias consultas que utilizo en otras plataformas, pero me gusta poder ponerlas en JMP. el problema con el que me encuentro es que no sé cómo usar el cuadro de solicitud para mis parámetros cuando hago el SQL personalizado. Por ejemplo, ¿cómo escribiría esto para que aparezca un cuadro que pide "Lineid"? serían capaces de responder, y la consulta se ejecutaría.
SELECCIONAR *
DESDE tblline
donde tblline.lineid=@LineID;