Carga Incremental de Dimensiones usando SSIS Lookup - Curso DW + BI

  Рет қаралды 21,728

Business Intelligence LATAM

Business Intelligence LATAM

Күн бұрын

Пікірлер
@BILATAM
@BILATAM 5 жыл бұрын
No olviden dejar un like y comenten que más quieren para los nuevos videos. Y claro sus dudas y comentarios.
@DavidRodriguez-fm2nb
@DavidRodriguez-fm2nb 12 күн бұрын
Hola, excelentes videos me han ayudado demasiado!. Te tengo una consulta de una situación que me esta haciendo que se me caiga el pelo jeje. Como hago el lookup como el video pero de una tabla que esta ella de dos por un merge. Por ejemplo: Tengo una tabla de propiedad donde tiene la columna de canton y detalle. Esas columnas las uní con otra que es de provincia (el cual tiene las diferentes provincia de cada país). Hasta ahi todo bien. Sin embargo, cuando cargo datos primera vez funciona pero cuando realizó una modificación todos los datos se duplican muchas veces. Por lo que intente hacer la relación de lookup en la opción de column relacionando la llave de negocio + canton + provincia + detalle. Funciono para que no me duplicara muchas veces una misma fila pero al modificar me genera una nueva fila en vez de modificarla. Sabes como solucionar eso. PD: Las columnas de canton y detalle de la tabla propiedad son columnas donde se encuentra los datos que van a hacer futuros para la tabla de hechos.
@jperezts
@jperezts 5 жыл бұрын
Eres una de las pocas personas que hacen este tipo de vídeo, usualmente las cosas se van más del lado de programación, pls no nos dejes solos!!
@BILATAM
@BILATAM 5 жыл бұрын
Vamos a seguir con este tipo de videos hasta que tenga fuerzas. De verdad me apasiona mucho el Business Inteligence y vienen cosas nuevas al canal!!
5 жыл бұрын
Un vídeo de estándares y buenas prácticas. Sería genial ambos temas en el canal. Saludos.
@BILATAM
@BILATAM 5 жыл бұрын
Vamos a trabajar en el entonces!
@ivanachucoff2199
@ivanachucoff2199 4 жыл бұрын
Muchas gracias por tú tiempo y la pasión que le ponés a tus videos! Disfruto mucho escuchándote y aprendiendo. Soy nueva en este mundo y tu canal me super sirvió. Un saludo desde Argentina! Gracias de nuevo!
@BILATAM
@BILATAM 4 жыл бұрын
Gracias por tomarse el tiempo para comentar, de verdad me alegra mucho poder ayudar y saber que lo que hago le hace bien a la comunidad. Gracias Ivana, un abrazo.
@ALODV87
@ALODV87 3 жыл бұрын
Excelente toda esta serie de DW+BI, estoy empezando en esto y ya tengo lo necesario para ir traveseando un poco, pura vida mae por tomarse el tiempo, ojalá puedas seguir con estos vídeos, bendiciones!!
@LuisitoDTS
@LuisitoDTS Жыл бұрын
Muchas gracias por tus enseñanzas he aprendido bastante gracias a ti que Dios te bendiga
@ppladino
@ppladino 3 жыл бұрын
Excelente video señor Oviedo, muy clara la explicación
@andressoto6912
@andressoto6912 5 жыл бұрын
Muchas Gracias Cesar, hoy lo puse en practica en mi trabajo y me salió de maravilla, solo le tuve que agregar un converter porque mi origen es oracle y mi destino sql server, pero nada del otro mundo. Muchas Gracias
@BILATAM
@BILATAM 5 жыл бұрын
Genial! De verdad me gista mucho saber que el canal esta ayudando. Graciad por seguir el canal y vamos con todo!!!
@salomonlondono8753
@salomonlondono8753 3 жыл бұрын
Excelente video, felicitaciones, me ayudó muchisimo
@BILATAM
@BILATAM 3 жыл бұрын
Que bueno ser de ayuda. Saludos Salomón.
@ersotocochon
@ersotocochon 4 жыл бұрын
Nuchas Gracias , excelente tutorial , claro y conciso.
@elizabetarojas7105
@elizabetarojas7105 5 жыл бұрын
Muy importante lo que haces, porque la mayoría de los videos son superficiales, pero es muy bueno ver casos reales y problemas que pueden ocurrir a la hora de hacer un poryecto. Me gustaría saber según tu experiencia cuales son los problemas fundamentales a la hora de realizar los ETL, sobre todo a la hora de la carga y la transformación de datos. Gracias por tu aporte.
@BILATAM
@BILATAM 5 жыл бұрын
Muchas gracias Elizabeta, siempre la idea del canal ha sido crear tutoriales y cursos bien prácticos de DW, ahora sobre lo que plantea de problemas comunes a la hora del ETL me suena a hacer un video sobre ello, así que esté atenta al contenido. Gracias.
@juanca192007
@juanca192007 Жыл бұрын
excelente video!!
@Floopa_dios
@Floopa_dios 3 жыл бұрын
excelente, gracias por compartir tu conocimiento
@tatianamarcelausugaarboled1960
@tatianamarcelausugaarboled1960 3 жыл бұрын
Super chévere el curso, muchas gracias, me sirvió un montón! Desearía que hagas una parte con Analysis Servers y terminar el proceso con azure porque explicas muy bien! y yo soy nueva en todos los temas de BI. Ver vídeos de ésta calidad son difíciles en KZbin, pero sé que todo lo he entendido porque cuando me evalúan estoy en lo correcto gracias a sus términos , practicas y la documentación de Microsoft jajaja. Me encantaría saber más sobre el tema y ya me suscribí. Saludos desde Colombia. :D
@vitalivs7249
@vitalivs7249 4 жыл бұрын
Gracias, me ha servido mucho tu vídeo. Buen trabajo.
@BILATAM
@BILATAM 4 жыл бұрын
Mil gracias!!! De verdad es un placer ayudar
@harryferrera6207
@harryferrera6207 4 жыл бұрын
Muy bien video. Tengo dos preguntas y una sugerencia. 1 Se podrían tambien contemplar los deleted? 2 Incremental loading aplicando lookup funciona con tablas grandes, por ejemplo por encima de 10 millones de registros? 3 Me gustaría ver un video de incremental loading aplicando change tracking. Muchas gracias por tus aportes.
@dariom5073
@dariom5073 3 жыл бұрын
gracias!! Lo estuve probando tambien con la funcion Hashbytes para acelerar la busqueda de diferencias en datos existentes
@javiercustodioore778
@javiercustodioore778 4 жыл бұрын
buen video maestro
@BILATAM
@BILATAM 4 жыл бұрын
Gracias Javier.
@guillermoricardospindolabr7781
@guillermoricardospindolabr7781 5 жыл бұрын
Es magnifico este video, yo realice un ejercicio similar, pero en vez de Ignorar el error , coloque la opción de Redirigir filas a resultados no coincidentes. De esta manera cuando no existen los registros en la dimensión los inserta, de lo contrarios los manda a los existentes y de ahí con una condición le pregunto que si alguno de los registros cambio su valor lo actualice.
@evett16
@evett16 4 жыл бұрын
Hola Guillermo, disuclpa puedo saber que condicion utilizas para saber si un registro cambio? Y en donde pones la condicion? Disculpa soy muy nueva en esto y estoy aprendiendo. Gracias
@elmarlopez3020
@elmarlopez3020 4 жыл бұрын
Excelente, gracias me ayudo mucho. Saludos y Felicitaciones
@BILATAM
@BILATAM 4 жыл бұрын
Gracias Elmar!
@jonattanandrezblancobaron9074
@jonattanandrezblancobaron9074 5 жыл бұрын
Excelente explicación, funciono perfecto, muchas gracias.
@BILATAM
@BILATAM 5 жыл бұрын
Gracias Jonathan! Me alegra que le funcione, y a seguir con más.
@cbertolez
@cbertolez 3 жыл бұрын
buen video!
@BILATAM
@BILATAM Жыл бұрын
Gracias! Saludos
@armandomendoza8630
@armandomendoza8630 3 жыл бұрын
Excelente forma de explicar, gracias :D
@ulisescruzgonzalez2677
@ulisescruzgonzalez2677 4 жыл бұрын
muy buen video , muchas gracias
@rodrigosalazarperez8217
@rodrigosalazarperez8217 5 жыл бұрын
Muy buen vídeo, todo muy claro!
@BILATAM
@BILATAM 5 жыл бұрын
Gracias Rodrigo
@luislluen531
@luislluen531 5 жыл бұрын
Muy interesante, y buena explicación!!
@BILATAM
@BILATAM 5 жыл бұрын
Gracias Luis. Espero que le sea de ayuda en sus próximos proyectos de Data Warehouse.
@luislluen531
@luislluen531 5 жыл бұрын
@@BILATAM Deberías hacer un video de los stageng y mejores practicas para esta BD, tengo un excel de documentación de las tablas para creación de un DW, si me indicas un correo te lo puedo proporcionar. Slds
@luislluen531
@luislluen531 5 жыл бұрын
@@BILATAM Pregunta, cuando yo creo la tabla DimProducto, la columna ProductoID que es autoincremental, debe ser Primary Key? Si es correcto, quiere decir que todas las dimensiones debe tener un primary key autoincremental, al igual que el la tabla Fact?. Gracias
@HANRRRRRROUS
@HANRRRRRROUS 4 жыл бұрын
Bro, que buen video, me ayudo mucho. Gracias !!!
@BILATAM
@BILATAM 4 жыл бұрын
Gracias Haroun
@laflopy23
@laflopy23 5 жыл бұрын
Me encanto mil graciasssssssssssssssss
@elen247
@elen247 5 жыл бұрын
Muy bueb video, seria importante tener un video para tecnicas de carga incremental para tablas de hechos
@orlandoflorida6079
@orlandoflorida6079 5 жыл бұрын
Hola, de antemano muchas gracias por el esfuerso de transmitir su conocimiento, es muy valioso. Tengo la siguiente pregunta, en el Conditional Split en la parte de modificar hay un error cuando en un campo se compara algun dato que venda nulo ¿Cual es la manera de corregir esto? Gracias
@jehissonjavierbellobernal3014
@jehissonjavierbellobernal3014 2 жыл бұрын
Buen día amigo, un favor gigante estoy adentrándome en el mundo de las ETL con visual studio y debo hacer una etl que me lea los registros origen (SQL) y actualice los registros que sufrieron alguna actualización en el Destino (ODBC) , agradezco si me ayudas con una guía o como debo investigar para resolverlo. Muchas gracias.
@junioracunamorante
@junioracunamorante 4 жыл бұрын
EXCELENTE VIDEO, una consulta es recomendable usar la TAREA EJECUTAR SQL Y DENTRO DE ELLO USAR TRANSACT CON MERGE INTO PARA HACER CARGAS INCREMENTAL, GRACIAS ANTEMANO
@antoniyc138
@antoniyc138 4 жыл бұрын
Buenas, que tanto recomiendas usar la tarea de control cdc para hacer la carga incremental, y si has tenido alguna experiencia buena/mala con este task en producción . Gracias.Saludos.
@oscaralfaro2456
@oscaralfaro2456 4 жыл бұрын
Cesar tengo un clavo cuando ejecuto el proyecto si la tabla dimProducto ya tiene los registros me da un error el la division condicional y me envia que el modificar no se puede ejecutar pero en la condicion esta bien no me da error donde el origen de los datos los compara con los de busqueda
@adolfogorjon9989
@adolfogorjon9989 2 жыл бұрын
Muy buen video, me sirvio bastante la parte de Agregar los registros nuevo, lo que no entiendo es el por que el ISNULL, osea si el ID es nulo osea vacio los inserta pero no me queda claro en como hace la comparativa entre el id del origen y el del lookup :(
@mariovargascareaga
@mariovargascareaga Жыл бұрын
hace una comparacion de origen - destino , si el id de origen isnull en destino es decir si no esta presente , pues lo inserta , para eso usa el lookup para buscar y comparar los id entre ambas tablas
@rhadimerantigua7891
@rhadimerantigua7891 9 ай бұрын
Excelente video, tengo el siguiente escenario, necesito hacer una carga incremental, de una vista pero en la vista no tengo una llave de negocio, no tengo un valor único. Como se haría en ese caso?
@gustavoleal3397
@gustavoleal3397 4 жыл бұрын
En la parte del "Conditional Split" (o antes) ¿no habria una forma de concatenar source y lookup para luego validar esa concatenación o usar un campo calculado de CHECKSUM?
@BILATAM
@BILATAM 4 жыл бұрын
Si correcto, de hecho una forma bastante común de optimizar esta carga es por medio del checksum. Sin embargo al ser este video introductorio al SSIS pues no lo vi como lo mejor para alguien que ir está empezando.
@oscaralfaro2456
@oscaralfaro2456 4 жыл бұрын
Una pregunta pero eso solo para una DimProducto si quisieras agregar mas Dimensiones y llenar la tabla de hechos tendrias que hacer separado todo?
@BILATAM
@BILATAM 4 жыл бұрын
Correcto, cada proceso de carga se debe hacer por separado. Ese es un error común, por pereza de hacer más paquetes de SSIS intentan llenarlos de todo. En lo personal yo creo un paquete por tabla que cargo al stage y un paquete por Dimensión, es decir terminó creando fácilmente más de 50-100 SSIS por proyecto.
@BILATAM
@BILATAM 4 жыл бұрын
Se busca que cada paquete de SSIS sea “atómico” es decir que cumpla una única responsabilidad
@oscaralfaro2456
@oscaralfaro2456 4 жыл бұрын
@@BILATAM gracias porque me has sacado de otra duda yo estaba equivocado entonces yo he estado practicando que en el mismo paquete hacia todo. Otra duda que tengo cuando estas llenando las dimensiones o hechos a traves del ETL como hacer para que no te pase los mismos cada ves que ejecutas ya que si tenemos una tabla con millones de registros tardara mucho en pasar lo mismo y talves en la oltp solo se agregaron 20 registros nuevos. He estado probando con consultas por ejemplo ver el max idproducto y que solo me pase los que sean mayores al max encontrado cuando ejcute la.prinera carga
@BILATAM
@BILATAM 4 жыл бұрын
Un gusto Oscar. Y gracias por seguir el canal! Un abrazo
@oscaralfaro2456
@oscaralfaro2456 4 жыл бұрын
@@BILATAM ahi esperando a que subas nuevos tutoriales ya que ayudan un monton ya son las 1 de la mañana en mi pais y yo viendo aun los videos porque no me queria salir el de modificar pero ya
@JeanZelada
@JeanZelada 5 жыл бұрын
El ejemplo aplica muy bien para una cantidad de registros limitada, para volúmenes grandes de datos un lookup y un update serían demasiado costoso en tiempo y recursos. Sería más óptimo el uso de tablas temporales o hash
@BILATAM
@BILATAM 5 жыл бұрын
Correcto, dependiendo del volumen el SSIS inclusive se queda corto. Más que de acuerdo, voy ha hacer una segunda parte con Hash y alguna otra estrategia de carga para ejemplificar mejor otros escenarios.
5 жыл бұрын
Para grandes cantidades de data sí sería pesado, pero recuerde que esto es para cargar una dimensión, la cual normalmente no llegan a crecer demasiado, entonces este método es eficaz y eficiente para la mayoría de las dimensiones de tamaño regular mediano o pequeño.
@emperador2896
@emperador2896 5 жыл бұрын
@@BILATAM espero con ansias ese video
@rennyvalera9124
@rennyvalera9124 4 жыл бұрын
tu vídeo me fue de mucha ayuda sin embargo hay una excepción que necesito manejar en caso de una interrupción forzada durante el proceso de inserción y no tengo un indice durante dicha inserción ya que el origen es un flat file source que luego paso por un script y obtengo los datos para luego insertarlos en su respectiva tabla, algúna idea de como podría sortear ese evento borde en el que se apague el servidor durante la inserción??
@rennyvalera9124
@rennyvalera9124 4 жыл бұрын
de antemano muchas gracias @Business Intelligence LATAM
@BILATAM
@BILATAM 4 жыл бұрын
En el caso de interrumpir el proceso se requiere usar “transaction option” = required. Para agregar transacciones al ETL. Sin embargo lo normal, en procesos de ETL para Data Warehouse que el mismo ETL maneja cómo continuar el proceso a partir de donde falló o incrementalmente.
@rennyvalera9124
@rennyvalera9124 4 жыл бұрын
@@BILATAM Esto tambien funciono muchas gracias, tendrás un tutorial de como configurar correctamente el script task (transformation) con multiples salidas, necesito dividir las columnas que salen de ese script task para insertar dos tablas distintas dentro de la misma base de datos pero si lo hago con el muticast da un error de conexión a base de datos.
@oscaralfaro2456
@oscaralfaro2456 4 жыл бұрын
Cesar una consulta queremos hacer na arquitectura de business inteligence a una farmacia de medicamentos como podriamos implementarla
@BILATAM
@BILATAM 4 жыл бұрын
En realidad es una pregunta muy general, pero si recomendaría que inicien pensando bien la arquitectura y que no la inventen. Cuando se inicia es muy común hacer “mi versión de BI”. Y a la larga les queda corta de alcance.
@andresjscp
@andresjscp 3 жыл бұрын
Hay alguna posibilidad que el destino sea postgreesql.....tengo un cliente que no usa sql server .....
@BILATAM
@BILATAM 3 жыл бұрын
Si, siempre y cuando tenga el provider instalado tanto en la maquina de desarrollo como en el servidor de producción
@andresjscp
@andresjscp 3 жыл бұрын
@@BILATAM En cuando al provider instaldo te refieres Componente de flujo para postgree??.. Seria interesante sincronización de tablas con herramientas SSIS ya que se usa dos bases de datos diferentes Mysql y postgreesql ... Y tambien hablar de Data Lake solo si es posible...
@cristiaan3003
@cristiaan3003 4 жыл бұрын
Hola. Muy bueno vídeos. Te quería pedir si puedes agregar vídeos de esta temática del ETL y DW, pero creando un mini proyecto desde cero hasta el datamart y su actualización como si estuviera en producción . Por ejemplo que se reciban datos exportados desde un sistema transaccional a un MS SQL en varias tablas (todos los días 3 a.m.) de una db deposito, el pasaje al staging área (que puede ser la database: DBstaging) donde estan staging de dimensiones o facts, pasar los datos de las tablas staging a las tablas dimensionales y fact definitivas ( que pueden estar en otra database, DWbase) y por ultimo la planificación de todas estas tareas en Jobs de mssql para que todos los dias mssql ejecute los packages y procedimientos almacenados del staging y cargue las dimensiones y facts.
@nicoleangulo1644
@nicoleangulo1644 4 жыл бұрын
Hola César, éste es tu último video del curo DW+BI?
@BILATAM
@BILATAM 4 жыл бұрын
Es que no he tenido tiempo :( pero no en teoría seguimos. Lo siento por cortar el curso así, tengo que retomarlo pronto
@nicoleangulo1644
@nicoleangulo1644 4 жыл бұрын
Siii, retomalo por favor, está muy bueno... Y me quedé intrigada
@davidyupanquidiaz5007
@davidyupanquidiaz5007 3 жыл бұрын
el update no hace lenta la transaccion ?
@BILATAM
@BILATAM 3 жыл бұрын
Claro que si. Eso es parte de las problemáticas que hay que manejar. Por esto mismo muchas estrategias de carga solo insertan en lugar de modificar. Todo depende de la estrategia de carga.
@nietoroger
@nietoroger 5 жыл бұрын
Hola, gracias por el ejemplo... pero por qué no usaste mejor un slow update dimensions?
@BILATAM
@BILATAM 5 жыл бұрын
Yo en los proyectos o tablas "pequeños" si uso el Slowly Changing Dimension. Pero siempre es muy discutible el rendimiento de este componente. En el video usé una opción que da mejor rendimiento que el componente SCD.
@diegoguerra7983
@diegoguerra7983 5 жыл бұрын
@@BILATAM es correcto, al usar Slowly Changing Dimension para cargar tablas(Dimensiones) con columnas de tipo atributo variable demora mucho mas que hacerlo con un Lookup. Se recomienda usarlo para tablas que no suelen actualizar sus campos frecuentemente. P. D.: Excelente vídeo amigo!
@karendn20
@karendn20 Жыл бұрын
Excelente video. Pero en mi caso no me funciona xq el source el cuál no es local tiene 2millones de records y el componente "database source" sólo lee 475mil records y luego falla con el siguiente error: "[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on ODBC Denodo Workers FULL Source returned error code 0x80004005. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing." Sabes a que se debe? e investigado todo el día y no he podido solucionarlo. Saludos desde Costa Rica ☺
@BILATAM
@BILATAM Жыл бұрын
Si la transformación es muy grande, lo recomendable es que se haga desde la BD, puede ser un Merge o un simple Insert y update. El SSIS no es tan bueno cuando se trata de volúmenes altos
@evett16
@evett16 4 жыл бұрын
Hola, me gustaria hacerte una pregunta, cual es el metodo mas rapido para hacer un delta load? He escuchado que utilizando hash el proceso es mas rapido. Me interesa para la carga de las tablas en un staging area. Y existe una tabla que tiene alrededor de 20 millones de registros. Asi que si podrias por favor hacer un video de como hacer el delta load con hash te estaria mas que agradecida. Aparte nose si se deberia hacer la carga por paquetes? aunque tampoco se como funciona? Crees que podrias hacer por favor un video de esoß perdon por mis faltas ortograficas, no tengo tilde. Saludos
@BILATAM
@BILATAM 4 жыл бұрын
Tengo que have un video sobre el tema... no es fácil explicarlo por mensajes. Este será el siguiente en la lista de los videos de Data Warehouse y ETL
@evett16
@evett16 4 жыл бұрын
@@BILATAM ,muchas gracias. Lo voy a estar esperando con ansias! Saludos cordiales :)
@rvgfox
@rvgfox 5 жыл бұрын
Muy interesante el vídeo Cesar, pero le veo varias pegas. En primer lugar, si la dimensión tiene muchos atributos, el lookup puede ser muy pesado y la comprobación de si los registros muy farragosa al tener que escribir mucho código en la expresión de comprobación. Yo suelo utilizar un componente free para generar un hash del registro y comparar el hash....
@BILATAM
@BILATAM 5 жыл бұрын
Correcto el utilizar un Hash es una muy buena idea. Voy a hacer una versión 2 del video con hash. Gracias Ramon, exactamente a eso me refería con que cada quien tiene sus formas de cargar las dimensiones.
@josedanielplasencia7678
@josedanielplasencia7678 4 жыл бұрын
Hola me puedo comunicar contigo para preguntarte algo sobre utilizar hash?
@tomassalas7790
@tomassalas7790 4 жыл бұрын
Alguna forma de comunicarse con ustedes ?
@BILATAM
@BILATAM 4 жыл бұрын
Escríbeme al Facebook de Business Intelligence LATAM, y por ahí nos hablamos!
@junioracunamorante
@junioracunamorante 4 жыл бұрын
Estimado, y que pasa con los que no hacen math , osea si en la tablaA no existe y en la tabla DWtablaA si existe , alli tendria que eliminar, falta esoo
@hafis3460
@hafis3460 4 жыл бұрын
falto para la tabla de hechos :c
@desarrolladorbi9108
@desarrolladorbi9108 3 жыл бұрын
excelente me fue de muchas ayuda gracias
Desnormalización Data Warehouse - Curso DW + BI
20:18
Business Intelligence LATAM
Рет қаралды 20 М.
Integration Services - Data Flow / Connections - Curso DW + BI
25:34
Business Intelligence LATAM
Рет қаралды 22 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
SSIS Merge, Join, Split, Data Convert - Curso DW + BI
28:06
Business Intelligence LATAM
Рет қаралды 12 М.
Integration Services - Foreach + Containers - Curso DW + BI
21:08
Business Intelligence LATAM
Рет қаралды 13 М.
Lookup transformation
14:17
Elena López
Рет қаралды 4,3 М.
🚀 Actualización Incremental En Power BI
23:14
Sandielly Ortega
Рет қаралды 40 М.
¡SQL AVANZADO! COMMON TABLE ESPRESSIONS
17:12
hdeleon.net
Рет қаралды 16 М.
Integration Services - Variables / Params - Curso DW + BI
13:28
Business Intelligence LATAM
Рет қаралды 17 М.
Intro Data Warehouse - Curso DW + BI
11:56
Business Intelligence LATAM
Рет қаралды 33 М.
Arquitectura Data Warehouse - Curso DW + BI
43:23
Business Intelligence LATAM
Рет қаралды 38 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН