Where en columna lógica y Filtros "restringir"

Ver el tema anterior Ver el tema siguiente Ir abajo

Where en columna lógica y Filtros "restringir"

Mensaje  equipoBI el Mar 03 Nov 2009, 19:39

Buenas tardes.

Tengo el siguiente problema, a ver si alguien me puede ayudar!

tengo un filtro con dos campos, las opciones del campo 2 van restringidas por el campo 1 y, a su vez, no deben mostrarse todos los valores del campo 2.Ejemplo:

En la base de datos tengo:
campo 1: a,b,c,d.
campo 2: a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2 y d3.

En el filtro:
Si selecciono "a", sólo quiero que muestre, en el campo 2: "a1" y "a2".

Por lo cúal opté por hacer lo siguiente:

En el repositorio creé una columna lógica con los datos que quiero mostrar en el filtro en el campo2, utilizando un case.

El problema está en que, al escoger en el campo 1 "a", me mostraría en el campo 2: "a1", "a2" y "null".


¿¿sabe alguien como puedo hacer para que no salga esta opción "null"???

Creo que null sale porque la "condición" se hace con un case, transformando entonces los valores que no cumplen dicho case en un null. Creo que la solución sería hacer en el repositorio la columna filtrando con un where, pero no sé como hacerlo, alguien podría ayudarme??

Muchas gracias anticipadamente por vuestra ayuda.

un saludo.

equipoBI

Cantidad de envíos : 128
Fecha de inscripción : 24/02/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  bvillamor el Mar 03 Nov 2009, 20:24

Una solución es filtrar los resultados del dashboard prompt para que no te muestre los nulos, eso te permite dejar la columna lógica con el Case.

En el segundo campo del filtro seleccionas la opción Mostrar 'Resultado SQL' en lugar de 'Todos los valores' y en el texto del SQL pones:
Código:
SELECT Tabla.campo2 FROM SubjectArea where Tabla.campo2 is not null

Saludos,

_________________
Begoña Villamor
Oracle Fusion Middleware 11g Business Intelligence Foundation Certified Implementation Specialist

Adiante
http://www.adiante.es

bvillamor

Cantidad de envíos : 388
Localización : Madrid
Fecha de inscripción : 18/02/2009

Ver perfil de usuario http://www.adiante.es

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  equipoBI el Miér 04 Nov 2009, 11:55

Hola Begoña,

El problema es que entonces no me filtra por el campo 1. También probé a hacer lo siguiente:

En el campo 1 creo una variable de presentación "vble" y la SQL del campo 2 pogo lo siguiente:

SELECT Tabla.campo2 FROM SubjectArea where Tabla.campo2 is not null
AND Tabla.campo1 = '@{vble}'


pero así solo me muestra el primer resultado válido del campo2 y no se actualiza al escoger otro valor en el campo1, supongo que la variable de presentación no se actualiza hasta que no se le da al botón ir.

Lo que yo necesitaría sería poder filtrar el campo2 con la SQL para quitar los nulos y, además, restringir según el valor escogido del campo1...

Gracias.

Un saludo.

equipoBI

Cantidad de envíos : 128
Fecha de inscripción : 24/02/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  bvillamor el Miér 04 Nov 2009, 12:52

Hola,
la restricción por el campo1 debes hacerla con la columna lógica de la capa de negocio tal como tenías al principio. Lo que te proponía en mi mensaje es simplemente para eliminar los nulos una vez que ya tienes los valores válidos en el segundo filtro.

  • Capa física: campo1, campo2
  • Capa de negocio: campo1, campo2, campo2_bis
    donde campo2_bis tiene una fórmula cuyo resultado depende del valor de campo1

Filtro de cuadro de mando:
  • pintas campo1 y campo2_bis
  • en campo2_bis seleccionas 'Restringir' y Mostrar 'Resultado SQL'
    Código:
    SELECT Tabla.campo2_bis FROM SubjectArea where Tabla.campo2_bis is not null


Saludos,

_________________
Begoña Villamor
Oracle Fusion Middleware 11g Business Intelligence Foundation Certified Implementation Specialist

Adiante
http://www.adiante.es

bvillamor

Cantidad de envíos : 388
Localización : Madrid
Fecha de inscripción : 18/02/2009

Ver perfil de usuario http://www.adiante.es

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  equipoBI el Miér 04 Nov 2009, 15:50

Hola,

mi problema es que, cuando en el Filtro, selecciono Mostrar: "Resultados de SQL" se pierde el chek de "Restringir".

es decir, que si restrinjo sale null y si no sale null, no me restringe...

muchas gracias.

un saludo.

equipoBI

Cantidad de envíos : 128
Fecha de inscripción : 24/02/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  bvillamor el Miér 04 Nov 2009, 16:50

Cierto, no me había fijado en que desaparecía la opción Restringir al poner el SQL. ¿Te vale si pones la condición de restricción dentro del SQL?

_________________
Begoña Villamor
Oracle Fusion Middleware 11g Business Intelligence Foundation Certified Implementation Specialist

Adiante
http://www.adiante.es

bvillamor

Cantidad de envíos : 388
Localización : Madrid
Fecha de inscripción : 18/02/2009

Ver perfil de usuario http://www.adiante.es

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  equipoBI el Miér 04 Nov 2009, 17:18

¿cómo puedo poner la condición de restricción en la SQL?

intenté hacerlo con la variable de presentación que creé en el campo1 del filtro, pero tampoco me funciona:

SELECT Tabla.campo2 FROM SubjectArea where Tabla.campo2 is not null
AND Tabla.campo1='@{vble}'

Gracias, saludos!

equipoBI

Cantidad de envíos : 128
Fecha de inscripción : 24/02/2009

Ver perfil de usuario

Volver arriba Ir abajo

Re: Where en columna lógica y Filtros "restringir"

Mensaje  Contenido patrocinado Hoy a las 20:37


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.