Excel - PowerQuery actualizacion de datos solo lectura

 
Vista:
sin imagen de perfil

PowerQuery actualizacion de datos solo lectura

Publicado por Miguel (23 intervenciones) el 06/02/2024 22:24:31
Hola necesito su ayuda por favor para poder hacer lo siguiente:
-Tengo un reporte que se alimenta manual, ahora lo tengo con consulta PowerQuery que esta en un SharePoint, pero quiero que ese Archivo se pueda abrir solo lectura por varias personas al mismo tiempo y que se siga ejecutando la actualizacion del PowerQuery y no tenga conflictos de vinculos o conexiones, ya que ahora me sale el error de "no se a podido actualizar la consulta Power Query" ya que deseo este reporte automatizarlo para que

1.- Se actualice cada 15m a partir de las 7am hasta las 10pm y que a las 10pm se detenga la actualizacion
2.- Que se pueda actualizar solo por una persona que tenga la clave y los demas no se vean afectados mientras se tiene el reporte abierto.


espero me de a entender y me puedan ayudar, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

PowerQuery actualizacion de datos solo lectura

Publicado por Antoni Masana (2478 intervenciones) el 07/02/2024 12:20:48
El truco esta en este comando de VBA:

1
2
3
Application.OnTime TimeValue("07:00:00"), _
                   Procedure:="Actualizarreloj", _
                   Schedule:=True

En este ejemplo ejecuta la función Actualizarreloj a las 7 AM

1
2
3
Application.OnTime Now + TimeValue("00:15:00"), _
                Procedure:="Actualizarreloj", _
                Schedule:=True

En este ejemplo ejecuta la función Actualizarreloj pasados 15 minutos de la hora actual (Now)

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PowerQuery actualizacion de datos solo lectura

Publicado por Miguel (23 intervenciones) el 07/02/2024 14:58:37
Muchas gracias, consulta adicional, tengo 2 tablas y quiero que esas tablas se actualizen en horas especificas, por ejemplo:

Tabla 1 - 11am luego 11:30am luego 12pm (que comience a actualizar desde las 8am hasta las 10pm)
Tabla 2 - 8am luego 9am luego 10am (que comience a actualizar desde las 8am hasta las 10pm)


entiendo que el codigo que me indicas es para actualizar todas a partir de las 7am mi duda esta en, si el archivo se abre a las 9am, se actualiza igual cada 15minutos como indica la macro se tiene que abrir antes de las 7am para que se ejecute?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

PowerQuery actualizacion de datos solo lectura

Publicado por Antoni Masana (2478 intervenciones) el 08/02/2024 13:39:12
Cuando te conteste en el post anterior no me quise enrollar contando mis aventuras pero lo voy a hacer.

Sin entrar en detalles superfluos para la explicación diré que tenía un libro que debía ejecutar una macro a determinadas horas.
La solución fue poner una tabla con las horas y lo que tenía que hacer.

En la imagen puedes ver en la parte superior unas horas y debajo unas cuantas casillas marcadas.

Captura

La hora es el momento en el que tiene que ejecutar la macro y la parte inferior lo que tiene que hacer.

Ahora lo importante ¿Cómo funciona?

Cuando abres el libro busca cual es la siguiente hora a la que tiene que ejecutarse.
- Si se arranca a la 5 am programará la ejecución a las 6 am
- Si se arranca a la 7 am programará la ejecución a las 8 am

Cuando llegue a la hora programará busca cual es la siguiente hora para programarla y ejecuta la macro.

Este es el trozo de programa que prepara la siguiente hora de ejecución:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub Formulario()
    ...
 
    With Sheets("Configuración")
        .Cells(1, 5) = Time
        ActiveWorkbook.Save
 
        ' ---&--- Busca la columna de la hora
 
        Print #1, ""
        Colum = 6
        While .Cells(1, Colum + 1) <= .Cells(1, 5) And .Cells(1, Colum + 1) <> Empty
            Colum = Colum + 1
        Wend
        c_Colum = Mid$("ABCDEFGHIJKLMNOPQ", Colum, 1)
 
        ' ---&--- Hora nuevo refesco de pantalla
 
        If .Cells(1, Colum + 1) = Empty Then
            Print #1, "Cierra el programa. "
            Print #1, ""
            Close #1
 
            ActiveWorkbook.Save
            Application.Quit
        Else
            Print #1, "Nuevo Disparo: " & Format(.Cells(1, Colum + 1), "hh:mm:ss")
            Application.OnTime TimeValue(Format(.Cells(1, Colum + 1), "hh:mm:ss")), _
                               Procedure:="Formulario", _
                               Schedule:=True
        End If

Nota: graba en un fichero LOG las ejecuciones para saber que pasa si hay un fallo.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PowerQuery actualizacion de datos solo lectura

Publicado por Miguel (23 intervenciones) el 17/02/2024 14:57:32
Buenos días, estoy muy agradecido con todo el soporte que me brindas, adicionalmente espero me puedas ayudar, tengo la siguiente necesidad:

Tengo un archivo con Power Query donde uso la data para poder armar un cuadro de control por día, pero lo tengo en SharePoint para que puedan acceder otras personas dentro de mi organización pero sucede que como solo yo tengo acceso a la Base de Datos por ODBC o MySQL y quiero que ellos también vean en tiempo real como se van actualizando los datos, de este modo automatizo un reporte, por favor espero me puedas ayudar como siempre lo haces.

ejemplo:

hoja VISITAS
muestra valores según el día ( hoy() ) si lo gestionado del día de hoy se genera para hoy, mañana, pasado y demás métricas.

hoja DATA
tengo la consulta power query con MySQL donde tengo la persona que gestiona, la fecha cuando lo hace y si se gestiono para hoy mañana o pasado.


este archivo lo tengo en sharepoint, se puede hacer que se actualicen usando mis credenciales de MySQL o como podría hacer que jale los datos minuto a minuto desde mi archivo si en todo caso lo hago mediante vinculación de datos entre libros.


mcuhas gracisa nuemanete de antemano por tu gentil apoyo.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar