[RESUELTO] Tabla de doble entrada convertir a Base de Datos

Discute sobre la aplicación de hojas de cálculo
Responder
AntonioSV
Mensajes: 34
Registrado: Vie Abr 22, 2016 12:09 pm
Ubicación: Huelva - España

[RESUELTO] Tabla de doble entrada convertir a Base de Datos

Mensaje por AntonioSV »

¡Hola compañeros!
En mi época de trabajo con Excel, podía, mediante tabla dinámica, pasar tablas de doble entrada (por ejemplo, aquellas que se usan para las vacaciones) a una base de datos para manejar y gestionar con más funcionalidad los días de vacaciones de los trabajadores y las coincidencias de los mismos.
En este enlace se puede ver la forma de hacerlo en Excel: http://www.excelavanzado.com/2011/06/co ... da-en.html
En calc no he conseguido hacerlo.
Pongo un ejemplo de tabla de doble entrada para pasar a base de datos.

Un saludo y gracias, de antemano, por las posibles soluciones.

Antonio Santos.
Adjuntos
Vacaciones.ods
(16.25 KiB) Descargado 174 veces
Última edición por AntonioSV el Mar Jul 25, 2017 11:03 am, editado 1 vez en total.
Windows XP
OPENOFFICE 3.1
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Tabla de doble entrada convertir a Base de Datos

Mensaje por mauricio »

Hola...

¿a que llamas "exactamente": tablas de doble entrada?

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Tabla de doble entrada convertir a Base de Datos

Mensaje por fornelasa »

Como que está claro pero al final parece que no :D
Por ejemplo:
En el video aparecen datos como L1, L2, L3, L4, L5 y L6 y en tu archivo solo aparece el dato V
¿Puedes mostrar un ejemplo hecho a mano de lo que deseas obtener?
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
AntonioSV
Mensajes: 34
Registrado: Vie Abr 22, 2016 12:09 pm
Ubicación: Huelva - España

Re: Tabla de doble entrada convertir a Base de Datos

Mensaje por AntonioSV »

Buenas a todos; perdonad que no haya contestado antes pero he estado de viaje.

Contesto a Mauricio y a Fornelasa con el archivo adjunto. Tiene dos hojas, una son los ejemplos de tablas de doble entrada y otra es donde va plasmado cómo me gustaría que se transformarse la tabla de vacaciones.

Saludos y muchísimas gracias.
Adjuntos
TablasDeDobleEntrada.ods
(19.25 KiB) Descargado 216 veces
Windows XP
OPENOFFICE 3.1
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Tabla de doble entrada convertir a Base de Datos

Mensaje por mauricio »

no respondiste mi pregunta... supongo que una tabla de doble entrada es la tabla de trabajadores-fechas que muestras, las conozco desde siempre... como tabla simplemente...

Supongo que un procedimiento similiar al video (que no he visto) se puede hacer en LibreOffice, pero es más divertido hacerlo con macros y trivial hacerlo con EasyMacro en Python:
https://forum.openoffice.org/es/forum/v ... 50&t=13062

La macro que he usado:

Código: Seleccionar todo

def test():
    app = LIBO()

    #~ Documento activo
    doc = app.doc

    #~ Región actual a partir de la celda A4
    origen = doc.active['A4'].current_region

    #~ Celdas destinos
    destino1 = doc.sheets['Resultado']['A1'].get_next_cell()

    #~ Obtenemos lista de trabajadores
    trabajadores = origen[1:,0]

    #~ Obtenemos lista de fechas y las transponemos
    fechas = tuple(zip(*origen[0,1:].data))

    for i, t in enumerate(trabajadores.data):
        #~ Vacaciones
        vacaciones = tuple(zip(*origen[i+1,1:].data))
        #~ Juntamos trabajadores, fechas y vacaciones
        data = [(t[0], f[0], v[0]) for f, v in zip(fechas, vacaciones)]
        #~ Las vaciamos en el destino
        destino1.data = data
        #~ Obtenemos el nuevo destino
        destino1 = destino1.get_next_cell()

    app.msgbox('Tabla terminada')
    return
Y el archivo con una ligera modificación para su mejor manejo:
transponer_datos.ods
(20.66 KiB) Descargado 216 veces
Por si te preguntas acerca de los números en vez de fechas, es solo cuestión de formato, pero esa... es tu tarea.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Tabla de doble entrada convertir a Base de Datos

Mensaje por fornelasa »

Parece que el archivo que envía AntonioSV está dañado.
Hasta donde se alcanza a ver (un mes, Julio) aquí otra opción con formulas complejas:

En caso de ..... hay que manipular las celdas de color azul.
Adjuntos
pasarBase (3).ods
Transponer
(81.07 KiB) Descargado 240 veces
Última edición por fornelasa el Mar Jul 25, 2017 5:44 pm, editado 1 vez en total.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
AntonioSV
Mensajes: 34
Registrado: Vie Abr 22, 2016 12:09 pm
Ubicación: Huelva - España

Re: Tabla de doble entrada convertir a Base de Datos

Mensaje por AntonioSV »

Muchas Gracias a todos por responder.
Estudiaré las propuestas que habéis enviado.

Un cordial saludo.
Windows XP
OPENOFFICE 3.1
Responder