spizzo
¡Hola a todos!
Aquí un pequeño ejemplo de un disparador SQL para crear y actualizar una tabla con ciclo de recuperación en el servidor SQL:
/ * inizio ciclo principale * /
DECLARAR @AMBIENTE_max VARCHAR (50);
DECLARAR @IDCOMPANY_max VARCHAR (50);
DECLARAR @IDEMPLOY_max VARCHAR (50);
declare my_cursor_max cursor para seleccionar DISTINCT AMBIENTE, IDCOMPANY, IDEMPLOY del grupo ZSW_TMP_EMPLOY_1 por AMBIENTE, IDCOMPANY, IDEMPLOY;
abrir my_cursor_max;
BUSCAR SIGUIENTE DESDE MY_CURSOR_max EN @ AMBIENTE_max, @ IDCOMPANY_max, @ IDEMPLOY_max;
MIENTRAS @@ FETCH_STATUS = 0
COMENZAR
IMPRIMIR ‘Ambiente:’ + RTRIM (CAST (@ambiente_max as VARCHAR (50)))
PRINT ‘Azienda:’ + RTRIM (CAST (@idcompany_max as VARCHAR (50)))
PRINT ‘Dipendente:’ + RTRIM (CAST (@idemploy_max as VARCHAR (50)))
/ * ciclo interno per ogni singolo dipendente * /
DECLARAR @AMBIENTE VARCHAR (50);
DECLARAR @IDCOMPANY VARCHAR (50);
DECLARAR @IDEMPLOY VARCHAR (50);
DECLARE @DATA_INIZIO DATETIME;
DECLARE @DATA_FINE DATETIME;
DECLARE @PREV_DATA_INIZIO DATETIME;
SET @PREV_DATA_INIZIO = NULL;
declare my_cursor cursor para seleccionar DISTINCT AMBIENTE, IDCOMPANY, IDEMPLOY, DATA_INIZIO, DATA_FINE de ZSW_TMP_EMPLOY_1 donde AMBIENTE = @ AMBIENTE_max e IDCOMPANY = @ IDCOMPANY_max e IDEMPLOY = @ IDCOMPANY_max e IDEMPLOY = @ IDCOMPANY_max e IDEMPLOY = @ IDCOMPANY_max
abrir my_cursor;
BUSCAR SIGUIENTE DESDE MY_CURSOR EN @ AMBIENTE, @ IDCOMPANY, @ IDEMPLOY, @ DATA_INIZIO, @DATA_FINE;
MIENTRAS @@ FETCH_STATUS = 0
COMENZAR
IMPRIMIR ‘DATA INIZIO:’ + RTRIM (CAST (@DATA_INIZIO as VARCHAR (50)))
IMPRIMIR ‘DATOS PRECEDENTE INIZIO:’ + RTRIM (CAST (@PREV_DATA_INIZIO as VARCHAR (50)))
IMPRIMIR ‘DATOS FINOS:’ + RTRIM (CAST (@DATA_FINE as VARCHAR (50)))
ACTUALIZAR ZSW_TMP_EMPLOY_1 SET DATA_FINE = @ PREV_DATA_INIZIO DONDE AMBIENTE = RTRIM (@AMBIENTE) Y IDCOMPANY = RTRIM (@IDCOMPANY) Y IDEMPLOY = RTRIM (@IDEMPLOY) Y DATA_INIZIO = @ DATA_INIZIO
SET @PREV_DATA_INIZIO = CAST (@ DATA_INIZIO-1 COMO DATETIME);
BUSCAR SIGUIENTE DESDE MY_CURSOR EN @ AMBIENTE, @ IDCOMPANY, @ IDEMPLOY, @ DATA_INIZIO, @DATA_FINE;
FIN
CLOSE MY_CURSOR;
DEALLOCATE MY_CURSOR;
/ * ciclo interno fino * /
BUSCAR SIGUIENTE DESDE MY_CURSOR_max EN @ AMBIENTE_max, @ IDCOMPANY_max, @ IDEMPLOY_max;
FIN
CLOSE MY_CURSOR_max;
DEALLOCATE MY_CURSOR_max;
/ * ciclo principal fino * /
/ * aggiorno tutte le date di fine nulle con data fine = «2999-12-31» * /
ACTUALIZAR ZSW_TMP_EMPLOY_1 SET DATA_FINE = ‘29991231’ DONDE DATA_FINE ES NULL
¿Es posible en POWER BI crear un procedimiento similar?
Muchas gracias por su respuesta…
Greg_Deckler
Entonces, en Power BI, usa Power Query Editor o Service Content Packs para crear tablas y luego usa las capacidades de actualización programada del Servicio para actualizar esas tablas en un horario regular. No estoy del todo seguro de que responda a su pregunta o qué es exactamente lo que busca lograr.