Filtro en tabla dinámica

20/04/2006 - 16:23 por kusflo | Informe spam
Tengo una tabla dinámica con tres campos en en el sector Pagina y varios mas
en los sectores de fila y datos. Los campos son: Empresa, Cuenta de
cotización y Centros de trabajo. Teniendo en cuenta que estamos hablando de
cerca de 200 Empresas de las cuales cada una de ellas tiene varias cuentas de
cotización y cada cuenta de cotización tiene uno o mas centros de trabajo, Lo
que me sucede es que cuando selecciono una empresa y quiero seleccionar una
cuenta de cotizacion de dicha empresa me aparecen todas las cuentas de
cotización de todas las empresas y lo mismo con los centros de trabajo. Lo
que pretendo es que cuando selecciono una empresa en el campo de cuentas de
cotizacion se muestren solo las cuentas de dicha empresa seleccionada y lo
mismo cuando toque seleccionar los centros de trabajo.

Buff no sé si me explique con claridad.
"Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe; he
aquí el verdadero saber." Confucio.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
21/04/2006 - 06:33 | Informe spam
hola, 'anonimo/a' !

... tabla dinamica con tres campos en... Pagina y varios... en... fila y datos.
Los campos son: Empresa, Cuenta de cotizacion y Centros de trabajo.
... cerca de 200 Empresas... cada una... tiene varias cuentas de cotizacion
... cada cuenta de cotizacion tiene uno o mas centros de trabajo
... cuando selecciono una empresa y quiero seleccionar una cuenta de cotizacion de dicha empresa
... aparecen todas las cuentas... de todas las empresas y lo mismo con los centros de trabajo.
... pretendo... que cuando selecciono una empresa en el campo de cuentas... se muestren solo las cuentas de dicha empresa [...]



es probable que necesites agregar algun campo en [o modificar] el origen de los datos de tu tabla dinamica -?-
las siguientes son conversaciones relacionadas a 'filtros' en tablas dinamicas: -> http://tinyurl.com/glg49

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 kusflo
21/04/2006 - 10:02 | Informe spam
He buscado en el enlace y no encuentro nada que resuelva mi problema.

Si tengo un campo A con 200 valores. Un campo B con 500 valores. Un campo C
con 1000 valores. Donde C esta contenido en B que a su vez esta contenido en
A. Es decir:
A
I--B
I--C

Si pongo A, B y C en la sección pagina de una tabla dinamica me pasa lo
siguiente:
Cuando selecciono A (Empresa) creo que en B sólo me debería mostrar para
elegir los valores de B que estan relacionados con A y en cambio me muestra
los 500 para elegir. Y si escojo B (Cuenta de cotización) creo que debería
hacer lo mismo con C es decir filtrar y solo mostrar los campos de C que
estan contenidos en B y en cambio me muestra los 1000 valores de C lo cual
hace imposible la seleccion.

Tal vez ahora me explique un poco mejor. Please necesito una ayudita!

"Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe; he
aquí el verdadero saber." Confucio.


"Héctor Miguel" escribió:

hola, 'anonimo/a' !

> ... tabla dinamica con tres campos en... Pagina y varios... en... fila y datos.
> Los campos son: Empresa, Cuenta de cotizacion y Centros de trabajo.
> ... cerca de 200 Empresas... cada una... tiene varias cuentas de cotizacion
> ... cada cuenta de cotizacion tiene uno o mas centros de trabajo
> ... cuando selecciono una empresa y quiero seleccionar una cuenta de cotizacion de dicha empresa
> ... aparecen todas las cuentas... de todas las empresas y lo mismo con los centros de trabajo.
> ... pretendo... que cuando selecciono una empresa en el campo de cuentas... se muestren solo las cuentas de dicha empresa [...]

es probable que necesites agregar algun campo en [o modificar] el origen de los datos de tu tabla dinamica -?-
las siguientes son conversaciones relacionadas a 'filtros' en tablas dinamicas: -> http://tinyurl.com/glg49

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
21/04/2006 - 12:11 | Informe spam
hola, 'anonimo/a' !

He buscado en el enlace y no encuentro nada que resuelva mi problema.
Si tengo un campo A con 200 valores. Un campo B con 500 valores. Un campo C con 1000 valores.
Donde C esta contenido en B que a su vez esta contenido en A. Es decir:
A
I--B
I--C
Si pongo A, B y C en la seccion pagina de una tabla dinamica me pasa lo siguiente:
Cuando selecciono A (Empresa) creo que en B solo me deberia mostrar para elegir los valores de B que estan relacionados con A
y en cambio me muestra los 500 para elegir.
Y si escojo B (Cuenta de cotizacion) creo que deberia... filtrar y solo mostrar los campos de C que estan contenidos en B
y en cambio me muestra los 1000 valores de C lo cual hace imposible la seleccion.
Tal vez ahora me explique un poco mejor. Please necesito una ayudita!



supongo que el ejemplo que expones es [o pretende ser] mas bien... 'ilustrativo' -?-
[y me parece que]... en tanto NO expongas -tambien- cual es la ubicacion de los datos de origen...
[hoja/rango y/o si se trata de datos 'externos'... probablemente]... podriamos empezar por intentar un 'acercamiento'...
[p.e.] revisando las siguientes conversaciones: -> http://tinyurl.com/gqu8z

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 kusflo
21/04/2006 - 13:26 | Informe spam
El caso que me muestras en el link es lo mismo que me sucede a mi. Para
empezar perdona por no haberlo visto por antes.

