You are on page 1of 29

Business Objects XI

Condiciones complejas
Ejemplo
• Qué clientes han hecho reservas entre 2001 y
2002?
– Insertamos el objeto Cliente en la consulta
– Arrastramos Año de Reserva a la caja condiciones
y click en seleccionar operador
– Aparecen la lista de Operadores
• Doble click en Lista
– Mostrar lista de valores
– seleccionamos los dos años y OK
Pasos (3)
• Arrastrar el objeto a la caja de condiciones
• doble click en operador a usar
• doble click en operando a usar
Operadores
Operadores
Operandos
Operandos
Consejos
• %
• Reemplaza varios caracteres tanto en la
respuesta como en un prompt
– N%
• devuelve values que comienzan con N
• _
• Reemplaza un único caracter en una constante
• GR_VE
– devuelve Grave, Grove,Greve.
Condición con un cálculo
• DI nos permite limitar los resultados de la
consulta con cálculos
• Resuelve preguntas como
– que productos han generado ingresos superiores a
la media
• Esta condición la aplicamos con un cálculo
usando el operando Calculo
• DI muestra un asistente que nos guía a través
de los pasos para hacer el cálculo
Asistente para cálculo
• Nivel de calculo
– Global
• sólo obtenemos una línea de resultado
– Uno o más objetos
• para obtener varias líneas de resultado
Ejemplo
• Cuando se hizo la última factura por producto
para cada cliente?
• queremos encontrar la fecha de la última factura
de cada cliente para encontrar qué clientes
todavía no han comprado nuestro productos
• Aplicamos una condición compleja con un cálculo
• El cálculo compara las fechas de fra de cada
cliente y nos retorna sólo la última fecha
Solución
• Insertamos cliente y fecha fra en la consulta
• Arrastramos fecha fra en caja Condiciones
• Doble clic en operador Equal to
• doble click en operando Calculo
– Aparece el asistente
• Abrimos la clase Ventas y click en fecha fra y Siguiente
• Click Maximo (queremos la última fra) y Siguiente
• Click en Global y siguiente
– nos interesa la fecha de fra ultima de cliente NO de otros criterios
• Click en Para cada dato de uno o más objetos y Cliente
– esta opción fuerza al cálculo a retornar la fecha de fra última de cada clliente
– Siguiente y Panel Consultas y Ejecutar
• En el resultado, si miramos SQL vemos cómo
DI crea una subconsulta
Aplicar una condición con una subconsulta

• Una subconsulta es una consulta dentro de otra


consulta
• Devuelve una única columna de datos que se compara
con los datos devueltos por la consulta principal
• Podemos usar subconsultas para
– encontrar un único dato en una lista de datos que cumplan
la condicion de la consulta
– De todos los clientes que han hecho reservas, queremos el
nombre y dirección del cliente que ha hecho la primera
reserva
• Las condiciones complejas consisten en tres
elementos
– objeto
– operador
– operando
Pasos
• Arrastrar un objeto a la caja condiciones
• Doble click en operador a usar
– algunos operadores como entre, modelo….NO
pueden usarse con subconsultas
• doble click en operando ALL o ANY
– se crea una ficha como subconsulta
• insertamos un objeto el caja de objetos resultado
• podemos aplicar un condicion en la subconsulta
• Ejecutar
Ejemplo
• Qué cliente ha hecho la primera reserva?
Solución
• Insertamos el objeto cliente y dirección en la consulta
• Arrastramos fecha reserva en la caja Condiciones
• Doble clic en operador menor o igual que
• Doble click en operando Crear subconsulta ALL
• Aparece la ficha 1.1.
• Insertamos el objeto fecha reserva en la caja de
Objetos Resultado
• Ya nos aparece en nuestra celda el nombre y
dirección del cliente
Solución usando Cálculo
• Insertamos cliente y dirección en la consulta
• Arrastra fecha reserva a condiciones
• Doble click en operador Igual
• doble click en operando Calculo
• Aparece el asistente Condicion
• Selecciona fecha reserva y Siguiente
• Selecciona función Minimo y Siguiente
– nos devuelve la menor fecha de reserva
• Global
• Independiente de tus objetos
– estamos interesados en la fecha más temprada en global
• Seleccionamos todos los valores y Ejecutar
• Podemos aplicar una consulta ya existente en
una condición
Grupos de condiciones
• Dos o más condiciones aplicadas a la misma
consulta
– AND - OR
Organizar grupos de condiciones
Precedencia
• si tenemos un grupo de condiciones, se evalua los
objetos en orden
• Primero determina si sales revenue >= 2000000 o
quantity sold > 1000.
• Solo despues se evalua si margin >= 1000000.
Consultas combinadas
• DI permite combinar los
datos devueltos de hasta
ocho consultas
SQL
• DI escribe en SQL la consulta
• Podemos regenerar la consulta para ver los
cambios
• Tb podemos guardar el script para enviarlo a
otra consulta

You might also like