Saltar al contenido

Filtros en Tabla Dinámica


Isildur_1

Recommended Posts

publicado

Estimados, tengo una duda a ver si me pueden dar una ayuda.

Es simple y concisa. Cuando uno hace doble click en los valores de una tabla dinámica se abre una nueva hoja con el detalle de esos datos. Es decir, se abre la hoja de la tabla base pero solo con las filas que componen esa celda de la tabla dinámica.

Mi pregunta es: Hay alguna manera de filtrar las columnas de forma que al hacer doble click sobre la tabla dinámica solo se vean algunas columnas de la tabla base y no todas?

Esto es porque yo tengo una tabla base que tiene 30 columnas y cuando hago la tabla dinàmica solo me interesa que se vean 3 o 4 columna al abrir el detalle.

Bueno, era eso? Si alguno sabe si es o no posible le agradezco mucho!

publicado

hola Isildur

Sobre el título de tu consulta:

 La elaboración de un título debe ser clara y debe abarcar en lo posible, el tema de tu consulta.

lo cambiaré..  

saludos,

Silvia

 

publicado

Sobre tu consulta,  no estoy muy segura, pero me parece que no es posible, sin embargo tengo una opción con Power Query, que acabo de probar, te interesa?

publicado

ok,

Para ordenar las ideas, tienes tu Tabla BASE (creada en la ficha INSERTAR/TABLA)

Y la tabla Dinámica de tu Base, no es así?,  ve haciendo una pequeña prueba mientras te voy indicando los pasos...

Para que te vayas haciendo una idea, con Power Q, crearemos otra Tabla, quitando las columnas que No necesites. 

Tendrás 2 Tablas (la que tenías y la de PQ)  y 2 Tablas dinámicas, la que tenias y la de PQ, si no te sirve la  TD que tenías, la puedes eliminar.

Cuando agregues datos, debes hacerlo en tu Tabla Base Original, y luego desde la FICHA DATOS, Actualizar Todo..

de esta forma se actualiza la Tabla PQ y la TD PQ.

 

Vamos bien?

 

publicado

Ok, entiendo, entonces para agregar datos lo hago sobre la tabla original y solo se replica en la tabla de PQ? Esa es la ùnica duda, el resto entendí bien.

publicado

1.  Ubicado en alguna parte de  tuTabla BASE, ve a la ficha DATOS y busca NUEVA CONSULTA/ Desde una Tabla.

     En ese Momento se abrirá POWER QUERY.

2. Ahí lo único que tienes que hacer es ubicarte en las columnas que no necesites y ELIMINARLAS.

(Te ubicas en el Título , Seleccionas la columna y das Click derecho, ahí ejecuta QUITAR.

Debes repetir la operación,  en cada una de las columnas que NO necesites...

3. Una ves que termines, Ejecutas desde la esquina izquierda, CERRAR Y CARGAR.

se creará la tabla PQ. 

Desde esa tabla PQ creas tu nueva Tabla dinámica PQ  y ahí, cada vez que quieras ver el detalle, solo verás el de las columnas que dejaste...

Listo!

es fácil...

 

publicado
Hace 16 minutos , Isildur_1 dijo:

Ok, entiendo, entonces para agregar datos lo hago sobre la tabla original y solo se replica en la tabla de PQ? Esa es la ùnica duda, el resto entendí bien.

Exacto..

para que veas los datos actualizado, no debes olvidar dar ACTUALIZAR TODO, desde la ficha DATOS.  o buscar un colaborador de MACROS, para que la actualice automáticamente cada vez que realices un cambio en tu tabla ORIGINAL.

 

 

publicado

Si por casualidad quitas una columna que no debiste quitar,  verás que a la derecha aparecen PASOS APLICADOS, para eliminar el paso, debes dar click en el paso.. y se repondrá a como estaba al inicio...

 

publicado
Hace 17 minutos , Silvia dijo:

1.  Ubicado en alguna parte de  tuTabla BASE, ve a la ficha DATOS y busca NUEVA CONSULTA/ Desde una Tabla.

     En ese Momento se abrirá POWER QUERY.

2. Ahí lo único que tienes que hacer es ubicarte en las columnas que no necesites y ELIMINARLAS.

(Te ubicas en el Título , Seleccionas la columna y das Click derecho, ahí ejecuta QUITAR.

Debes repetir la operación,  en cada una de las columnas que NO necesites...

3. Una ves que termines, Ejecutas desde la esquina izquierda, CERRAR Y CARGAR.

se creará la tabla PQ. 

Desde esa tabla PQ creas tu nueva Tabla dinámica PQ  y ahí, cada vez que quieras ver el detalle, solo verás el de las columnas que dejaste...

Listo!

es fácil...

 

Cuando hago el paso uno se abre PQ y me dice "No se encuentrò una tabla de Excel denominada Hoja1!_FilterDatabase"

publicado

Cierra desde la X de la esquina derecha  sin guardar nada.

Primero verifica los datos de tu libro, debes tener una tabla con tus datos Base.. 

si no la tienes, créala desde la ficha INSERTAR / TABLA

JfPcHt2.png

 

 

 

publicado

Una vez tengas la TABLA, ubicado en ella, te vas a la ficha DATOS y en Nueva Consulta, ejecuta DESDE UNA TABLA.

 

publicado
Hace 16 minutos , Silvia dijo:

Una vez tengas la TABLA, ubicado en ella, te vas a la ficha DATOS y en Nueva Consulta, ejecuta DESDE UNA TABLA.

 

He logrado cerrar y cargar pero si bien sale una tabla con los datos correctos me da el error ""Error de inicializacion del origen de datos" y no me deja actualizar dicha tabla ya que me da el mismo error.

publicado

una pregunta, hiciste todo eso en un libro de prueba?

puedes volver a probar desde otro libro de prueba, haciendo todos los pasos?

en mis pruebas a mi no me ha dado ningún error, tal vez sea por el error que salió al inicio... no se..

:(

publicado
Hace 1 hora, Silvia dijo:

ohhhhh y ahora, QUIEN PODRÁ DEFENDERNOS?!!!!

:wacko:

Putin!!!!:D

 

@Isildur_1 también puedes probar una macro

Una vez que hayas creado el detalle, presiona las teclas Ctrl+m y Excel se encargara de eliminar las columnas que deseas

Te adjunto archivo de ejemplo según lo propuesto por Silvia... al código de la macro, lo que debes modificar son solo las columnas a eliminar

Ya nos comentaras algo ok!

 

Saludos

Eliminar columnas de Tabla_GP.rar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.