Yo pretendo realizar la opcion 2 es decir la de utilizar la formula y la
macro. Lo estoy intentando pero no consigo entender la formula. Para mi no
tiene sentido: =o($h$3="(Todas)",$h$3¢)

Podrías explicarme un poco a que viene?. Si tienes la hoja con ese ejemplo
desarrollado te agradecería que me enviases ese ejemplo a mi email para poder
estudiarlo con más claridad.

"Saber que se sabe lo que se sabe y que no se sabe lo que no se sabe; he
aquí el verdadero saber." Confucio.


"Héctor Miguel" escribió:

hola, 'anonimo/a' !

> He buscado en el enlace y no encuentro nada que resuelva mi problema.
> Si tengo un campo A con 200 valores. Un campo B con 500 valores. Un campo C con 1000 valores.
> Donde C esta contenido en B que a su vez esta contenido en A. Es decir:
> A
> I--B
> I--C
> Si pongo A, B y C en la seccion pagina de una tabla dinamica me pasa lo siguiente:
> Cuando selecciono A (Empresa) creo que en B solo me deberia mostrar para elegir los valores de B que estan relacionados con A
> y en cambio me muestra los 500 para elegir.
> Y si escojo B (Cuenta de cotizacion) creo que deberia... filtrar y solo mostrar los campos de C que estan contenidos en B
> y en cambio me muestra los 1000 valores de C lo cual hace imposible la seleccion.
> Tal vez ahora me explique un poco mejor. Please necesito una ayudita!

supongo que el ejemplo que expones es [o pretende ser] mas bien... 'ilustrativo' -?-
[y me parece que]... en tanto NO expongas -tambien- cual es la ubicacion de los datos de origen...
[hoja/rango y/o si se trata de datos 'externos'... probablemente]... podriamos empezar por intentar un 'acercamiento'...
[p.e.] revisando las siguientes conversaciones: -> http://tinyurl.com/gqu8z

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#5 Héctor Miguel
22/04/2006 - 03:43 | Informe spam
hola, 'anonimo/a' !

El caso que me muestras en el link es lo mismo que me sucede a mi
Yo pretendo realizar la opcion 2 es decir la de utilizar la formula y la macro.
Lo estoy intentando pero no consigo entender la formula. Para mi no tiene sentido: =o($h$3="(Todas)",$h$3¢)
Podrias explicarme un poco a que viene?.
Si tienes... ese ejemplo desarrollado te agradeceria que me enviases... a mi email para poder estudiarlo [...]



1) si partimos de tu consulta original...
... tabla dinamica con tres campos en... Pagina y varios... en... fila y datos.
Los campos son: Empresa, Cuenta de cotizacion y Centros de trabajo.



2) y le agregamos [del mensaje anterior] que...
supongo que el ejemplo que expones es [o pretende ser] mas bien... 'ilustrativo' -?-
[y me parece que]... en tanto NO expongas -tambien- cual es la ubicacion de los datos de origen...
[hoja/rango y/o si se trata de datos 'externos'...]...





3) podemos intentar con otro [tipo de] 'acercamiento' si copias/pegas el ejemplo al final del presente...
-> en el modulo de codigo de 'la hoja' donde esta la tabla dinamica
[te comento que estoy suponiendo que los datos 'de origen' de la TD... pudieran estar en otra hoja] -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Dim FLR As String, Origen As String, Hoja As String, Rango As String, Sig As Byte, _
Busca, Compara, Campo As PivotItem
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False: Application.EnableEvents = False: On Error GoTo Salida
FLR = Application.International(xlUpperCaseRowLetter): ReDim Busca(3): ReDim Compara(3)
With Me.PivotTables(1): Origen = .PivotCache.SourceData
If InStr(Origen, "]") > 0 Then Origen = Mid(Origen, InStr(Origen, "]") + 1)
Hoja = IIf(InStr(Origen, "!") > 0, Left(Origen, InStr(Origen, "!") - 1), Parent.Name)
Rango = Application.ConvertFormula( _
Application.Substitute(Mid(Origen, InStr(Origen, "!") + 1), FLR, "R"), xlR1C1, xlA1)
With Worksheets(Hoja).Range(Rango)
Rango = .Offset(1).Resize(.Rows.Count - 1).Address: End With
For Sig = 0 To 2: Compara(Sig) = .PageFields(Sig + 1).CurrentPage.Name
With Worksheets(Hoja).Range(Rango).Resize(, 1)
Busca(Sig) = "'" & Hoja & "'!" & .Offset(, Sig).Address: End With
For Each Campo In .PageFields(Sig + 1).PivotItems
Select Case Sig
Case 1
If Compara(0) <> "(All)" Then
Campo.Visible = Evaluate("sumproduct(--(" & _
Busca(0) & "=""" & Compara(0) & """),--(" & _
Busca(1) & "=""" & Campo.Name & """))>0")
Else: Campo.Visible = True
End If
Case 2
If Compara(0) <> "(All)" Then
If Compara(1) <> "(All)" Then
Campo.Visible = Evaluate("sumproduct(--(" & _
Busca(0) & "=""" & Compara(0) & """),--(" & _
Busca(1) & "=""" & Compara(1) & """),--(" & _
Busca(2) & "=""" & Campo.Name & """))>0")
Else: Campo.Visible = Evaluate("sumproduct(--(" & _
Busca(0) & "=""" & Compara(0) & """),--(" & _
Busca(2) & "=""" & Campo.Name & """))>0")
End If
Else: Campo.Visible = True
End If
End Select: Next: Next: End With
Salida:
Application.EnableEvents = True
End Sub
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida