9:39
2024-05-29 10:14:10
4:49
2024-05-29 10:29:56
5:42
2024-05-29 10:36:28
2:45
2024-05-29 10:43:46
1:00:16
2024-05-29 10:48:22
3:26
2024-05-29 12:18:04
5:22
2024-05-29 12:24:11
1:43
2024-05-29 12:33:10
55:30
2024-05-29 12:36:17
47:02
2024-05-29 14:57:58
2:18:28
2024-05-30 09:31:42
32:39
2024-05-30 13:09:57
24:21
2024-05-30 15:06:50
18:09
2024-05-30 15:44:33
3:56:30
2024-05-31 09:51:34
4:23:53
2024-06-05 09:12:19
28:23
2024-06-06 10:52:48
12:29
2024-06-06 11:32:59
3:47
2024-06-06 11:48:14
1:36
2024-06-06 12:03:40
54:36
2024-06-06 12:09:30
1:24:03
2024-06-06 13:32:03
13:43
2024-06-06 15:42:24
18:06
2024-06-07 09:07:48
9:43
2024-06-07 09:33:41
2:49:27
2024-06-07 09:49:42
3:47
2024-06-11 09:19:48
5:51
2024-06-11 09:25:13
1:53
2024-06-11 10:21:33
7:58
2024-06-11 10:26:29
2:48
2024-06-11 13:27:27
43:31
2024-06-11 13:50:56
2:46:00
2024-06-12 09:14:49
20:20
2024-06-12 13:22:18
29:54
2024-06-12 15:00:28
WEBVTT--> de Q, un acceso directo, que está en el último, en la esquina superior derecha, le das doble --> clic, por favor, y deberíamos, entonces, subir el talent data quality. La interfaz --> es similar porque se basa en la interfaz de Clikset, por lo tanto, lo que vas a ver --> es diferente, son, digamos, algunas cosas del menú. Voy a decirle que no quiero --> ver más eso, listo, vamos a Skit. --> Bueno, el caso mío ya subió, el caso de Mauricio, hay que darle Skit, Mauricio, para --> que te cargue completamente. Bueno, empiezo a ver que se conectó --> Ana Lilia, también se conectó Julio. Por favor, ejecuten el talent data quality, --> que es superior derecha, el que dice dos de Q, acceso directo. Recuerden que --> todo este software, perdón, este software, todo se va a ser compartido por ustedes, --> las presentaciones, todos los ejemplos, los recursos. Si desea, al final, pues --> sacamos una copia de seguridad de todos los ejercicios que hemos hecho y queda --> también con eso los ejercicios, por si acaso. --> Bueno, listo, podemos iniciar, entonces, para ir mostrándole teóricamente cómo --> está conformado, entonces, esta herramienta. --> Si todos ven mi pantalla, ¿verdad? Todos ven la batalla compartida mía, ¿cierto? --> Perfecto, muchas gracias por el feedback. Listo, entonces, note que --> pues gráficamente es muy parecido al menú, a la interfaz gráfica, lo que --> te da a cambiar, perdón, es el menú. Entonces, aquí en el repositorio es --> donde está el centro como tal de la herramienta. --> En este repositorio vas a encontrar lo siguiente. En primer lugar, cuando vas --> aquí donde dice data profiling, ya te había advertido en qué herramienta lo --> que hace es profiling. Por ende, que esta herramienta, la versión, digamos, --> Open Studio, me permite solamente encontrar anomalías. Si tienes y vas a --> hacer limpieza o curación de la anomalía, tendrías entonces que --> abrir el Talent Data Integration. Y no te preocupes si es encorroso si --> es el Talent Studio como el que tienes allá en la empresa, pues todos los --> componentes del Quality y el Data Integration lo vas a encontrar en la --> misma interfaz. O sea que ahí vas a poder hacer tanto el profiling como la --> curación o limpieza del dato. Listo, cuando expanda aquí el profiling, --> vas a encontrar entonces análisis. Esos son los análisis que vamos a --> hacer para encontrar una posible anomalía. Recuerda que esas --> anomalías para poder definirla y encontrarla, tienes que basarte en un --> estándar de calidad de datos de tu empresa. --> Quizás podías encontrar anomalías de inconsistencia, te entiendo, pero para --> que hagas un proceso más riguroso, partiendo el hecho en que es más para --> el ingeniero de datos, tienes que tener un documento de estándares que --> te lo hace normalmente el gobierno de datos para definir a qué llamamos --> calidad de datos en mi empresa. Segundo a un nombre que me parece --> que no está como que tan correcto, aquí dice librerías. Normalmente --> librerías uno lo, digamos que lo relaciona como con software que me va --> a permitir a mí agregarle funcionalidades como tal a algo, a --> librerías. Pero eso no es eso, expanda librerías por favor. --> Entonces te encuentra con diferentes elementos que vas a configurar. --> Primero, vas a encontrarte con lo que llaman indicadores. Ya te había --> dicho que tú te vas a basar en un estándar de calidad. Los indicadores es --> una medida cuantitativa para definir la calidad del dato, o --> una medida cuantitativa. Entonces yo puedo definir lo siguiente. --> Mira, para que para que los datos de mi empresa haya calidad de --> datos, mínimo el 20% de los datos tienen que asegurar que no haya nulos. --> Entonces tú lo defines como número, o sea una medida netamente cuantitativa. --> Vamos con los patrones. En los patrones lo que haces es que vas a verificar el --> formato de un dato. Si corresponde a un formato, por ejemplo, --> tú tienes por ejemplo el dato de el número de celular, el número de celular de la --> persona. Entonces el número de celular estaría compuesto por primero, más, segundo el número --> del país, tercero, los tres dígitos, abro comillas, del operador y lo demás --> el número tuyo. Entonces tú quieres definir que ese formato como tal se --> establezca y se cumpla. Entonces cuando tú quieres que un formato se cumpla lo --> que debería hacer es un patrón. En el caso de la herramienta te --> permite hacer dos tipos de patrones. Un patrón que viene de expresiones --> regulares y un patrón a nivel de SQL. Entonces vuelvo, repito, la herramienta va, --> es más técnica, por lo tanto va para un ingeniero de datos. Entonces se asume, --> o la herramienta asume, en que tú tienes conocimientos básicos a nivel de SQL y --> conocimientos básicos a nivel de programación en expresiones regulares. --> Con expresiones regulares te puedo una recomendación. Yo antes me --> desgastaba con estas expresiones regulares, definiéndolas y eso me gustaba mucho --> tiempo a nivel de producción. Me costaba a veces hacer una expresión regular que --> fuera eficiente, que sea entendible. Yo creo que hoy ya no estoy en ese plan --> de perderse tiempo. Yo prácticamente lo que estoy usando es SIA para esa --> parte. Es decir, le digo el contexto del caso y digo dame una expresión --> regular que me permita validar este formato. Y entonces eso es lo que estoy --> haciendo, me lo da, lo pruebo y listo. Pues yo creo que eso me --> mejora mucho la productividad porque ya no pierdo tanto tiempo en --> haciendo esas expresiones regulares. Pero bueno, si tú lo sabes y la querías --> aplicar, perfecto, ningún problema. La otra es haciendo un SQL y este SQL --> básicamente para los que ya tienen experiencia básicamente lo que va a --> hacer es una expresión de tipo like. Un like que like recordará que tiene --> varios operadores, varios modificadores que son el porcentaje, --> entonces es eso, es definir eso. Ahora viene la regla. --> Entonces los patrones son para que tú valides un formato y la regla es para --> que tú valides una condición. Entonces en esa condición tú puedes --> decir lo siguiente. Bueno, yo quiero validar en que la edad a partir de --> un cálculo que yo hago a la fecha de nacimiento para un cliente tiene que --> ser mayor a cero o mayor a 18 años por ejemplo. Entonces eso es una --> condición. Partiendo del hecho en que yo sé que la mayoría aquí tienen un --> perfil desarrollador, quizás empiezas a pensar pero yo --> podía validar una condición con un, por ejemplo, con un --> con un patrón y tú lo puedes hacer. Lo que pasa es que por recomendación y --> para que no haya confusión, lo que te dice la herramienta o como recomendación --> es que el patrón lo vayas a usar para definir el formato y las reglas para --> validar una condición, si se cumple o no se cumple. Por ejemplo, tú --> puedes decir, mira, yo quiero validar en que --> en que todos los datos cumplan la condición que sean verdadero, sean --> no puedo hacer con un regex o lo puedo hacer con una regla. Sí, claro, lo que --> quiero que entiendas es cuál es la idea de la herramienta. Al final tú --> te terminas adaptando y lo que viene aquí después viene es un metadata --> y este metadata corresponde a los metadatos que ya habíamos definido, --> metadatos hipotécticos, que habíamos definido ya la misma herramienta el --> talent data integration. Solamente hay una pequeña diferencia, que las --> metadatas acá son la cantidad de fuentes de datos o tipos de fuentes de --> datos ya son pocas comparadas con el talent data integration. Acá solamente va a --> tener dos fuentes, una que es bases de datos y una que es archivo CSV. --> ¿Por qué nada más esas dos fuentes? Bueno, aclaro que esto viene más de --> lo que dice la herramienta y estadísticamente creo que tiene --> razón. En primer lugar, pues normalmente tú analizas tus bases de --> datos, eso no hay un puente de discusión. La pregunta que pronto te --> sucedería a ti es ¿Por qué la herramienta no me permite JSON o me --> permite XML? Que son formatos bastante, digamos, bastante utilizados. --> Bueno, aquí vamos a lo siguiente. Hay una característica del CSV que lo --> hace, digamos, mejor candidato cuando tú quieres compartir grandes --> cantidades de datos. Por ejemplo, quieres compartir un backup de tu base de datos. --> Entonces, el mejor formato para hacer ese backup es CSV. ¿Por qué no haces de --> pronto o a nivel de plano? No hablamos de backup propios de cada motor. --> Digamos como un formato plan. Digamos que tú quieres entregarle los --> datos de los clientes a un software de recursos humanos para que haga algo. --> Entonces, el mejor formato, digamos, no le entregas un backup de la base de datos --> porque de pronto quizás no tenga el motor allá o se lo va a entregar un cliente diferente. --> Estamos hablando de formatos planos. Cuando digo plano es que tú puedas --> ver el contenido del dato como tal. Pero tú dices, bueno, ¿Pero por qué no lo pongo? --> Porque es CSV, porque es el mejor formato para esa para esa --> compartición. ¿Por qué? Primero porque es un formato bastante antiguo y --> muchos raro una aplicación hoy en día que no te lea un CSV o raro un --> software que no tenga una librería para leerte un CSV. --> Aparte de eso, el software tiene una característica que es la comprensión del --> dato. Lo que pasa es que hacer el backup sobre un CSV sale más pequeño que --> tirarlo sobre un JSON o un XML, porque recordarás que el JSON, por cada --> fila que yo tenga, me va a repetir los nombres de columnas, mientras que el --> CSV nada más tiene la columna en la parte de arriba y lo demás son puro --> datos a nivel de columnas o de filas, perdón, a nivel de filas. Entonces a nivel --> te sale mucho más recomendable y es el formato que se establece cuando tú vas a --> compartir datos de un punto A o punto B sin especificar tecnologías. Ya te --> digo ya porque el JSON y además que el JSON, el JSON, --> con JSON vas a ver algo que es una cuestión más filosófica y --> conceptual, que algunos dicen que el JSON no es un dato no estructurado. --> Hay más de conceptos, pero la ventaja que tienes con un CSV es que la estructura del --> CSV se conserva en todas las filas. O sea, tú sabes que si tienes cuatro --> columnas, sabes que todas las filas van a tener cuatro columnas y --> depende si están vacías o no. Pero en un JSON, tú no puedes garantizar que --> todas las filas del JSON tienen igual nombre de columna e igual número --> de columna. ¿Por qué? Porque tú puedes definir en cada fila lo que tú --> quieres, y eso es lo que es la estructura del JSON y la estructura del --> JSON. --> Listo, esto sería entonces con respecto a lo que es la herramienta. Ahora, la --> confesión de la herramienta, pues es muy poca. Lo máximo que puedes hacer --> aquí que sería interesante, lo demás es una cuestión netamente gráfica, --> pero la herramienta te permite, por ejemplo, --> básicamente, que puede ser interesante, que no lo veo mucho. Algo que se llama --> el analysis tuning o puesta a punto análisis. Esto lo que hace es que tú --> puedas configurar un máximo de memoria en el cual si la aplicación, cuando tú --> la ejecutas, sobrepasa el máximo de memoria, entonces en ese caso se --> detiene la aplicación. ¿Eso para qué sirve? Normalmente eso sirve cuando tú --> utilizas el talent data quality como marketplace, por ejemplo, en AWS, porque --> tú puedes comprar en AWS la suscripción de esta herramienta y sabrías que a --> nivel de cloud lo que más te cuesta es procesamiento y memoria. Entonces, --> quizás tú sube mucho memoria y te sube mucho la facturación y mejor --> detienes el proceso. Bueno, eso es lo que veo para qué puede servir. Lo --> otro ya son confesiones a nivel visuales que la vamos a ver a lo --> largo del curso. Entonces, no le veo como en el talent que podía ver la --> herramienta de talent. ¿Puedo cambiar el idioma? Ah, bueno, aquí puedo cambiar el idioma, perdón. --> Ya es una cuestión penétamente de algo muy común de herramientas de talent, --> pero que no pasa con las herramientas cloud. El cloud si no puedo --> cambiar nada más de tres idiomas. --> Listo. Entonces, vamos a lo siguiente. Entonces vamos a hacer nuestro primer --> análisis. Esto creo que todos estamos conectados. --> No sé si hasta el momento hay una pregunta o podemos iniciar. Todo esto fue --> teórico. Vamos a iniciar ahora sí la parte práctica con respecto a la --> herramienta. No sé si hay alguna pregunta o si quieres esperamos a --> alguno que todavía se conecte. No sé. --> Bueno, vamos. Bueno, vamos a iniciar. Muchísimas gracias por el firme. --> Listo, vamos a hacer lo siguiente. Entonces, lo primero es vamos a --> clasificar los análisis. Entonces, dentro de esta carpeta análisis vamos a --> crear un pequeño folder y en este folder pues puede identificar ya sea --> tu empresa o el proyecto en el que estés. En este caso, pues voy a colocar --> el nombre de su empresa. Aquí normalmente pues colocarás el nombre --> del proyecto de los análisis que van a hacer. En este caso, bueno, le --> coloqué Axel. --> Listo. Acto seguido, por favor. Vamos a hacer lo siguiente. Vamos a --> tener una carpeta por cada tipo de análisis que vamos a hacer. Entonces, voy --> a empezar con un análisis que se llama estructural. Por lo tanto, voy a crear --> una carpeta aquí y aquí voy a definir la palabra estructurales diciendo de --> que aquí voy a guardar todos los análisis estructurales que tengo de --> Axel. Entonces, creo que es una subcarpeta en Axel y me queda de esta forma. --> Ok, sí. --> No hay problema. Va a este análisis aquí y dale clic derecho, --> crea folder, por favor. En este caso usamos AXA o ahí técnicamente debías --> colocar el nombre del proyecto en que estés. --> Y dentro de AXA vamos a colocar todos los tipos de análisis que vamos a --> hacer para AXA o para el proyecto que tú quieras. En este caso vamos a --> empezar con uno que se llama estructurales. Entonces, por favor, te --> colocaría la carpeta de esta forma, AXA y una subcarpeta llamada de --> estructurales. Sí, exactamente. Normalmente, pues ahí colocarías en --> vez de AXA los nombres del proyecto en que estés para hacer la calidad de --> datos como ingeniero de datos. Listo. Entonces, ¿cómo hacemos un análisis --> dentro de la herramienta? Entonces, para esto pues te ubicas en la --> carpeta donde lo vas a colocar. En este caso estructural y vamos a dar --> clic derecho y vamos a darle nuevo análisis. --> Note que la herramienta los clasifica por tipo los análisis y en realidad --> son bastante extensos. Vamos a hacer por lo menos uno de cada uno y para --> que usted tenga por lo menos la idea qué puedo hacer con cada uno de esos --> tipos de análisis. En primer lugar, vamos a crear entonces nos vamos a la --> carpeta que se llama estructurales y la expandimos. Y aquí vamos a hacer --> lo siguiente. Note aquí que aquí hay tres tipos de análisis pero --> prácticamente el mismo pero diferentes en diferentes contextos. Dice que ahí --> está el que dice connection, está el que dice catalog y el que dice esquema. --> Entonces, primero analicemos conceptualmente esa palabra catálogo y --> esa palabra esquema. En primer lugar, ¿qué es un esquema? Yo había dicho ayer, --> bueno, esa analogía que hice no es tan buena que fue como si fuese un --> baseado pero en realidad no lo es. En realidad, ¿qué es un esquema? --> Un esquema te permite organizar lógicamente un conjunto de objetos, --> por ejemplo, tablas. Entonces, yo te ya he colocado el del caso ayer. Yo tengo una baseado --> en Pogge que se llama metadatos de redes sociales y dentro tengo un --> esquema que se llama Facebook, otro Instagram. Eso al final lo que hace es --> como si fuera que me crea una subcarpeta y en esa subcarpeta me --> permite organizar realmente todos los objetos que tengo de Facebook. Eso al final ¿para qué --> sirve? Pues me permite organizar mejor, digamos, mis objetos y, segundo, me --> permite mucho para el rendimiento porque si el objeto está dentro de --> Facebook, pues lo buscaría como si, haga la analogía, como si nada más lo --> buscara dentro de la carpeta de Facebook. Hay otras en que yo no he --> visto, yo creo que ya estoy un poco más viejo, quien no define el concepto --> es una especie de esquema, pero ese catálogo que está ahí no lo --> confunda con el catálogo de datos de una base de datos porque recuerden que --> una base de datos tiene metatablas que al final termina siendo su catálogo --> de datos. Es decir, en el catálogo de datos de una base de datos te guardan los --> datos de las bases de datos, de las tablas y de estadísticas que --> tengan esas tablas, cuántas columnas tiene, cuántas filas tiene, nombre de --> columna. No es ese catálogo. Este catálogo es muy parecido al catálogo --> de como si fuese una especie de esquema. Por ejemplo, esquema MySQL no maneja --> esquema, pero Oracle y Poggres maneja esquema, siendo que cada uno lo --> maneja de forma diferente. Por eso ser DBA, normalmente es DBA en un --> motor porque hay unas diferencias que son significativas en muchos --> motores. Mientras que en casos de Oracle, un esquema es prácticamente un --> usuario, entonces yo tengo un usuario de una base de datos y el usuario crea unos --> objetos. Ese es un esquema. Mientras que para Poggres es parecido, siendo que el --> esquema no pertenece a un usuario, sino el esquema es de una base de datos y --> esa base de datos, ese esquema se lo puede dar permiso a diferentes --> usuarios. Entonces, la forma en que trata el esquema es diferente. --> Pero MySQL no maneja eso. Entonces, MySQL maneja, para él, catálogo es una --> base de datos, pero te vas a dar cuenta en un software que para --> MySQL esquema, para él, es una base de datos. Es una cuestión --> honestamente de conceptual, de nombres, y espero que no se me confunda con eso. Al --> final, vea el concepto. Yo no he visto todavía los catálogos de base de datos que --> tenga esa parte. Al final, sería como una especie de esquema. Vea que esquema es cuando --> quiero analizar, digamos, que dentro de una base de datos, por ejemplo de --> Poggres, un esquema, el esquema public, el esquema Facebook, el esquema que --> tú quieras. Y conexión significa en que voy a analizar toda la base de --> datos, independiente si tiene esquema o no tiene esquema. Entonces, --> partiendo de este hecho, vamos a hacer lo siguiente. Vamos a hacer la conexión --> aquí. Vamos a escoger este conectio. --> Y colocamos, entonces, lo siguiente. Yo voy a usar, entonces, un snake case en --> minúscula todo. Si usted quiere, deje espacio en blanco al nombre de análisis. --> Lo voy a llamar de esta forma. Análisis, under score, estructural, --> sinuq. Sinuq es la base de datos que estábamos usando el día de ayer. --> Connection, el de connection. Sí, sí, sí, muchísimas gracias. Propósito, analizar la --> estructura de la base de datos de sinuq. --> Se da lo mismo, el motor aplica, fíjate, aplicas lo mismo, lo de pronto es que --> te puede dar cosas diferentes. Aquí, si se da cuenta, el menú sigue muy --> parecido a como hacía el job. Tengo el autor, tengo el estatus, entonces el --> estatus es los típicos, development, testing y producción. Listo, ahí lo --> definís, ahí análisis. Ya eso va más con el estándar que haya definido --> internamente en tu empresa. Cómo pasa un análisis de developer a CUA y cómo --> pasa de CUA a producción. Ya eso es netamente, pues, suyo allá en su --> empresa. Listo, lo demás es el path, el tipo, bueno, de dónde va a quedar. Aquí --> le damos test, no hay más nada que hacer aquí. Y aquí, ojo, lo siguiente. --> Este tipo de datos estructural solamente se puede hacer en los --> metadatos de conexiones a base de datos. No lo puedo hacer a nivel de --> archivos CSV, principalmente porque el archivo CSV no maneja metadatos a --> nivel de lo que es tipo de datos, ya es primaria, ya es que puede tener una --> tabla, etcétera. Por lo tanto, solamente esto lo puedes hacer sobre bases de --> datos, nada más. Spade, por favor, perdón, se me --> escapaba aquí. Que pena, aquí, vamos a darle aquí un cáncer, por favor, démosle --> aquí un cáncer. Aunque lo podía hacer después, pero bueno, démosle un cáncer. --> Vamos a hacer la conexión a la base de datos chino. --> Esta conexión, hagámosla toda de forma particular, porque yo creo que ya --> de ayer debiste aprenderlo. Si no, te voy guiando entonces. Si ya sabes cómo --> hacerlo, pues hazlo independiente. Creas una nueva conexión aquí. --> Listo, está un poco lento. Listo. Ya viene el nombre de la conexión. Te había --> dicho ayer, entonces, que la vamos a llamar base de datos y el motor en --> que está Chinut MySQL. Te aparece lo mismo, propósito, descripción. --> Entonces, propósito, entonces, conectar a la base de datos transaccional --> de la empresa Chinut. --> Listo, aquí, pues ya las versiones esta aplican lo mismo que te planteé, el --> minor, el mayor, eso fue lo que, ya eso también, directamente, de tu --> empresa, le das aquí next. Aplica lo mismo, entonces, buscas el motor, que --> sería MySQL. El login sería, dígame. Sí, sí, sí, qué pena, salte de análisis --> para tirar la conexión, sí, qué pena. Ahí lo dije muy rápido, entonces, sí. --> Acá en metadata, ella hace exactamente lo mismo que hiciste allá en --> training integration. El login, entonces, sería root, conservamos. El password sería --> también root y el server sería 127.0.0.1. El puerto sigue siendo FIU y aquí --> le colocamos, entonces, la base de datos de Chinut. --> Me pide lo mismo, punto uno, punto uno, 127.0.0.1, que es lo que llaman --> dirección de look back o dirección local. Y no se te olvide, pues, colocar la --> base de datos Chinut, el nombre, y aquí, no, no testee, voy a testear --> nuevamente para ver, la testía. --> A darle eso. Esta herramienta, al final, tiene un problema aquí que, a veces, --> bueno, no me deja nuevamente. --> Bueno, pero si te conectó bien esta herramienta, no hay que hacer recuperación --> de extraer esquema porque automáticamente lo da. --> Le das test connection y mira para ver, confirma para ver que te dio crear, --> entonces, en el árbol el nombre de base de datos y te tuvo que hacer un --> import automáticamente de los objetos que están en esa base de datos. Debe --> aparecerte doce tablas. --> No, nada más, se le hace el import automático. No es como la otra --> herramienta. Esta te importa automáticamente las tablas. ¿Cómo te --> quedó? ¿Quién me habló por ahí? Alid. Si te debe aparecer las doce tablas, --> cierto. Ok, perfecto. Este, esta herramienta, uno, yo una vez hablé --> con un con un asesor y yo le hacía la pregunta, yo tengo una duda a nivel --> de software. Como yo desarrollo software, entonces uno lo uno lo ve el punto --> de software acá. Tú, ¿Por qué en la, por qué en el talent data --> integration, ustedes en el talent integration no importan automáticamente --> el esquema cuando yo me, cuando una conexión de tablas. Recuerde que en --> talent data integration yo doy recuperar esquema. A respuesta me dice él, no, --> lo que pasa es que muchas veces tú no vas a usar todas las tablas que --> están definidas en una base de datos. No, yo te acepto esa parte, pero no --> entiendo por qué entonces en el talent data quality te traes todas, --> porque no te aplica, o es lo uno o es lo otro. Al final, me di una respuesta, --> dice, no, lo que pasa es que cada herramienta tiene comunidades --> diferentes, entonces lo vende de punto de vista diferente. Ah, bueno, ahora sí te entendí. --> Listo. Entonces, ahora sí, por favor, ya después que hizo esta conexión, --> vayamos nuevamente a hacer el análisis, nuevo análisis. Aquí, listo. Vamos a hacer --> entonces análisis estructural. Ah, perdón. Aquí debo escoger, perdón. Es el tipo de --> análisis que sería con Nectium. Next. Y hago la configuración. El name que damos en --> que era análisis, underscore, si tú quieres dejar espacio en blanco, --> estructural, underscore, chinú. Y el propósito es analizar la estructura, --> estructura de la base de datos de chinú. Le das el nombre, por favor, ahí de propósito. --> Bueno, ya si tú quieres describir más, pues sería más recomendable que describieras eso. --> Le damos aquí next. Y ahora en los metadatas te va a aparecer entonces la conexión hacia chinú, --> ¿cierto? Esa es la que vas a coger. Le das next. Pregunta si desea filtrar algo, ya sea una --> tabla o una vista que tú desees. De todos modos, si no te acuerdas con vista, hay un --> ejercicio que sí o sí hay que hacer una vista aquí. Ya te voy a decir por qué después. --> Pero bueno, en este caso no vamos a hacer ningún tipo de filtro, entonces le vamos a --> dar finish aquí y te debería aparecer entonces el análisis debajo de la carpeta. Cuando te --> crea el análisis, si te das cuenta, te configura, te hace una ventana del lado derecho para que --> definas y otremíes de configurar como tal el análisis. Entonces, primero expande la parte --> de metadata que viene siendo pues la parte donde definimos el nombre, la descripción. Aquí puedo --> cambiar, si quiero nuevamente, pues ya sea el nombre o ya sea o le agrego o le quito propósito --> de descripción, ya lo que tú desees. Vamos siguiente con los parámetros de análisis. --> Listo. Como esto va a ser una conexión a la base de datos, esto lo que hace es que define --> el número de conexiones hacia esa base de datos para hacerlo más eficiente. Me --> explico de esta forma. Entonces, ¿cómo sería? Sería de esta manera. Permítame aquí, --> hago el gráfico. Tú tienes la base de datos que se llama Chinook. Entonces, --> ese número de conexiones lo que va a hacer entonces es que acá tienes el talent data --> el TDQ. Vamos a colocarlo un poco más grande. Y entonces te dice cuántas conexiones deseas --> hacia esta base de datos. El número de conexiones lo que va a hacer es que va a definir N hilos, --> dependiendo de las conexiones que tenga. O sea, 5 serían 5 hilos de conexión. Y los --> 5 de conexión lo que harían es que cuando tienes muchos datos, entonces cada hilo jala --> un dato diferente o una colección de datos diferente de tal forma de que sea más rápido --> cargar los datos. Para este tipo de análisis carece de sentido hasta la cantidad de 5, --> porque te vas a dar cuenta en que el análisis no está a nivel de la data, --> sino a nivel de la estructura de la base de datos. Pero es para que sepas para qué es esa --> parte de las conexiones. Entre mayores conexiones, abro comillas doble aquí, --> hay una probabilidad de que mejore el tiempo de respuesta. Pero no necesariamente cuando --> yo incremento, posiblemente puedes incrementar el tiempo de respuesta. Porque eso depende de --> muchos factores. Entre los factores es la parte física de tu equipo, porque si vas a crear 5 hilos --> indica que tendrías que tener 5 cores para por lo menos ejecutar concurrentemente. Entonces --> cuando yo incremento el número de cores, el número de hilos no significa que vaya a --> incrementar el tiempo de respuesta. O sea, hacerlo menos lento. O sea, hacerlo más rápido, --> poner otra palabra. Es para eso exactamente. Este análisis pues ya no necesita más nada, --> este hay algunos contextos que pueda mandar de confesión de los datos, --> nunca he trabajado con esta parte, siendo sincero. Pero aquí no hay que configurar más --> nada comparado con otro análisis. Simplemente lo que vamos a hacer es vamos a ejecutar el --> análisis. Donde lo hace, entonces vayas aquí donde está el play y le das a ejecutar. --> Note por favor que cuando lo ejecutó, pasó, en la parte de abajo tiene dos pestañas. Una --> pestaña de resultados y una pestaña de configuración de la análisis. Y puede navegar --> entre cada una de ellas para hacer algún cambio. Acá bajito lo pueden ver. Una está la de --> configuración y la otra es la de resultado. Note que como su nombre lo dice, lo que vamos a --> analizar es netamente la estructura de la base de datos. Y vea entonces que te está mostrando --> aquí. Te muestra entonces en una tabla, ve que te lo muestra como la palabra catálogo. Para --> el MySQL el catálogo es una base de datos. Y vea lo que te aparece ahí. En la primera --> parte te aparece el número o la cantidad de registro que tiene la base de datos. Como tenemos --> la misma imagen, debería aparecer el mismo número. 15.607. Te aparece el número de tablas, --> el número de proporción de filas por tabla, el número de vistas, en este caso cero, --> el número de proporción de filas con vista y te aparece el número de índices en total --> que tiene la base de datos. Entonces, la pregunta que uno empieza a formularse es --> ¿qué puedo hacer con esta información que me presenta este tipo de análisis? Bueno, --> este tipo de información, aclaro nuevamente que esto va más para un ingeniero de datos, --> pero esto es información que le puede servir también y transmítesela al DBA de tu base --> de datos. ¿Qué pasa con el número de filas? Con el número de filas tú puedes hacer un --> análisis interesante que es un análisis de frecuencia y analizar cómo, digamos, --> cómo incrementa o quizás decrementa el número de filas en cierto periodo de tiempo. --> Cuando tú haces eso significa que bueno, en el mes pasado tenía tantos registros y en este mes --> tengo tantos registros. Analizas el cambio y puedes determinar el nivel de crecimiento que --> va a tener tu base de datos en los próximos meses o en los próximos años. Eso te va a --> permitir a ti tomar varias ediciones. Primero, determinar si el espacio que tengo a nivel de --> disco me va a servir para el escalamiento de los datos. Es decir, para ver si entonces me toca --> pensar en agregar un nuevo disco o quizás pasar esta base de datos a una máquina que --> tenga un disco más grande, hacer cualquier labor de migración y me va a permitir entonces --> analizar y definir para ver ese escalamiento como tal. Ahora, ese escalamiento aparte de --> definirte a futuro cómo va a crecer tu base de datos y determinar entonces cómo te va a afectar --> ese escalamiento porque hay que tener algo que cuando tu base de datos crece en tamaño vas a --> tener un problema de tiempo de respuesta. Porque es sencillo, no es lo mismo buscar --> un registro en un millón que buscarlo en 15 millones de registros. No es lo mismo. Entonces, --> cuando tú incrementas en tamaño la cantidad de registro, entonces tú tienes que empezar en --> políticas. ¿Qué vas a hacer para mejorar los tiempos de respuesta? Políticas que van en --> definir, por ejemplo, si voy a definir particiones, si voy a incrementar el número de índices. Si, --> por el contrario, de pronto tú dices, mira, hay algunos que tienen la siguiente política. --> Te pongo el caso de una empresa de Colombia que se llama Olímpica. Esa Olímpica es un --> supermercado, una caña supermercado a nivel de Colombia. Tú lo vas a encontrar en cualquier --> parte de Colombia. De pronto tú tengas la posibilidad de ir allá en México. Entonces, --> esos señores están produciendo diariamente alrededor de 5 millones de registros. Diariamente, --> eso es una cifra que tú en el tiempo, tú vas sumando 5 millones, 5 millones, 5 millones, --> y eso te cuesta en el tiempo. Entonces, ¿qué hacen los señores? Mira, los señores --> se los siguen deteniendo de datos. Una base de datos que es la neta nacional donde tienen, --> por ejemplo, solamente del último año o de los últimos meses, significa que esa base de datos --> no está grande. Y tienen una base de datos donde tienen el histórico. ¿Por qué no tienen esa --> forma? Porque normalmente a nivel de ventas, de la forma del negocio en que está, en la --> forma del negocio en que está, tú solamente tienes lo que tienes actualmente en stock. --> Entonces, carece de sentido tener muy raro que tú consultes el dato histórico. Muy, muy raro. --> Entonces, ¿qué hace la política de ellos? Bueno, lo voy a dividir en dos. Una base de datos que --> tengo pocos datos y va a ser los datos actuales que puede ser del último mes o del último año --> y tengo una base de datos histórica. Esa se histórica ya es para tomar decisiones y es la --> que consulto cuando de pronto voy a hacer un data warehouse, por ejemplo. Entonces, va en --> esas políticas de crecimiento y va también en otras políticas. Y esto es un poco más técnico --> y es para que de pronto tú lo entiendas y para qué te puede servir, digamos. Resulta que cuando --> tú creas una base de datos, dependiendo del motor, el motor, digamos, que planifica de --> forma diferente cada uno de ellos. Ahí viene que cada DBA es diferente. No es lo mismo un DBA --> ahora con un DBA de server, porque cada arquitectura puede ser diferente de muchas cosas. Hay --> motores que hacen lo siguiente. Tú entenderás que, y es claro porque solamente para recordarle, --> cuando yo tengo una tabla, esa tabla lo que hace es que me guarda los datos al final de un --> archivo, porque un sistema operativo guarda un sistema de ficheros. O sea, la base de datos, --> cuando tú guardas una fila, te guardas un archivo. Esos archivos son los que ellos --> llaman data files o archivos de datos y entonces hay motores de base de datos que --> definen data files para un conjunto de objetos. O sea, digamos, tú tienes tres tablas, cinco --> tablas y esas cinco tablas se pueden guardar en un solo data files, nada más en uno. --> Entonces el problema es, como yo sé cómo es el crecimiento a futuro de mi dato, --> yo puedo configurar el data file a un tamaño predilecto, porque hay dos cosas. Si el --> data file lo define muy corto, y te lo voy a decir gráficamente, es decir, de tamaño muy --> corto, vas a tener un pequeño inconveniente en que esos data files te van a quedar muchos --> data files desplegados. Y no necesariamente estos data files te van a colocar aquí, --> DB1 como data file 1, DB2 como data file 2 y DB3 como data file 3. Aquí digamos que tienen --> datos de la tabla empleada de los clientes y tienen muchos tablas. Si esto es muy corto, --> forza al sistema a que te cree muchos data files. Y el problema de tener muchos data files es que --> si tú haces un full scan, un full scan que es hacer la consulta esto, hacer un select asterisco --> from employee, esto hace un full scan, porque tú te vas a traer todos los datos que tiene la --> tabla. O peor todavía, si tú tienes un where, tú colocas un where, where name sea igual a --> que va a pasar aquí. Si el name no es un índice, tiene que ser full scan. Un full scan al final es --> lo que más cuesta a un motor y uno trata de evitarlos en lo máximo posible. ¿Qué es un full --> scan? Un full scan es que el motor sabe dónde están sus data files, tiene que buscar sus data --> files y de cada data file tiene que subir los datos de memoria principal para poderte los --> mostrar a ti. Entonces si estos data files hay muchos y normalmente no están adyacentes, --> no son contiguos, porque recuerda que este disco duro o disco solido puede estar grabando --> muchas personas, te va a quedar en espacios separados, cuenta fragmentados, entonces tienes --> que recuperar cada fragmento y después subirlo de memoria principal y eso te cuesta. Entonces --> al final esa análisis de frecuencia de lo que es, de lo que es como incrementa, --> le puede permitir a un DBA hacer lo que uno llama técnicamente el tuning o la puesta a --> la base de datos, de colocar la base de datos con características específicas para la aplicación --> que quiere ejecutar. Y más específicamente sería con esto un data file con el tamaño --> de sus data files. Aclaro, ¿qué es mejor, pequeño o grande? Depender. Ahí no hay un, --> depende de lo que tú vayas a hacer. Si lo colocas muy grande, entonces te queda un --> data file ahí que ocupa un espacio que de pronto para llenarlo demora mucho tiempo. --> O sea, no hay una panacea, una fórmula matemática que nos diga cuál es mejor. --> Si te fijas entonces, eso es lo que podías hacer con esa parte. Ahora, si vas nuevamente a la --> herramienta, date cuenta que ahora te está dando la información por cada una de las --> tablas. Cuando seleccionas aquí la base de datos, te das cuenta ahora que ahora te lo está --> diciendo la misma información por cada tabla. Te está diciendo, por ejemplo, que la tabla --> actualmente tiene 347 filas. Tiene una clave y tiene dos índices. Entonces, aquí aplicas --> lo mismo pero de forma particular en tablas. ¿Qué pasa ahora? ¿Para qué me sirve estos datos? --> Ahora, puedo hacer un análisis de frecuencia, pero por tabla. ¿Y de qué me sirve? La misma --> teoría que te dije, el data file te sirve ahora para lo mismo. ¿Por qué? Porque hay --> motores que hacen lo siguiente. No tienen un data file para endos objetos. Sino lo que --> hace el motores es que te crea un data file por cada tabla. ¿Que si es bueno o malo? Sí, --> como todo en la vida, tiene ventajas y desventajas. Te crea un data file, --> significa que tengo la tabla de álbum, álbum se guarda en un data file. Entonces, --> yo puedo definir de igual forma el mismo análisis diciendo que si veo que me está --> creciendo mucho esa tabla en el tiempo, voy a crear un data file mucho más grande. --> Si de pronto la tabla no crece, voy a colocar un data file mucho más pequeño y te aplica lo --> mismo que vas a tener a nivel de lo que es el full scan. Cuando yo consulto eso, --> si tengo muchos data files separados, entonces me demora más tiempo. Y te aclaro que lo que --> más desgasta a un motor es bajar a memoria secundaria, porque entendemos que la memoria --> RAM es mucho más rápida. Eso es lo que más desgasta un motor. Entiendo que con los discos --> es mucho más rápido, pero es lo que más cuesta un motor. Y la mayor parte de motores lo que --> buscan es tenerte la mayor cantidad de datos de memoria principal, de tal forma en que no --> bajes a memoria secundaria. Y eso mismo te aplica el sistema operativo. Mira, --> tú Windows, te voy a colocar con Windows, es más un devolvador de recursos. Tú montas --> un Windows y tienes 8 GB y vamos a suponer que por defecto cuando tú montas el Windows --> con todo lo que tienes, te ocupa 5 GB, uno podría creer que si yo subo a 16 GB, --> ese bendito Windows me va a ocupar los mismos 5. No te ocupo los mismos 5, --> te ocupo más memoria. ¿Y tú irás por qué? Porque el sistema operativo aplica lo mismo. Dice, --> voy a tratar de subir la mayor cantidad de servicios arriba, memoria principal, --> de tal forma de que si tú lo vas a ejecutar, pues sea lo más rápido posible. Entonces, --> ese mismo principio que tiene el sistema operativo, lo replicas acá con el concepto --> de motores de base datos. La mayor cantidad de datos por registro lo tiene más arriba, --> que apartamos el hecho. La mínima unidad de datos que tiene uno base datos es un registro. --> Si uno sube una columna, tiene que subir la tabla, o sea, el registro, perdón, la tabla. --> A menos en que cambies el tipo de motor. Entonces, cuando tú hablas de un motor --> columnar, ah, la cosa es diferente. No es lo mismo que un motor relacional, --> no es lo mismo. Mientras que allá la mínima unidad de información es la columna, acá la --> mínima unidad de información es el registro. Entonces, tú lo que subes es un registro. Aunque --> vayas a usar una columna de registro, hay que subir el registro completo. Ni modo. Hay --> que hacerlo así. Listo. Entonces, puedes aplicar el mismo concepto de crecimiento, --> como está la tabla. Ahora, si le das clic derecho aquí sobre esta tabla, por ejemplo, --> álbum, dale donde dice view keys, por favor, y te debe abrir una pestaña. --> Mira que te abre una ventana de este lado y puedes ver la tabla que te da la información, --> por ejemplo, de la tabla álbum. Por ejemplo, voy a empezar aquí de la primera que dice column. --> Empezamos con column, acá bajito. Se está diciendo, mira, esa tabla tiene tres columnitas, --> y te dice el tipo de datos. Ese tipo de datos, aunque tú no creas, yo entiendo que hoy en día uno --> no se preocupa con el tipo de datos. Pero entienda un poco más mi punto de vista, --> porque yo vengo de una generación, seguramente mucho más antigua que ustedes son. Yo asumo --> que ustedes son muy jóvenes. Entonces, allá a ahorrarse un datico o unos bytes, pues uno --> estaba muy pendiente. Hoy en día, pues en realidad el almacenamiento secundario es lo más barato. --> Si tú te vas a un cloud, el cloud, lo más barato es secundario y lo que más te cobran es --> memoria RAM y te cobran procesamiento, es lo que más te cobran. Pero tú dices, por ejemplo, --> bueno, voy a definir el tipo de datos. No es lo mismo definir un integer de cuatro bytes a --> un integer de seis bytes. ¿Por qué? Porque cuando el vinito de datos es numérico, --> el mando ocupa los cuatro y seis bytes. Pero tú vas a guardar solamente uno, dos, tres, cuatro, --> nada más un número muy pequeño. Entonces, si tú vas a guardar un número muy pequeño, --> ajusta el tipo de datos a lo que vayas a hacer. ¿Por qué? Si es una base de datos, --> digamos. Tú dices, no, pero es que el base de datos que yo tengo no pasa mucho, --> él no crece. No, pero es que estamos hablando quizás de base de datos que tengan 15, 20, --> 100 millones de registros. O sea, son base de datos sumamente grandísimos y esos bytes te --> cuestan en almacenamiento. Entonces, no es lo mismo decir, porque cuando yo defino un integer --> de cuatro bytes, me ocupa los cuatro bytes, aunque el número que vaya a guardarse a uno. --> Cosa diferente como cuando tengo un varchar, ¿verdad? El varchar es más dinámico y el --> varchar tú define un varchar. Por ejemplo, aquí es como tengo un varchar de 160, --> pero tú tienes 40, él nada más te ocupa los 40, ¿cierto? Y tú dices, no, el mando ocupa. --> Sí, pero hay un pequeño problema a nivel de recursos, que es el siguiente. Mira lo que pasa, --> te voy a pintar gráficamente. Suponte esa tabla que se llama álbum, listo, y voy a seguir el --> esquema siguiente. Tengo la tabla álbum y ahora este motor va a ser lo siguiente. Por --> cada álbum que tenga, por cada tabla voy a tener un datafile, que al final es un bloque --> de memoria. Este datafile piensa en lo siguiente, piensa en que tú puedas hacer un update de --> tus datos. Entonces imagínate lo siguiente, tú guardaste el nombre del artista, te ocupó 40 bytes, --> pero hiciste un update y ese update te ocupa 20 bytes. Ese motor se tiene que preocupar por eso, --> por lo siguiente. Porque si en ese datafile no cabe esa información, él no se puede dar --> el lujo de coger ese registro y mandarlo para otro datafile. Eso le cuesta mucho. --> Mira, le cuesta tan programación y también le va a costar a nivel de lo que es tiempo de --> cuesta. Entonces, ¿qué hace el motor? Esto es claro que todos deberían ser igual, --> la técnica no sé cuál sería, pero todos serían iguales. Es decir, entonces por aquí te guarda --> un pequeño espacio, el datafile, fíjate que aquí te guarda, que aquí no está ocupado. Ese --> que no está ocupado es por si acaso tú haces un update y, digamos, vas a incrementar el --> espacio y por si acaso hoy tengo como que un colchón de seguridad de espacio por los updates --> que tengas tú. Entonces, si tú defines un varchar de 1000 y al final está ocupando solamente 20, --> date cuenta que aunque no lo estés usando, el motor tiene que reservar esa memoria, --> ese espacio de memoria, por si acaso tú haces un update que ahora ocupaba 20, --> pero ahora quiere ocupar los 1000. La moralidad es lo siguiente, es analiza entonces tus tipos --> de datos y verifica que vayan de acuerdo entonces a lo que tú que desees almacenar. --> Entonces, no te traslímites todo porque de pronto te está afectando mucho. Al final sé --> que de pronto tú tienes mucho espacio, pero al final te puede afectar en lo que el motor como --> configura internamente. Ya lo demás pues ahí no veo algo como que interesante para decirte y --> para tener en cuenta con este tipo de estudios que tú haces. Date cuenta que este estudio va --> un poco más dirigido, más técnico hacia una persona que conoce de base de datos o de --> motor de base de datos, perdón. Bueno, aquí pues pasa la siguiente pestaña que te dice info, --> te da información general, pues básicamente el nombre de la tabla y no hay ningún poder --> de decisión ahí pues o algo que analizar. Seguidamente pues te da un preview de los datos, --> no te trae todos los datos que tengas, te hace un preview de 80, 100 datos, solo puedes --> configurar ahí en los parámetros de cuánto preview vas a hacer. Quizás puedas ver el --> contenido que tengas y quizás puedas ver algún dato inconsistente en ese contenido. --> Tal vez lo ves, porque si tienes un millón, 20 millones, 30 millones de registros, pues la --> muestra que te está colocando aquí es muy pequeña para poder hacer un análisis, por ejemplo, --> por lo menos visual de qué puede estar mal ahí. Aquí este rowcon ya te había mencionado, --> pero para qué sirve, digamos para definir ese data file, el tamaño, cómo es, cómo está --> creciendo en el tiempo esa tabla. Y si crece en el tiempo, cuál va a ser mi política para --> hacerla más rápido. Entonces de pronto hago petición de tabla, de pronto agrego más índices --> a la tabla, que también tiene otro problema con los índices. Primariquín, bueno, --> primariquín sí puede ser, pues puedes analizar para ver cuáles son las columnas --> que pertenecen o si la tabla no tiene primariquín. Ya te había colocado un --> caso ejemplo en que el caso de tal auditorías carece de sentido en que normalmente pues le --> colocó una llave primaria y carece todavía más del sentido en que le crea una secuencia y le --> cree la llave primaria para la secuencia, a veces todavía más de sentido esa parte. Aquí --> normalmente lo que podías verificar es si las tablas que tienes, por lo menos tiene llave --> primaria, están las que son primordiales en tu negocio. Por ejemplo, te encuentras una tabla --> cliente y dices, bueno, ¿cómo así que cliente no tiene llave primaria? Pues eso es muy raro --> que sucede hoy en día, pero quizás puede ser. Yo te aclaro que yo tengo una historia --> de esas anécdotas que pasaron cuando yo empecé con esta parte de freelance. Yo creo que fue el --> segundo contrato que yo tuve. En ese segundo contrato que tuve trabajé para un español. --> Ese español me mandó a hacer un software que era un webcrawler, un escrapeador. El --> señor lo que quería era que él colocaba una URL de un periódico y yo me traje a todos --> los artículos del periódico. Esa solución no quedó tan estable porque por muchas cosas --> de formato de cada uno de los periódicos. Pero eso al final es ilegal en algunos países. --> O sea, escrapear datos de una página depende directamente del país. Yo me enteré fue después. --> No sabía, estaba muy privíparo. Yo recuerdo que el español una vez me muestra su pantalla --> para explicarme algo que quería agregar en el software. Y yo recuerdo que las tablas --> teníamos una tabla que se llamaba violaciones. Una tabla que se llamaba asesinatos. Y a mí me --> causó un poco, yo como voy a un país sumamente complejo, entonces esas palabras ya están --> marcadas en mi cabeza. Y ya a mí me dio miedo esa parte. Entonces yo le pregunto a él, --> disculpa, y tú esas tablas, ¿por qué las tienes? Él se enojó mucho y me dijo, --> ¿para qué te interesa eso? A usted no le interesa lo que yo le mandé. Entonces me --> asustó mucho. Pero al final, cuando él me pregunta por qué me interesa, yo me di una --> cuenta de una particularidad de las tablas. Las tablas no tenían foreign key. Entonces yo --> disparo y me dije, no, no, es que me da curiosidad, es que ¿por qué las tablas no --> tienen foreign key? Entonces ese foreign key me dice él, no, lo que pasa es que, --> y tiene razón, tiene razón técnicamente el señor, lo que pasa es que yo hago mucho, --> mucha subida de datos a través de procesos de batch o de bool. El batch es que tú lo --> haces normalmente, lo divides en partes y lo ejecutas, no necesariamente en tiempo --> real. El bool nada más tiene un solo archivo y lo ejecutas normalmente en tiempo real, --> son las diferencias que hay con lo respecto. Lo que hace es que cuando tienes mucho foreign --> key te hace más lento subir la información. Claro, ya te explico por qué. Bueno, --> si de cuando te interesa, te sube más lento, se le quita las llaves primarias, --> entonces él pierde integridad de datos, claro, integridad referencial, porque él no --> asegura, no puede asegurar muchas cosas ahí, pero él gana velocidad. Al final siempre --> quedé con la duda de qué hacía el señor con eso y qué guardaba ahí. Ahí estaba. Bueno, --> pero al final esto te va a permitir pues definir si tienes llave primaria o no llave --> primaria. Entonces aquí te va a definir entonces en el porte key es hacia qué, --> cuál de las tablas, cuál columna de las tablas hacen referencia a otras. Por ejemplo, --> esta tabla hace referencia a la tabla que se llama Track C, al NUNAID, --> hace referencia a la tabla Track. Importe key es quién me referencia a mí. --> Ahí podías analizar por eso si de pronto tienes una ciudad de tablas y si te hace --> falta alguna. Y aquí sí viene algo y te explico por qué y esto va con relación a lo que te dije --> el día de ayer en que te dije, piensa muy bien cuando voy a hacer un Join con una herramienta --> ETL. Por muchas razones, porque primero la base de datos está preparada para esos Join. --> Y además la base de datos, los datos están locales, mientras que para el proceso de Join --> con un ETL te toca coger los datos, pasarlas por una red y llevarla al equipo donde tengas --> el job o el workflow o el pipeline, lo que tú quieras ver. Entonces, --> fíjate que la tabla tiene dos índices. El índice que se crea por defecto, --> y te voy a abrir comillas dobles aquí, creería que todas las bases de datos hacen --> exactamente lo mismo. ¿Por qué dar las comillas dobles? Porque me --> aseguraste eso. Pero normalmente cuando tú, creo que tú en la universidad y en lo que --> ya te he dicho siempre, mira, trata de buscar por ya de primaria porque te hace más rápida --> las búsquedas. Sí señor, efectivamente eso es. ¿Y eso por qué se hace? Porque entonces --> normalmente la mayoría, pues la forma puede variar, pero en el fondo hacen lo mismo. Entonces --> digamos que este bloque de memoria es de álbum, pero este álbum puede tener varios --> data files, varios bloques de memoria por muchas razones de esta señora acá. Entonces, --> cuando tú creas y defines la base de datos, defines una ya de primaria, la base de datos lo --> que hace internamente es que crea para ese señor álbum un bloque de memoria donde guarda --> índices. ¿Qué hace el índice? Lo que hace el índice, lo que hace es que, por ejemplo, --> si tu índice es tu número de identificación, entonces él guarda en dos partes. Guarda en la --> tabla de índices y guarda en el bloque de memoria que le tocó a ese registro. Cuando tú --> buscas por ese índice, en este caso por la ya de primaria, él primero busca en el índice y --> el índice le dice en qué bloque de memoria, no en qué parte de la memoria, sino en qué --> bloque de memoria se encuentra el registro que estás buscando y el motor nada más sube ese --> bloque de memoria y te busca el registro de memoria principal. El algoritmo es fácil buscar --> para ver si el número que estás buscando coincide con los números que subió de memoria --> principal. Ya tú aseguras que vas a subir el bloque donde está. Si no usas ya de primaria, --> te hace full scan, te sube todos los bloques de memoria y si tienes poca memoria te hace --> swapping. Es decir, entonces te comienza a bajar los bloques de memoria que no usas, --> la secundaria y ese swapping que va haciendo te retarda entonces la búsqueda. Eso es lo que --> hace el índice al final, te mejora la búsqueda pero un pequeño problema con el índice. Porque --> tú pensarás, todo aquí tiene ventaja y de ventaja, no ayudo que no tenga. Tú dirás, --> pero ven acá. ¿Pero esto significa en qué? Por ejemplo, yo hago mucha búsqueda por nombre --> de usuario, por nombre de cliente, perdón. Y eso está lento, claro, entonces tú empiezas --> a crecer en datos, te quedan muy dispersos los tu data files, tienes que subir esos bloques de --> memoria a primaria y eso te retarda el tiempo y vas a buscar los nombres que tú quieras. Ahora, --> tienes un order by más complicado todavía, un order by cuando es más grande. Eso hay que --> pensarlo bien. Pero es inteligente eso, pero tú dices, ah no, entonces tú dices, piensa, --> Eva, ¿qué hago yo? Entonces lo que voy a hacer es lo siguiente, voy a agregar un índice --> para name y significa ahora que ahora va a ser más rápida la consulta por nombre. Sí señor, --> le hace más rápida la consulta por nombre. Claro que sí, pero hay un problema que cuando tú ganas --> algo normalmente pierdes otra cosa. Si tú tienes un índice, los índices ¿qué haces? Te mejoran las --> búsquedas, pero te retardan la actualización y borrado. Porque quizás cuando tú borras, --> tienes que borrar en el data file y borrar entonces donde tienes los índices. Entonces --> tienes que hacer dos operaciones y todas esas actualizaciones, por ejemplo, sobre la --> llave primaria, te toca actualizar que normalmente uno no lo hace, pero lo puede hacer. --> Normalmente uno por standard no lo hace, pero es claro que uno lo puede hacer. --> Entonces yo, ¿qué pasa? Te tengo que actualizar en el índice y en el registro del data files. --> Entonces, ¿qué pasa? Que si yo tengo mucho índice como tal, me va a incrementar la búsqueda, --> pero me retarda la actualización de ML, específicamente más la de update y la de delete, --> en el caso que te mencioné. Entonces, yo he visto muchos casos, había un joke, --> a mí me gusta mucho la parte de Philan, porque por lo menos, aunque no vaya a participar en --> un trabajo, me doy cuenta de los problemas que tienen muchas empresas o alguien en particular. --> Alguien decía que tiene una tabla, en ese caso tenía 15 millones de registros, --> perdón, 150 millones de registros. La tenían Postgres. Y la tabla para una consulta en --> particular le demoraba 10 segundos y él quería bajarla a 5. Yo recuerdo que él decía, --> bueno, aquí quiero que la persona que vaya a hacer esto me indique qué va a hacer. Ya la --> tabla tiene actualmente 16 índices. Ya no soporto un índice más porque tengo unos --> problemas a nivel de inserción y atresiones. Quiero que me definan una solución para poder --> mejorar las búsquedas. Entonces ya no solamente, entonces de pronto puedes partir la tabla y hacer --> muchas cosas dependiendo del motor en que estés. Es interesante los problemas que se --> forman ahí. Entonces no siempre tú tiras un índice, porque a veces puedes tratar otras cosas. --> Y vete a lo siguiente aquí. Mira ahora lo que te había comentado el día de ayer de por qué --> es más rápido el join a cada nivel de base de datos. Les te cuento lo siguiente. Aquí se --> genera un índice a nivel de foreign key. O sea, genera un índice por defecto. Creo que la --> mayoría, vuelvo y repito, que haya uno que no te lo haga y venga, pero bueno. Pero la mayoría --> de motores cuando tú haces un foreign key te tira un índice. Este índice no es igual al --> de primary key. No es igual. Este índice entonces lo que hace es lo siguiente. Este --> te mejora las búsquedas a nivel de join. ¿Qué sería? Que cuando tú haces un join sobre dos tablas, --> que habría que entender un poco más esa parte de join, porque recuerda que un join termina --> siendo un producto cartesiano. Pero es entendible que por ejemplo cuando tú tengas lo siguiente, --> tienes por ejemplo un select, el join lo puede hacer a nivel del front aquí o lo --> tienes en tabla A, en tabla B. Bueno, perdón. Condición A, en condición B. Para que me --> entiendan mejor hagamos customer C, pedidos. Listo. Entonces tú tienes, por ejemplo, --> si lo haces a nivel de Word, ya depende como tú quieras, por ejemplo CID igual a PID, --> siguiente. Y supongamos que arreglas una nueva tabla aquí. ¿Qué te digo yo? --> De evoluciones, no sé. Listo. Entonces vamos a suponer que sea C.ID igual a D.ID client. --> Entonces todo esto de base de datos va hasta con la forma en que tú hagas el Word, --> porque aunque él intenta hacer lo siguiente, normalmente él se da cuenta en que subir todos --> registros de memoria principal le puede costar. Entonces primero une estas dos tablas y a partir --> del filtro de estas dos tablas tira un producto cartesiano con la tabla restante. O sea, aquí --> en la primera parte él haría esta parte primero, sube customer y sube pedidos. Hace full scan --> ahí dependiendo de muchas cosas. Pero entonces ya después con los registros que me quedan --> aquí, hago entonces producto cartesiano aquí. En pocas palabras, quizás no es lo mismo tirar --> este man primero así, te da el mismo resultado, pero a nivel de tiempo de respuesta puede que no --> te dé. A revés puede hacerlo, digamos, a revés. O sea, no es lo mismo, no es como que se llama --> acumulativo a nivel de tiempo de respuesta. Entonces tú tienes que analizar que vas a tirar --> ahí si tiras primero al izquierdo o derecho. Lo que sí es seguro es que el motor te tira --> un índice para ya de primaria. Perdón, listo, vamos a ver qué termina ya esta parte. Bueno, --> aquí ya viene siendo privilegios que tengas. Quizás en el estándar y no te lo da, --> te lo todavía da el gerente de datos, definir quiénes podían acceder a ese campo. --> Porque si hay personas que no pueden acceder al campo, entonces podías pensar en una vista, --> definir una vista para eso. Los privilegios que tenga la columna y ya listo. Bueno, eso es lo que --> podía hacer con este análisis, pues es más, digamos, técnico con respecto a tu base de datos --> como tal. Ya aquí podías ver de forma general todas las tablas, mirar si alguno --> tiene ya de primaria, decidir si hay que agregarla, no agregarla o cambiarla. Bueno, --> muchas cosas que pueden. O sea, si hacemos un pequeño break de 10 minutitos y seguimos --> con el siguiente análisis. Bueno, ok. Bien, volvimos nuevamente, pues espero que hayan tomado algo --> y hayan descansado un poco. A veces más duro cuando la sesión es. De pronto para uno que --> es el, digamos, el instructor creo que a veces un poco más fácil porque de pronto uno se cansa, --> se distrae menos, pero de pronto seguramente tiene allá problemas de la oficina o lo --> que se llama y quizás de pronto es un poco más complejo. Bueno, retomamos nuevamente aquí esta --> parte. Se me escapaba algo en los ejercicios que estoy haciendo aquí. Yo los voy a compartir en --> una presentación. Aquí están las fuentes de datos que vamos a tomar para acá y aquí están --> cada uno de los ejercicios en el orden de lo que vamos a hacer. Entonces yo los voy leyendo y --> los voy explicando. De todos modos ahí les especifica el ejercicio y qué es lo que se busca --> con cada uno de los análisis y qué anomalías va a encontrar o que puede contar con cada uno de --> los equipos de análisis. Entonces yo me estoy siguiendo esto. De todos modos esto se lo voy a --> entregar. Tanto el instalador, los recursos, tutoriales, que eso lo hace directamente. Bueno, --> eso lo va a ser Jimena, pero si alguna cosa no lo comparte ella, pues me avisa y yo con --> mucho gusto les comparto esa parte. No se lo olvide alguna cosa. Sigo entonces con la --> herramienta. Listo, entonces voy a cerrar aquí. Voy a cerrar acá, listo. --> Para finalizar el tema ese de las análisis estructurales, note que entonces ya le había --> comentado que aquí hay tres opciones, que es catálogo, esquema y connection. Al final es --> lo mismo, exactamente lo mismo. La única diferencia, principalmente con el esquema, --> porque con catálogo no conseguí decir un motor que me ayude, pero con esquema es que no --> lo hago a toda la base de datos, sino al esquema en particular. Pero las estadísticas --> que les mostré son exactamente las mismas, o sea, las que voy a mostrar. No va a cambiar --> en nada. Lo que te cambia es el alcance mientras connection va a ser a toda la base de datos, --> esquema va a ser a una parte de esa base de datos que sería el esquema que tú hayas --> escogido. De ahí no hay más nada. Vamos entonces a lo siguiente, vamos a cambiar, --> vamos a crear, ahora sí, vamos a crear una nueva carpeta ahí en AXA y la vamos a llamar --> columnares. O sea, vamos a hacer análisis columnares ahora. Le quedaría la estructura de esta forma, --> quedaría entonces, tengo análisis estructural y voy a hacer N columnares ahora, a ver si --> tengo alguna duda, columnares. Acto seguido entonces, vamos ya, este análisis ya es, bueno, --> no es tan técnico, pero a veces hay que meter cosas técnicas. --> Vamos a lo siguiente, se va entonces a la carpeta columnares y vamos a crear un nuevo análisis. --> Acto seguido, va a buscar la sección de column análisis. --> Y aquí hay muchos. Vamos a iniciar con el basic. Entonces vamos aquí a basic column análisis. --> Entonces vamos a llamar entonces, análisis, un momento, busco el ejercicio, lo deje acá, --> este no es, perdón, un momento, busco el ejercicio, voy a ver que es el dos, listo. --> Análisis columnar, nombre, análisis columnar. Customers, bueno, está en inglés la tabla, --> bueno, lo colocamos en español porque después decimos un ingleñol ahí. Análisis columnar, --> clientes, underscore chinu. Sí, sí, ese exactamente, ese exactamente. Y el nombre --> del análisis lo vamos a colocar como análisis columnar clientes chinu. Vamos a analizar la --> tabla customer. Por propósito, analizar la tabla, bueno, se llama customer en realidad. --> Y encontrar posibles anomalías. Entonces, ya después que tenga el nombre, el propósito y si --> desea pues la descripción, que sería lo más aconsejable, vamos a darle aquí entonces finish. --> Y debería abrir una ventana similar a la que tenemos. Cambian un par de cositas porque --> el tipo de análisis es un poco diferente. Note entonces que le aparecen las dos mismas --> pestañas, un análisis de setting y uno de resultados. Te va a cambiar un poco, --> los metadatas siguen siendo igual, cuando expando aquí, aquí puedo cambiar lo que yo --> quiera a nivel del nombre o el propósito y agregar cualquier descripción o cambiar el --> status si desea. Ese no es el caso. Vamos entonces a la parte de configuración de --> este tipo de análisis. El otro no era de esta forma. En primer lugar entonces tiene que definir --> la conexión. Ahora, este tipo de análisis lo puedo hacer sobre los dos metadatos que permite --> la herramienta. O lo hago sobre un archivo CSV o lo hago sobre archivos de base de datos, --> sobre conexiones de base de datos. En caso particular que te tocó analizar un JSON y --> vas a usar la herramienta, pues ni modo. Te toca pasar el JSON a CSV. Te toca usar el --> data integration o cualquier herramienta que ya tu conozcas. Ya es ni modo. Entonces, --> por defecto, aquí aparecen los metadatos donde dice connection. Aquí solamente aparece una, --> pero aquí si hubiesen varias conexiones, ya sea a bases de datos o archivos CSV, --> van a aparecer en este convoco de aquí. Listo. Ahora, ¿qué hay que hacer? Lo siguiente, --> hay que definir hacia qué tabla, como estoy conectado a una base de data, hacia qué tabla --> deseo el análisis. Ya en el nombre ya he dicho que le íbamos a hacer sobre customer. Entonces, --> vaya a donde dice select column y debería aparecerle la conexión con que está en el --> combo voz. Solamente debemos una, pero dependiendo de los cambios que tenga, --> te va a aparecer la que tú hayas escogido. Expande y te van a aparecer las estructuras, --> dos estructuras a nivel de tablas y a nivel de vistas. Quizás, y te voy a colocar un --> pequeño caso, te va a tocar recordar o por lo menos tener el conocimiento claro de cómo crear --> vistas y por lo menos saber cuándo debo crearlas para este tipo de análisis. Yo te --> voy a colocar un caso en que vas a ver, y abro comillas dobles, muy sencillamente, --> por qué debía crear una vista. Pero hasta el momento no hay vistas en la base de datos, --> solamente hay tablas, entonces expandimos tablas. Y aquí debes escoger una tabla, --> no puedes escoger varias, aunque sea un checkbox, te va a salir un error porque nada más tienes que --> coger columnas de una tabla, nada más. Aquí creo que gráficamente, como la mayoría aquí --> de pronto somos desarrolladores, creo que ese checkbox se equivocó, hubiese colocado mejor --> un radiobutton. El checkbox uno lo asocia en que va a coger varios. Acá el radiobutton, --> uno entiende que radiobutton, aunque a nivel de programación puede ser lo mismo, --> pero ya uno ni el usuario se da cuenta. Bueno, si es radiobutton es que va a coger uno, --> pero bueno, está así. Escojamos la tabla customer aquí, seleccione. Cuando seleccione, --> si no le aparecen las columnas, dele click en el nombre de la tabla, si, --> dele click en customer y debería aparecer las columnas. Acto seguido entonces, --> vamos a hacer lo siguiente. Podemos escoger todas las columnas, pero normalmente, --> como tú vas a ser ingeniero de datos y hay una particular contigo, es que aunque seas ingeniero --> de datos, al tener la tabla de datos, tú tienes un bagaje del modelo de negocio que vas --> a probar. Por ende, ya tú debes determinar en este punto qué columnas sería interesante --> de analizar. Si deseas, vamos a montar todas un momento para ver. Ya después, --> ya con la experiencia que tú tengas y más más, la escogencia no a nivel técnico, --> sino a nivel de negocio y a nivel de, digamos, de ese sexto sentido en determinar --> para ver cuáles columnas pueden tener problemas de calidad. Para este caso en --> todas, pero es claro en que en un análisis real, escoger todas puede ser muy tedioso, --> hay columnas que carecen significado. Por ejemplo, la columna customer ID, --> esa columna ya es ya de primaria. Entonces, normalmente un módulo de hacer datos te va --> a funcionar bien a nivel de que la de primaria, o sea, no se va a equivocar. Entonces, por --> ejemplo, no, que quiero verificar para ver si hay un nudo en la llave primaria. No, --> carece de sentido eso porque si está definida ya de primaria, a menos que sea un error de --> programación del motor, que creo que ninguno te lo va a hacer hoy en día, pues tendría --> sentido, pero hay cosas que no tienen. En este caso vamos a escoger todas, vamos a --> decirlo ok. Y te aparece un pequeño preview, donde ese preview, el límite del número de --> configuras aquí, por defecto está 50, pero tú puedes cambiar el límite que tú quieras y puede --> hacer de pronto una revisión de los datos como están. No te trae todos, sino hace un preview --> del número que tú configures. Listo, sigamos. ¿Sabes que nunca lo he probado ese límite? --> No, no sabría decirle, pero déjame y te investigo porque no, esa pregunta nunca me lo --> he hecho, pero nunca lo he investigado, pero no sé. Por ejemplo, la herramienta si tiene un par de --> límites, más que todo para export, pero no recuerdo que tenga un límite para el número de --> filas y como la cantidad de filas es bastante pequeña, carecería sentido que lo colocara --> un millón o dos millones porque al fin y al cabo, pues nada más hay como 250 registros, --> pero si deseas permíteme y te averiguo para ver si de pronto en el tutorial te --> especifica es un límite para eso. Quería que no, quería que no por acá en mi ignorancia por acá. --> Dile lo siguiente, automáticamente cuando, cuando usted escoge las columnas que puede --> coger las que usted quiera, él ya sabe el tipo de datos. ¿Por qué? Porque viene la tabla, --> entonces si te das cuenta en la parte de abajo, aquí te dice cuáles son las columnas que vas --> a analizar. Entonces aquí estaría, entonces aquí no te muestra dudas. Ahora configuramos esta --> parte. Si le das clic aquí te va a mostrar el resto de columnas. Mira aquí, da clic aquí, --> city, state, country y etcétera. Ahí te aparecen todas las filas. Pero aquí vamos a lo siguiente. --> Resulta que te había comentado también del que viene el talent data integration. --> Cuando tú tienes un CSV, un JSON, un XML, tú no tienes tipo de datos. Entonces él asume el --> tipo de datos a partir de los datos que estén ahí. ¿Qué hace él internamente? Hace lo que --> llama una minería de texto. Según él, pues ahí es una minería de texto. Bueno, lo que sí es --> seguro es que la herramienta, cuando tú despandes aquí el combo voz, te aparecen --> cuatro tipos de datos. Te aparece un tipo de datos nominal, interval y texto no estructurado --> y uno que dice others, que ese era un tipo de datos especial que se iba a sacar. Pero como --> la herramienta, pues no hay nuevas versiones, quedó ahí en other. Eso era como ese mismo --> caso de muy popular de Oracle. Oracle tiene el Varchar y el Varchar 2. Uno espera que Varchar 2 --> dice, no, que Varchar 2 viene con un tipo especial de datos. Pero bueno, al final no sé --> por qué se trató de un tipo como Oracle. Pero recuerdo que cuando trabajaba en los 2000, --> por allá 2004-2005 por allá, esperando que el Varchar 2 fuera algo diferente, --> pero al final era lo mismo. Nunca dijeron que era lo diferente. Acá pues nunca vino --> este cambio. Debes entender entonces qué es cada uno de ellos. Entonces, --> para esta parte vamos a numerar los tres tipos. Entonces los tres tipos son los siguientes y es --> la recomendación que te da. Tienes un tipo de datos nominal. Este dato nominal lo vas a usar --> cuando el dato pertenece a una clase. O sea, cuando el valor del dato está en una --> clasificación. Forma sencilla. Por ejemplo, el clima. El clima está establecido en una --> clasificación, verdad? El color de una prenda. Ese color pertenece a un rango de colores que --> tú lo tienes clasificado. Pero entonces este nominal, hay que entenderlo, que el nominal --> no solamente aplica a Varchar. Un nominal aplica hacia un campo numérico también. Normalmente, --> cuando un campo numérico debe ser nominal, cuando el campo numérico carece de sentido, --> puede sacarle un promedio. ¿Cómo así? El caso típico es el de código postal. El código postal --> carece de sentido en que yo saque un promedio de los códigos postales de una región. Porque --> ¿Qué hago con eso? Nada. Entonces, en realidad el código postal debería ser un campo nominal. --> ¿Por qué? Porque ese campo como tal pertenece a un conjunto valores preestablecidos. Entonces, --> es un caso de decir, en pocas palabras, el nominal puede ser o Varchar o puede ser numérico. --> Vamos con el siguiente, que es interval. Normalmente, cómo sé cuando yo tengo un --> dato en que el promedio sea interesante, un lado interesante de analizar. Promedio --> de duración de algo. Interesante, más o menos. Este interval, hay que entender que el --> interval puede ser numérico o también puede ser un poco Varchar. O sea, perdón, --> alfanumérico. Numérico, ¿Qué puede ser? Por ejemplo, el peso. El peso de las personas. --> Entonces, yo puedo sacar el peso promedio de una ciudad. Podía decir entonces que, --> partiendo del peso promedio, hay un problema de sobrepeso de la población. Típico en Estados --> Unidos, Canadá, del lado de Toronto, porque más de Estados Unidos, están acostumbrados --> más a comida rápida. Yo creo que el caso de nosotros, los latinos, no tenemos así tanto promedio --> de, bueno, de obesidad comparado con los gringos, evidentemente. Entonces, te puedes --> sacar el dato promedio y dice, bueno, ¿En qué momento puede ser un dato alfanumérico? --> No, lo que pasa es que tú puedes tener de pronto algo así, guardar unos baseatos. Un día, --> dos semanas, y entonces aquí puedo hacer algún proceso en lo cual el promedio de eso --> me sirve para algo. Claro que es un, carece de sentido en que yo guardo un dato así, --> pero te lo encuentras. Ese carece de sentido, particularmente yo que he trabajado con --> diferentes países, principalmente, bueno, tengo experiencia con Estados Unidos, con Australia, --> con Inglaterra, aunque claro, yo no domino el inglés fluido, sino que, bueno, --> de la casualidad que hay unos, hay unos requerimientos que están muy claros, --> pero a veces uno cree que esa persona sabe más que el latino, pero en realidad no crea, --> no crea ese uno, esos gringos deben saberla todas, pero no, no, tú encuentras uno de --> errores teóricos que un estudiante de ingeniería no lo hace y te lo hace un --> profesional de allá. Es más, la mayor parte de esos países, por ejemplo, Estados Unidos, --> buscan mucho latino, porque latino tiene algo muy particular, el latino es leal, --> como dice que leal, el, por ejemplo, el canadiense llega a una empresa y se encuentra un trabajo --> que le pagan más ceba inmediatamente, el latino no, el latino sigue en esa empresa y es leal a --> esa empresa durante mucho tiempo y buscan el latino porque eso, y además porque si haces --> freelance te pagan al cambio de dinero, pues a ti te dan mucho, pero el cambio de ello, --> el cambio de ayer allá es poco comparado con lo que le pagan un profesional allá, --> pero bueno, uno encuentra una cantidad de cosas ahí sobre esta parte. Y lo último sería el texto --> no estructurado, por ejemplo, una descripción, pero, por ejemplo, tú puedes tener un, --> puedes tener una dirección y la dirección tiene una estructura, por ejemplo, supongamos --> que tu dirección tú la guardas como acá en Colombia, son barrio, ciudad, departamento, --> no sé cómo se llaman las de acá, o calle y carrera, entonces si tú tienes una estructura, --> entonces no es un texto no organizado, entonces lo puedes definir como nómina, --> pero si es texto no estructurado, donde simplemente no hay una estructura como su --> nombre lo dice, pues lo defines como no estructurado, la herramienta en teoría pues te --> clasifica, pero puede que esto te pueda cambiar algunas cosas, esto más que todo es para algo, --> para un proyecto que tenían ellos para esta herramienta de hacer minería textual, --> pero no lo alcanzaron a agregar, eso es lo que más te afecta el tipo de datos, --> pero hay cosas de algunos tipos de análisis en que realidad da lo mismo cómo lo coloques, --> porque pronto no te afecta el tipo análisis. Si intentas ejecutar actualmente el análisis, --> va a salir un error porque hay que definir qué es lo que quiero hacer sobre cada una de las --> columnas, muy pendiente a lo siguiente, cada columna que yo escoja, tengo que definir qué --> quiero hacer con la columna, es decir, tengo que definir el indicador que deseo, --> entonces el indicador lo puedes agregar a cada columna en dos partes, o lo agregas acá arriba, --> o lo agregas acá abajo, decide dónde desee, al final te va a mostrar ahí una ventana, --> dale clic por favor, y te va a mostrar esta ventana que está aquí. --> Seguidamente notarás que hay gran cantidad de tipos de análisis, vamos a hacer un caso para --> cada tipo, para que vea el alcance y lo que puedo hacer con cada uno de ellos. --> Vamos con el primero que es el más sencillo que se llama simple estadística, --> espande por favor el árbol ese, el de simple estadística, estadísticas, --> y vamos entonces que estadística te está presentando aquí, bueno analicemos un poco, --> estas son las básicas y esta es la que vas a encontrar en cualquier herramienta de análisis --> de datos. Primero tienes para contar el número de filas, tú dirás pero para qué sirve eso, --> lo que pasa es que el número de filas te va a permitir hacer proporciones, por ejemplo, --> proporción de nulos, proporción de datos vacíos, entonces es importante contar el número de filas. --> Vamos con el null con, o sea el número de valores nulos, ya te había dicho que ese es un --> es un problemita a nivel de base de datos si no tienes documentado por qué el valor es --> nulo, hay valores nulos que carecen sentido y valores que no, te coloco un caso de la --> cantidad, cantidad nula puede que carezca de sentido, pero de pronto tú que manejas seguro --> tienes un campo que se llama fecha de fallecimiento y el campo está nulo, ah es claro entonces que --> porque está nulo es porque el señor pues no se ha muerto, vamos de esa forma. Sigue el --> campo distinct count y el campo unit count, ahora que ejecute te voy a hacer las diferencias --> tengo la cantidad de duplicados, la cantidad de blancos y la cantidad, la cantidad ojo de --> elementos que tienen el valor por defecto, recordarás que a nivel de base de datos tú --> puedes definir un constre que se llama default, que en caso por ejemplo que la base de datos, --> que el campo sea nulo, tome el valor por defecto, por ejemplo, puedes configurar esa --> parte, a eso se refiere el default, eso para que al final termina, de pronto tú diciendo lo que --> pasa es que yo estoy me doy cuenta que el 90% de mi datos tiene valor por defecto, eso es --> netamente raro, eso es porque de pronto al digitador le está dando flujera a preguntar --> ese dato o quizás en la interfaz gráfica la cree muy mal y ese dato no se alcanza a --> ver y el señor no le pregunta y le da a guardar, bueno muchas cosas que pueden pasar con --> respecto a eso. Notarás entonces que esta sería esta parte y en la parte de arriba te vas a --> encontrar con la columna que escogiste, aquí tienes la columna customer, tienes first name, --> last name y vas a tener una columna por cada tipo de, por cada columna que tú escogiste, --> ahí está y tienes una columna que simplemente enumera, que es importante para la selección --> ya te digo para qué, mira lo siguiente, en primer lugar aquí tienes row com y aquí tienes --> varias cosas, en primer lugar si tú quieres por ejemplo contar el número de filas del customer --> id, entonces tú te vas aquí a customer id que es, perdón, este de aquí y le das click, --> eso para seleccionar un solo indicador, ese indicador aplica nada más que para esa columna --> customer id solamente va a contar el row com. Si tú quieres seleccionar que todas las columnas --> que tienes ahí vayan a contar row com, le das click donde está este espacio en blanco de aquí, --> al darle click aquí es coger toda la fila, --> se me quedó, aquí está, ahí está, se me quedó. Esto que hace, selecciona todas las --> filas significa que todas las columnas que están aquí, les voy a contar el row com, --> si quieres pues le das selección o coges de manera particular. --> Si quieres ahora seleccionar todos los indicadores para todas las columnas le --> da click en la primera columna de la primera fila, este de aquí, click aquí y eso selecciona --> todo. La pregunta después, tengo que seleccionar todo, no, lo que pasa es que si haces esto así --> el problema que vas a tener es que vas a tener mucho dato, entonces de pronto te complica --> más analizar muchos dados, al final tú decides que deseas hacer entonces. Para el caso particular --> déjala esa forma, entonces vamos a seleccionar todos los indicadores para todas las columnas, --> analiza algo, en el caso del default column, este que está aquí, por qué no pudo seleccionar, --> porque seguramente ninguna de esas columnas tiene un constrain default. Solamente se --> explicaría si el constrain de la columna tiene un default, si no, no aplica. Si te das cuenta, --> si, ah perfecto, listo, si está en esta en esta sección hay dos formas, o le das --> select indicator aquí abajito, o select indicator acá abajo, acá arribita, --> dale click por favor para ver, dale click por favor, si, listo, voy a darle click aquí, --> expando simple statistic y voy a seleccionar todos los indicadores para todas las columnas, --> como es la primera columna de la primera fila y me selecciono a todo. Les decía que el default --> aparece desactivado porque seguramente ninguna ninguna columna tiene constrain default y --> analice que el caso de simple statistic, el black count aparece desactivado para el --> constrain default. ¿Por qué? Porque seguramente esa columna tiene un nonnul, un nonnul que no le --> deja por lo menos colocar el blanco. Bueno, listo, entonces vamos a lo siguiente. Dale aquí ok por favor --> y espere un momento, en que al parecer está agregando los, está un poco lento, listo, vea --> que para cada fila le agrego un par de elementos, es decir, los indicadores que usted --> elegió. Si hay una fila que no se señaló, si hay una columna que no le agrega identificador, --> te sale un error porque todos los columnas tienen que tener a lo mucho o por lo menos --> un indicador. Listo, después de esto que ya he configurado los indicadores, procede el paso --> entonces ya a ejecutar ese análisis. --> Y listo, te va a generar entonces una gráfica. Vamos a analizar entonces la gráfica que nos --> genera. Por favor, note lo siguiente, si usted baja, puede que no alcance a ver todos los --> indicadores porque seleccionó muchas columnas. Si quiere ver varios, entonces en la parte de --> abajo puede navegar a diferentes pestañas. En la parte de abajo, listo, alto seguido, --> entonces vamos a hacer una parte de configuración. Quizás a usted no le gusta ver todo en esas --> pestañas. Quizás quiera ver todos los datos en una sola pestaña. Bueno, para esta parte --> entonces vamos a lo siguiente. Vaya a donde dice Windows, Preferences, Profiling, Editor. --> Y acá en la parte de abajo le quiere decir cuántos sitios aparecen para las pestañas --> de resultados. Voy a colocar aquí 15 y cuánto a nivel de reglas de negocio. A usted lo ajusta --> como usted quiera. De pronto a usted le gusta en diferentes páginas o le gusta --> y por favor vuelve a ejecutar nuevamente el análisis y debería cambiar la forma en que --> vas a ver los datos. Deberías verlo en una sola pestaña. Ah, perdón, creo que me toca cerrar --> y volver a abrir. Un momento, para que tome la configuración. Doble clic aquí. Creo que me --> gusta. Voy a ejecutar nuevamente. No sé si ya los muestra para ver. No, listo. Solamente --> es cerrar y volver a abrir. No hay que volverlo a ejecutar. Solamente es cerrar y volverlo a --> abrir. Es una pestaña crucial. Digamos que es la básica que en todo proyecto Nice tiene que --> tenerlo en cuenta por lo menos. Listo entonces. Note que para cada columna tiene una gráfica --> y tiene una tabla. Entonces, por ejemplo, aquí en mi pantalla estoy viendo los datos de --> customer ID, pero más abajito tengo lo de false name. Cada uno, cada columna va a mostrar --> los indicadores que usted haya seleccionado. Para este caso cogimos todos para todas las --> columnas. Significa que las tablas y las gráficas se van a parecer iguales a nivel de --> columnas de lo que va a mostrar. Vamos al caso entonces, por ejemplo, del customer ID. Acá si --> lo quieres ver gráficamente o a nivel de tabla, te está diciendo lo siguiente. Mira, --> ven acá. El número de filas que tenemos actualmente es 59. El número de registros --> distintos son 59 y de único son 59. Tiene sentido porque ese señor es ya de primaria. --> Es decir, ahí no hay ningún tipo de duplicado. Por eso decía, ahí de pronto --> carece sentido uno analizarla ya de primaria porque al fin y al cabo te va a dar prácticamente --> la misma estadística. Vamos ahora con el false name y analicemos un par de cosas entonces. --> False name. Mira, ven acá. Date cuenta que hay 59 registros. Listo, perfecto. ¿Cuántos nulos hay? --> No hay ninguno. Si tú tienes un nulo ahí, tú puedes decir, mira, te dice, mira, vamos a hacer --> una campaña en el cual vamos a mandarle una felicitación el día del cumpleaños a mis --> clientes. Si tú no tienes el false name, ya tienes un problema porque ya no podía hacer --> ese mensaje tan personalizado. Entonces, tú tienes que analizar cómo el nulo afecta una --> decisión en particular que tenga la empresa. Pero dese cuenta de algo. El número de distintos --> que hay, hay 56. El número de únicos hay 53 y el número de duplicados hay 3. Entonces, --> lo que hay que entender que llama el único, que llama distinto y cómo cuenta los duplicados. --> Entonces, vamos a lo siguiente. Te lo voy a mostrar acá a nivel de un archivito. Entonces, --> voy por aquí. Voy a abrir acá. Supongamos lo siguiente ahora. Tienes los siguientes registros. --> Tienes clientes. Tienes uno y tienes el nombre del cliente. Perdón, tienes el código del --> cliente y tienes el nombre del cliente. Tienes aquí uno y tienes el cliente, por ejemplo, --> que se llama Ana. Tienes dos. Tienes el cliente que se llama, por ejemplo, Alberto. Tienes --> tres aquí. Voy a colocar entonces Jesua que es aquí. Cuatro. Voy a repetir aquí Ana. --> Cinco. Voy a repetir aquí Alberto. Entonces, vamos a contar el número de row con aquí. --> ¿Cuál sería? Pues sencillo. Sería el número de filas. En este caso, row con tuyo sería 5. --> El número de elementos distintos. Distintos en nombre. Entonces, ¿qué es lo que hacen --> internamente? Si hay duplicados, se lo cuenta una vez. Queriendo decir lo siguiente. Aquí --> tengo Ana. Tengo Alberto. Tengo Jesua. Lleva tres. Ana lo tengo aquí. Ya no --> cuento porque está duplicado. Alberto no lo vuelvo a contar porque está duplicado. Quiere --> decir que el número de distintos es igual a tres. O sea, en pocas palabras, cuenta los --> duplicados independiente del número una vez. Es decir, aquí me daba lo mismo si aquí hay un --> seis, por ejemplo, Ana, porque el número distinto me seguía igual. Los duplicados los --> cuentan a más una vez. El otro es los únicos. Para él los únicos son aquellos --> elementos que no tienen repetición. No tienen repetidos. Entonces, Ana no lo puedo contar --> porque Ana tiene una repetición en el registro cuatro. Pero puedo contar. Alberto tampoco lo --> puedo contar. Solamente contaría Jesua. Jesua entonces me indica que es uno. Es decir, --> de los registros nada más tengo uno que no se repite. Los demás se repiten. ¿Y cuántos --> duplicados tengo? Entonces, cuento los duplicados. Digamos, no cuento lo original. Por ejemplo, --> no contaría este Ana si no cuenta cuántas veces repite Ana a partir de aquí. Ana se repite --> una vez y Alberto una vez. Duplicados igual dos. Y de esa forma entonces es que haces el --> cálculo a nivel de duplicados, únicos y cada uno de los elementos. Entonces, la herramienta, --> mira cómo te funciona la herramienta. Vamos por acá. La herramienta te hace lo siguiente. --> Voy a cerrar aquí un momento para concentrarme. Aquí voy a colapsar --> a este señor para concentrarme en Farsen. Distinct Count. Entonces tú vas o de este lado --> o de este lado. Voy a ir de este lado que me parece más sencillo. En la gráfica que yo quiero --> analizar le doy clic derecho. En este caso quiero analizar los distintos. Click derecho. --> Y esta opción te dice ver los valores que son distintos. Entonces yo doy clic aquí y aquí --> va a aparecer. Hace una consulta contra la base de datos que está demorando y me --> debería aparecer los valores. Qué raro. No sé si es que está a alguno le pareció. --> A mí no me pareció. Qué raro. Vamos aquí a lo siguiente. Voy a ir nuevamente. Qué raro. --> Click derecho. Ver valores. --> Bueno, aquí debe aparecer. Yo creo que está ejecutando. Creo que hay un problema de memoria aquí. --> Alguno le apareció. Sí, hay algunos que le apareció, pero a mí no me apareció. --> Bueno, si coges custom ID, te debe mostrar las filas. Aquí debería mostrar las filas. --> Es decir, las filas las saca de esta consulta. Pero qué raro que no lo haya hecho. --> Sí, le muestra el nombre. Debería mostrar el nombre, pero qué raro. De pronto es que --> está lento. Pero voy a quitar este 5010 para ver. Está desactivado este señor que está acá. --> Eso sí es sumamente raro. Voy a ser al ingeniero. Voy a cerrar este señor de acá. --> Y voy a volver a abrir aquí. Intentar ver las filas que son, en este caso los valores que --> son distintos. Veo que está funcionando muy lento. Voy aquí nuevamente. --> La fila que vamos a escoger es first name. --> De este señor, clic derecho, ver valores. Bueno, aquí no sé qué raro. Voy a intentar --> ejecutar nuevamente el análisis para ver si de pronto ahí cambia. --> First name es que está muy lento también para subir las gráficas. --> Me va a tocar subir memoria aquí a esta máquina virtual para ver. --> Bueno, aquí está, clic derecho, ver valores. --> Esta consulta que está aquí es la que debería sacar para mostrarme los valores. Aquí debería --> mostrármelo, pero aclaro que no sé por qué no lo hace. No le veo ningún error aquí. Voy a --> dejarlo aquí abierto entonces por si acaso. Bueno, sigo entonces de todo modo. Ahí no sé, --> tengo que analizar más internamente qué pasó aquí. Aquí también puedo hacer los --> ver valores y aquí esta opción me permite ver los valores y la fila completa. Voy a cambiar --> valores por View Rows para ver si una muestra. Tampoco me la está mostrando a ninguno de las --> muestras. Bueno, a alguno de las muestras, ¿Verdad? Creo que el único que no las muestra es a mí. --> Sí, bueno, tengo que analizar qué pasó con el caso mío. --> Listo, miren, entonces aquí esto es para todos. Vamos entonces, vamos a analizar un poco. Voy a --> buscar columna interesante. Voy a buscar la columna, por ejemplo, del postal code. Por favor, --> busque entonces la columna postal code. Postal code. Creo que aquí está postal code. Vamos a ver. --> Aquí está postal code. Por ejemplo, digamos que tú quieres mandar unos paquetes. Digamos que tú --> empieces de paquetes. Si te das cuenta, el postal code tiene cuatro, tiene cuatro columnas, --> en cuatro regitos en que la columna es nulo. Entonces ahí vas a tener un problema porque --> quizás a esas cuatro personas no le va a llegar lo que tú decías mandar. Si tú le das, --> normalmente le das click aquí. Bureau. Debería, bueno, mostrar también. No sé por qué no debe --> mostrar. Me va a mostrar las filas en las cuales ese señor es nulo. Ahí quizás tú mandas --> un reporte de análisis a decir que esa columna está nula y ver para ver cómo hacemos para --> llenar de datos esa parte. Llenar datos puedes hacerlo con curación social. Básicamente en --> esta curación social lo que tú haces es que le ayudas a alguien que sabe de negocio a que --> te ayude a completar los datos. Vamos a buscar por ejemplo la de correo. Bueno, aquí tengo --> city y digamos que cada una puede tener un contexto diferente. Date cuenta lo siguiente, --> solamente tienes, por lo menos tienes diez, diez registros en los cuales hay clientes que --> estado, por ejemplo, lo que tienes tienen que tus clientes, por lo que está diciendo la gráfica, --> es que hay cuatro, bueno cuatro duplicados, pues significa que hay cuatro registros que --> están a nivel, al final terminas ocho clientes que puede estar viviendo en la misma región. --> Voy a buscar entonces al final la que me interesaba que era el de el de teléfono, --> el de perdón, el de email, mira el de email, búsquete de email. --> Email te está diciendo, por ejemplo, en que ahora todos los correos que tienes ahí son --> diferentes y digamos si tú estás pensando en que tu user ID sea un correo electrónico y --> aparece uno que está duplicado, epa es una alarma, tengo dos clientes con el mismo correo, --> está sumamente raro. En este caso, supongamos que tú tienes una aplicación en el cual --> tengas el correo como user ID, significa que cada usuario tiene un correo diferente y es lo --> que debería ser. Búsquete por ejemplo phone, teléfono, ¿cómo estamos a nivel de teléfono --> para ver si hago campañas de mercadeo por teléfono? Creo que lo pasé. Se llama phone, --> ese fax se envió y eso no se usa. Por ejemplo, phone me está diciendo y voy a leerlo ahora --> a nivel de porcentaje, me dice que el 1.79% de los datos en total son nulos. En pocas palabras, --> si hablamos a nivel de cantidad, tengo un cliente en el cual no tengo su teléfono. Por --> ende, activar una campaña de mercadeo lo que puede llevar es que el 1% de esas personas que --> están como clientes míos no le llegue como tal ese mensaje. Y de esa forma entonces es que --> empiezas a analizar cada uno de los aspectos que le toca entonces. Normalmente la herramienta, --> así como está, si es que la vas a usar, vas a hacer entonces dos cosas. Una cosa es --> a detectar anomalía y otra cosa es documentar anomalía. En el caso particular de que tú --> no seas el ingeniero de datos o la persona encargada de solucionar la limpieza, te --> tocaría mandar ese reporte al ingeniero correspondiente para que solucione la anomalía --> como tal. Listo, y esto entonces lo puedes ver. Puedes analizar entonces ahí varias cosas. --> Listo, entonces vamos a hacer otro pequeño análisis, pero voy a restringirlo para que se --> vea mucho mejor, para que le queden los dos ejemplos entonces. Quiero activar una regla de --> negocio. Entonces aquí la estás visualizando, pero de grados que tú quieras. Oye, venga acá, --> si los nulos están por encima del 10%, por favor, activen una alerta. Y con esa alerta, --> pues ya yo es más fácil visualizar. No me toca ir gráfica por gráfica y ver para ver que está --> pasando. Entonces para esto voy a hacer lo siguiente. Entonces vamos a crear aquí, --> cerremos este señor de acá. --> Cerremos este señor de acá. Y ahora, sí, dígame. Liliana me dio, ¿verdad? Sí, me dio Liliana. --> OK, así. Normalmente esto es clic en análisis colundar, pero en el análisis. No en la carapela, --> doble clic ahí, perfecto. Ahora, váyase donde está la casita de la barra del menú. --> Spanda ahí, dele clic. Y ahora dele doble clic donde dice DQ Repositorio. Ahí dice, en la parte --> de arriba, DQ Repositorio. En la parte de arriba del menú, más arriba. Ahí está la casita, --> doble clic. Dere nuevamente doble clic. Esto es de clic C. En final, normalmente doble --> clic para expandir y doble clic para dejar como está. Bueno, hagamos entonces lo siguiente --> ahora. Voy a crear análisis colundar. Vamos a colocar aquí un basic column. Y coloque --> lo siguiente entonces. Análisis. ¿Era con qué? ¿Con font o con fax? Dejé de ver el ejemplo --> para ver. Bueno, análisis, colundar. El fax que ya casi no lo usan, pero bueno, colundar, --> fax. Voy a colocar al final alerta. Propósito, generar, generar. Aquí se me fue el enter. Voy --> a cambiarlo entonces aquí. Generar una alerta de cumplimiento para el fax. La columna fax, --> perdón. Sí, lo terminé ahí porque sí, básico. Sí, señor. Efectivamente, así --> como te dice. Listo. Ya después que terminaste aquí, entonces debe quedar más o menos así. --> La pestaña. La conexión sigue siendo la misma. Vamos a escoger la misma tabla, --> pero no vamos a escoger nada más una sola columna, la de fax. Se voy aquí a select column. --> Voy entonces aquí donde dice tabla. Y voy entonces donde dice la tabla que se llama customer --> y voy a escoger fax. Perdón, selecciono aquí. Ya seleccioné. Nada más. Nada más una columna. --> Le damos aquí, ok. Si intento ejecutar esto que está aquí, por ejemplo, intento ejecutar --> aquí. Dice, hay un error, ¿por qué? Porque todavía no le ha asignado un indicador a la --> columna. Todas las columnas en una análisis tienen que tener por lo menos un indicador. --> Listo, entonces ahora aquí lo que voy a hacer lo siguiente es select indicator --> y voy a escoger todo lo de simple, esta indica simple. Simplemente le doy click aquí y para --> esa columna van a aplicar todos esos indicadores. Damos entonces aquí, ok. --> Y te voy a agregar entonces cuáles son los indicadores que tú escogiste aquí. --> Si deseas, vamos para ver, para decirte entonces, porque normalmente estos indicadores o estas alertas --> que tú vas a colocar, se las vas a configurar según el estándar de calidad que tengas en tu --> empresa. Normalmente, como te he dicho varias veces, lo hacen de gobierno de datos. Él --> decide qué elementos mínimos tienen que existir en los datos para definir que son de calidad, --> ok. Entonces ejecuta inicialmente aquí por favor, te voy a pasar solamente una gráfica. --> Bueno y aquí la configuración ya viene un tipo sí, más o menos. Mira lo siguiente, a ti te dicen, --> mira, si la cantidad de datos nulos supera los 40, entonces hazme el favor y manda una alerta. --> Bueno, perdón, mandar no, muestra una alerta. Ah, ok, listo. Significa, date cuenta aquí que --> tengo null cone que es 47. Si está por encima de esto significa entonces que debo decir, --> hay un problema, hay que revisarlo. Esos datos no pasan, no pasan la calidad. Ah, --> listo, entonces ¿cómo hacemos eso? Listo, ya tú sabes porque el departamento de gobierno --> de datos te definió esa calidad. Vas aquí entonces, análisis setting y aquí en el --> elemento que tú quieres alertar, lo buscas. En este caso quiero los null cone. Le das --> doble clic por favor y te va a aparecer una pequeña ventanita. Y aquí la ventana te permite --> generar alertas ya sea por cantidad o por porcentaje. Aclaro que la mejor forma es --> por porcentaje. ¿Por qué? Porque normalmente pues la mayoría se coge por el porcentaje, --> no por la cantidad, la proporción de datos que cumplan o no cumplan algo. Entonces --> normalmente la mayoría te coge porcentaje. Pero quizás, quizás, quizás de pronto te toque --> por cantidad. Entonces vamos a hacer los dos ejemplos. Primer ejemplo, entonces mira que está --> acá. Aquí las alertas las disparas ¿cómo? Si cumplen la condición que está por debajo o --> que está por encima. Entonces voy a generar la alerta por encima. Es decir, si está por --> encima de cuarenta significa que me debe mostrar una alerta. Esto es un sí, sí, no. Si está por --> encima de cuarenta, vamos a darle aquí finish en uppers por encima. Perfecto, perfecto, listo. --> Date cuenta que acá tienes los diferentes columnas entre los diferentes indicadores, --> ¿Verdad? En este caso quiero generar alerta por el null cone. Dale doble clic aquí en --> el engranaje null cone, doble clic y te va a aparecer entonces esta esta interfaz. ¿Sí --> te apareció? Ahí está. Listo, en este caso entonces tú disparas la alerta si está por --> debajo o si está por encima. Vuelvo, repito, no depende de ti porque tú no eres el que sabe --> los datos, tú eres el que los procesas, tú eres el que los verificas, no depende de ti. --> Si te tocó pues ni modo. Aquí en Colombia le decimos todero. Todero es que te toca --> hacer de todo en la verita empresa. Bueno, aquí entonces en el upper vamos a colocar cuarenta, --> ya lo había colocado pero lo borré. Vamos a darle finish y por favor ejecuta porque creo --> que esto no actualiza porque me tocaría nuevamente ejecutar el análisis. Ah no, --> automáticamente ya estaba ejecutado, no hay que volverlo a ejecutar. Si te marca y date cuenta --> que te marcó, te marcó un cuarenta y siete ahí. ¿Qué va a pasar? En que tú llevarías --> si tú no eres el de limpieza, te tocaría hacer un informe y mandárselo de la limpieza. El de --> limpieza soluciona el problema y tú vuelves a ejecutar con los nuevos datos para ver si pasó --> el umbral de calidad. Si lo pasó pues perfecto, si no pasó pues reenvía nuevamente el --> comunicado diciendo oye todavía esos datos no cumplen el umbral que tiene que ser mayor a --> alerta si el número de únicos es menor a 10. Entonces primero ¿cómo se hace? Oh ya tú sabes --> porque te identifica el número único menor a 10. Entonces me voy aquí al setting, --> voy a Unicom que es donde quiero la alerta y digo oye ven acá dame un favor si tú eres --> menor a 10 por favor, aquí en la pestaña menor a 10, por favor dispara y colócame una --> alerta para saber que no cumple con la condición de calidad. Le das aquí finish perfecto aquí --> y listo. Entonces vas por acá y la pregunta del millón es ¿Será que debe aparecer o no debe --> aparecer? ¿Será que aparece o no aparece? Menor a 10, no debería porque la condición --> estoy en 12 y solamente se dispara si la condición es menor a 10. Hagamos ahora por --> porcentaje y ayúdenme en esa parte. Quiero que el número de duplicados sea cero, --> que el número de duplicados sea cero, o sea si es decir que el 100% de los datos no --> tenga ningún duplicado. Pero porcentaje ¿Cómo lo haríamos? ¿Cómo se lo ocurre? Si lo --> ocurre, tú quieres que el 100% de tus datos cumplan y que no haya ningún duplicado o sea que --> si está por encima de cero entonces el alerta tiene que dispararse. Entonces aquí muy bien, --> no sé quién respondió pero excelente. Entonces aquí tengo duplicate con y yo digo ven acá lo --> que hace como porcentaje o que también funcionaba con cantidad. Yo digo oye ven acá --> si esto está por encima del cero por ciento mandame una alerta porque eso no es lo que --> yo pedí a nivel de calidad. Y vas acá entonces y ahí lo tienes y ahora te lo muestra el porcentaje. --> Bueno al final es un juego de decir si no, si es mayor o si es menor para que te dispare o --> no te dispare. Normalmente la mayoría se da por proporción, casi raro que alguien se --> da por cantidad. Porque la proporción es mejor. Estadísticamente es mucho mejor. No mayor, --> buena pregunta, no no tiene igual. O sea mayor. Ya que se nota que somos programadores. --> Vamos entonces a hacer lo siguiente, vamos a cambiar un poco de de tablas, --> vamos a hacer el mismo. Pero analicemos a ver qué puede usted encontrar dependiendo de --> estas cosas. Por ejemplo, un nombre duplicado quizás no es tan relevante para ti. Porque es --> común en que los nombres se encuentren duplicados. Eso es lo más común que hay. Pero entonces --> vamos a hacer lo siguiente ahora. Vamos a crear un nuevo análisis columnar pero lo vamos a --> hacer sobre la tabla, ya le digo cuál. Lo que es album. No, un momento. Este de aquí. No, es track. --> Listo, vamos con lo siguiente entonces. Vamos a hacer un nuevo análisis columnar por favor y --> vamos a escoger la sobre la la la tabla que se llama track que sea pista o canción en inglés. --> Acá pista normalmente llaman pista de baile. Pista donde usted va a la discoteca y y baila --> ahí, entonces lo llaman pista. Pero en otros países creo que la pista la llaman en la --> canción como tal. Bueno, y la edad nuevamente sigue siendo columnar. --> Next. Listo. Y entonces en este análisis que está aquí voy a colocar análisis columnar. --> Track. Bueno, aquí voy a colocarlo en inglés. Track. --> Y no. Propósito entonces analizar los. --> Sí, sí, basic. Todo lo que estamos haciendo son basic column. Analizar los nombres de canciones --> y duplicados y perdón y compositores. Te pidieron hacer ese análisis. Hay análisis --> que te pueden llevar a hacer que quizás el gobierno no lo tiene claro en definir. --> Entonces te puede hacer una una una tarea de rastreo. Es típica. Aclaro que este perfil --> de de todo lo que tenga que ver datos es un perfil de una persona que es curiosa, --> está muy pendiente de los detalles, se da cuenta cuando lee un texto que si falta una --> coma o no falta una coma. Vean, yo hice un que también es una habilidad que tiene que --> tener tester. Últimamente las empresas lo que están haciendo es que le colocan --> un examen de verdad de exames técnicos, pero se los compran otra empresa. Y para ser --> tester, ustedes te colocan, por ejemplo, ok, te colocan dos frases. Ahí es la cantidad de --> diferencias que hay en dos frases. Mi hermano, si tú estás mal de la vista. Esa de ser lo vas --> a perder ese examen. No hay que le falte una coma, hay dos espacios blancos que están --> pegados. Pero bueno, ese es el perfil normalmente. Le damos finish aquí. Por favor. Y vamos --> ahora a hacer lo mismo, pero vamos a escoger, vamos a ver si lo memorizamos. No lo voy a --> decir yo. Si se queda, después lo hago. Bueno, hágalo para intentarlo hacer. Intente escoger --> la tabla track y va a escoger dos columnas, una que se llama name y una que se llama --> compositor. Compositor, creo que no acuerdo con eso. Y después agregue todos los --> indicadores a esa, a esa columna. Si no se acuerdan, entonces me siga a mí. Seleccólo, --> expando y busco la tabla que me interesa que se llama track. Selecciono aquí y voy --> a seleccionar aquí compositor y el nombre de la pieza. Creamos un nuevo análisis, --> ya lo hizo. Vamos a desear la tabla track. Sí lo creo. Listo. Seguidamente entonces --> vamos a escoger la tabla, las columnas compositor y name de la tabla track, que es la que quiero --> analizar. A modo informativo, recuerden que no puedo hacer análisis sobre dos --> talas diferentes, o sea, columnas que tengan dos talas diferentes. No lo puedo hacer. --> Es un limitante que tiene herramienta y creo que, pues, tampoco tiene mucho sentido --> de pronto ver ese análisis. Si hay un, bueno, estos colunares, pero si hay análisis en que --> puedo hacer un cross table, ya lo voy a mostrar que es sumamente interesante y más --> específicamente cuando tenga referencias. Es sumamente interesante. Veamos, ok, aquí. --> En la tabla me perdí un momentito. ¿Quién me habló, Liana? Analizadis. Ahí debes --> escoger la conexión, pero la conexión no. Esa es una forma de hacerlo, pero ya lo tiene --> este lado ya. Del lado donde tiene ahí el mouse, escoja select columns, escoja la tabla --> y la forma en que usted lo hacía es directamente con la tabla, que también me da lo mismo. Y ahí, --> por favor, seleccione nada más. Creo que deseleccione track mejor primero y ahora --> seleccione nada más, que salía más rápido. Seleccione ahora composer y name, que es lo que --> quiero analizar. Ahora, por favor, después que de ok, seleccione todos los indicadores para --> esas dos columnas. En simple statistic, si quiere la expande y aquí puede escoger los dos. --> Vamos a darle entonces aquí ok. Vamos a darle aquí entonces ya tengo la configuración que --> tengo. Voy a darle aquí room. Listo. El caso de Jesu, ¿Qué te pasó? Muestra a Jesu. --> Ah, te faltó escoger los indicadores. Dale en select indicator, Jesu. Select indicator. Listo. --> Expande. A ver, te faltó los indicadores para la columna 2. Si quieres, le da click --> a eso ahí. Perfecto. Porque desde por lo menos uno. Listo. Y dese cuenta que aquí vienen unos --> casos que preocupan entonces, por lo menos. Entonces, usted pensaría, bueno, --> tengo un par de problemas aquí. Tengo 978 canciones que no tienen compositor. --> Y eso puede ser un problema legal, más que todo, por ejemplo, en este caso del país. --> Porque normalmente cuando usted vende música, usted tiene que darle regalías a la persona que --> es dueña de la canción y a otra persona, bueno, un conjunto de personas. A los músicos que --> participaron en eso. Pero de entrada ya hay una inconsistencia con respecto a eso porque me --> encuentro que hay canciones que no tienen compositor. Sí sé que hay unas canciones que --> de pronto ya son más en el mercado de la música que de pronto son anónimas. Pero ahí, --> cuando son anónimas, normalmente se les debe pagar el Estado. En el caso de Colombia, --> no sé en otros países cómo será. Si usted quiere, bueno, esperemos que me muestra ahora aquí. --> Voy a ver las filas que están en nulas. Y no aclaro, no sé por qué aquí no me está --> mostrando esta parte ahora. Ahora reinicio la herramienta para ver qué pasó. Por favor, --> vea, narice. No, no me da. No, aquí hay algún problema de actualización, no sé. Es --> no nada. Bueno, vamos para ver entonces. Ahora, aquí yo podría entonces qué hacer, sacar los --> nombres de canciones. Y aquí hay algo en particular. Voy a tomar aquí la imagen de --> alguien porque no me sale. Mira cómo sería en este caso. Voy a, Antonio, atribuidamente voy a --> mostrar tú en pantalla. En este caso está mostrando cuáles de esas filas no tienen --> compositores. Están compositores nulos. Ahí le aparece null. Entonces, si esto es preocupante --> para ti, lo máximo que podías hacer es un, digamos, un reporte diciéndole mira, averíguate --> por qué estas canciones no están en null. Entonces, aquí la herramienta tiene un pequeño --> limitante porque es open source. Antonio, si ya le das clic derecho sobre la posición en --> que está el mouse, por favor. Y ahí hay un export, por favor, dale clic derecho. --> Ahí en la tabla esa, por favor, clic derecho. No está apareciendo. Clip derecho, --> no. No te aparece ahí una sesión que dice export, no. Ah, listo. Ahí te dice export. Dale donde --> dice export. Ahí lo puedes exportar a diferentes formatos. Escoge SSV que es el más, uno de los --> más usados, por favor. SSV, el primero. Aquí puedes hacer la configuración si quieres --> hider cuál es de pronto el carácter de separación que tú quieres. Escoge, por favor, --> la ubicación y el nombre del export para decir cuál es el problema que vas a tener. --> ¿Quieres? Colócalo en, no sé, en cualquier ubicación del disco. --> Bueno, le adelanto. El limitante de la herramienta es que solamente le permite, --> creo que 50 filas. 50 filas. La herramienta, pues, entre el país no lo permite. Ahora, --> eso es un limitante para ti, para tu informe. Si se da cuenta, la herramienta, lo que le --> está mostrando en la parte de arriba es la consulta SQL que sacó para poder tomar los --> datos. Entonces, ¿qué deberías hacer? Dale safe ahí. Bueno, cuando puedas, le das safe. Y listo, --> le das ok. ¿Qué puedes hacer? Si se da cuenta, la parte de arriba está usada el --> carterisco. Entonces, tú puedes tomar la consulta y la llevas a la base de datos y --> sacas los registros y haces un export directamente en la base de datos porque ahí no vas a tener --> problemas del limitantes. Si es el caso, ese es la consulta y la llevas a la base de --> datos y me da. Esa consulta es sumamente sencilla, no hay ningún problema. Si quieres, --> nuevamente al análisis, por favor, análisis colunar ese que está ahí. Vamos a analizar --> algo, por ejemplo, con respecto a los nombres. Me doy cuenta en que hay nombres que están --> repetidos. Hay 206, pero sería 512. O sea, aparece por lo menos dos veces lo que aparece --> ahí. Si tú le das clic derecho, dame el favor, clic derecho, ver valores inicialmente. Ese --> valor es lo que voy a mostrar. ¿Cuáles son? Las que están repetidas. Entonces dice Angel --> Perfect está repetida, pero bueno, para hacer un análisis más profundo, por lo menos puede --> que la canción sea igual, pero que el álbum sea diferente. Entonces, ¿qué pasa? Puedo hacer --> un análisis a nivel de analizar la canción con el álbum. Vete entonces al análisis de --> Columns, por favor, análisis nuevamente, análisis nuevamente y dale clic derecho en --> el álbum, por favor. Y ahora muestra la fila completa. Deschulea, por favor, el limit row --> que aparece en cien porque hay doscientos y dice no, va a ser limit row, en la parte de --> arriba tienes un limit row, hay, deschulea, deschulea esa parte. Vuelve a ejecutar la --> consulta en el play, en el play. Ok, ahora dale clic en el name para que te obtena por --> nombre, dale clic ahí. Y por ejemplo, ya aquí me aparece, me dice, bueno, oye, la canción que --> se llama dos minutos en la noche aparece repetida seis veces, me parece a mí, pero --> analizamos para ver si primero el compositor es igual. Me doy cuenta que en la, en el uno y --> en el tres el compositor es igual. Ahora date cuenta si el álbum es diferente. Ah, no, --> si es diferente. En la primera está en el álbum con código 95 y en el otro 104. Eso --> normalmente es cuando no vas a, no te piden algo específico si no te dice, mire, analiza para --> ver si de pronto hay errores partiendo de cómo están los datos en la base de datos, en este --> caso en particular. Ahí está interesante. Ahí está, ahí está interesante. Bueno, en primer --> lugar, tengo seis veces el nombre repetido. Tengo, en los seis veces tengo cinco veces --> del mismo género y un género diferente que es el uno. Tres veces el tres, bueno, cinco --> veces el uno y me doy cuenta en que las canciones están en álbum diferente. Están en álbum --> diferente pues es lógico que podía que podía ser el mismo nombre, pero no sé si es posible --> en que tú tengas el mismo nombre de la canción dos veces en un mismo álbum. Quizás pueda ser --> posible porque puedas tener una versión rock, no sé, una versión cumbia para una, --> no hay una canción y no hay versión rock en el mismo álbum. Eso es raro, pero quizás al final --> no sé dónde quiero llegar, que depende de la realidad y esa actitud de los datos de tu --> empresa, de cómo lo manejas. Pero lo que es que la herramienta te puede fácilmente ayudar y --> encontrar relaciones que de pronto puedas encontrar un error específicamente. Es más --> que todo eso. Bueno, sigamos entonces, hagamos algo en particular. Ahora sí me voy nuevamente --> y para hacer un pequeño brillao después vamos a agregarle un pequeño patrón. Un patrón --> para que veas los datos. Entonces, voy nuevamente aquí y para no tener que hacer un nuevo análisis, --> por favor. Bueno, voy a cerrar todos estos señores que están aquí. Voy a abrir el primer --> análisis que era el del cliente. --> El del cliente. --> Expande, por favor, la columna email si son tan amables. --> Bueno, aquí hay muchos. Bueno, aunque tampoco era necesario, no sé para qué pena. No era necesario --> ampliarla. Pero bueno, si la tienes ampliada, lo mismo al final. Nota entonces que en cada una --> de las columnas te aparece el data meaning, que ya te he explicado para qué era, y te aparecen --> dos cosas. El patrón y un UDI. Ese UDI son indicadores de usuario. Vamos a agregarle un --> patrón entonces al correo. Dele click por favor donde dice pattern, doble click por favor, --> y te aparece una ventana. Expande la ventana y vas a tener dos tipos de patrones. Los --> patrones vamos a hacer uno cada uno para cada tipo. Pero al final el patrón Reyes --> termina siendo una opción regular y el patrón SQL termina siendo un like en SQL. --> Expande Reyes, por favor. --> Y no veo por aquí. --> Perdón. --> Mira si hay uno de correo aquí que no lo alcanzó a ver. No vi el de correo aquí. --> Perdón, lo tienes a nivel de patrón SQL, qué pena. Lo busca ese en SQL. --> Aclaro, si se da cuenta aquí en SQL, que me confundí, pensé que estaba en Reyes, --> está en SQL, quiero validar ese correo con un formato Reyes. Tú puedes aplicar tantos --> patrones tú quieras. Entonces, por ejemplo, yo puedo aplicar este patrón aquí y este --> patrón significa que va a validar los dos patrones. Pero eso te puede causar una --> confusión. Por favor, nada más deja que valide los correos de tipo Yahoo. A ver --> qué pasa. Nada más déjale email Yahoo. Le das OK por favor y vuelves a ejecutar --> porque ese cambio no estaba. Vamos a ejecutar aquí. No sé si ejecutó. Este máquina --> mía está seguramente lenta, no sé por qué. ¿De qué? No, no, no hay ningún. --> Y te debió crear una nueva estadística, lo que es que tenemos muchos campos aquí --> y eso a veces da mucho ruido. Aquí la tienes SQL Pattern. Está de penúltima y mira --> lo que está diciendo la estadística. Está diciendo cuántos de los registros que --> están en la tabla cumplen con el patrón. Para el caso particular, como tenemos los --> mismos datos y yo dando las mismas estadísticas, lo está diciendo que el --> 29% de los datos no cumplen con el patrón que tú definiste y el 38%, 30% de los --> datos si los cumple y aplicar lo mismo. Puedes darle entonces clic derecho y --> puedes ver cuáles son los válidos y cuáles son los inválidos. Entonces, si yo quiero --> ver los valores válidos, le doy clic aquí y me va a mostrar cuáles cumplen --> esa condición, ese patrón que tú definiste. Y esto cuando lo creas, --> nuevamente cuando el de gobierno te dice, mira ve, los correos de mis clientes tienen --> el siguiente formato. Entonces tú defines un patrón para que te verifique eso. Aquí --> cuando ejecuto esto no pasa el umbral, a menos que te hayan dicho, bueno ve acá, --> por lo menos que el 30% no los cumpla o si los cumpla y ahí tú defines una --> alerta con respecto a eso que está ahí. Si me permite entonces hacemos un pequeño --> bray de 10 minutos para descansar un poco la garganta y también usted --> descanse y volvemos entonces en 10 minutos para hacer más ejemplos. Ahora sí --> vamos a hacer un patrón nosotros. Listo, entonces nos volvemos en 10 --> minutos. Gracias. Bueno, regresamos nuevamente. Creo que me tomé dos --> minutos más, disculpe por eso. Seguimos entonces. Voy a poner el --> siguiente caso. Voy a mostrar un momento, por favor, haga lo siguiente. --> Aquí yo instalé una herramienta de administración de MySQL que se llama --> el Worldbench. No es muy buena, pero claro yo he trabajado con MySQL, pero esta --> cuestión académica no es necesario un motor tan grande, pero acceda aquí a --> MySQL Worldbench. Si están amables, denle doble clic. Si están amables a MySQL --> Worldbench. MySQL Worldbench. Y por favor, inmediatamente aparece una conexión --> que se llama local, distancia local, denle doble clic a esa conexión por favor. --> El power es root y salve el password para que no tener que --> que digitarlo nuevamente. Root, el mismo que hemos usado y estamos en la casa --> anterior. Aquí hay un pequeño guardia que continúe. --> Y le aparece entonces la ventana. Nota que en el título de acá arriba le --> dice esquemas, ¿Verdad? Entonces a este señor en esta herramienta llama a las --> bases de datos esquemas, pero esquemas en oral es una cosa diferente y esquemas --> en postal es una cosa completamente diferente. Es solamente para mencionar el --> problema conceptual que a veces nos toca todos los días en esta granita --> carrera. Bien, entonces mire, le pongo el contexto del problema. --> Supongo que es una empresa que vende, el caso de Chinu vende, en este caso --> vende canciones, pero hay un inconveniente a nivel de inventario. --> Es decir, la cantidad de elementos que tengo en inventario no cuadra o no --> cuadra la caja. Decir que la cantidad de ventas que están en el software no --> cuadra con la cantidad en efectivo que está en la caja, como se llama. --> Las ventas no cuadran. Entonces, para realizar esto entonces hay que hacer un --> poco más el modelo. Vamos a ver dónde se guarda la parte de las ventas. --> Entonces las ventas, la base de datos que me interesa es Chinu. Dele --> aquí Spanda, por favor, y Spanda Tables. --> Espere un momento y voy a intentar encontrar el esquema por acá, el esquema Chinu --> para mostrarlo de este lado mejor. Vamos a ver. --> Un momento por favor. Bueno, este, un momento. --> Este es el esquema mejor, este es el diagrama relacional. --> Entonces, este señor lo que hace es lo siguiente. --> Normalmente en las tablas de compra y venta tú las divides en dos, verdad? --> En un encabezado y en un detalle, ya eso está establecido. --> Y entonces tengo la tabla encabezado, se llama Invoice, y la tabla de detalles --> se llama Invoice Lite. Entonces hay un problema en que quizás el detalle --> no está cuadrando con el total que tengo en el invoice. --> Entonces, usted se cuenta lo siguiente, por una cuestión netamente de eficiencia, --> porque teóricamente no te da, es decir, de esta forma, tú seguramente pudiste ver --> o escuchar en la universidad, de pronto eso no lo ves tanto a nivel pragmático, --> a nivel práctico de proyectos, el concepto ese de normalización. --> Esa normalización lo que busca es minimizar la redundancia de datos, --> porque el problema de la redundancia de datos es que si tengo datos redundantes, --> entonces no sé cuál es la vista verdadera, cuál es el verdadero. --> Entonces él trata de minimizar esa redundancia. --> Entonces tú recordarás que tenías primera, segunda, tercera, cuarta y quinta forma normal. --> Eso tú lo veías a nivel de universidad y quizás tú dices, pero ven acá, --> porque eso que yo veo teórico en esa universidad, porque yo no lo estoy viendo --> a nivel pragmático, en el práctico allá, en los proyectos de mi base de datos. --> No, la historia es que no es que no sirva, sino que normalmente ya por unas cuestiones --> ya que tú has aprendido de memoria en el tiempo, de la forma en que tú haces tus diseños, --> normalmente tú haces un diseño donde defines primero las entidades --> y después define las columnas. A ese diseño se llama top-bottom. --> Hay uno que es bottom-top, es decir, yo defino primero las columnas, perdón, los atributos --> y defino a qué entidad va o a qué tal la va. --> Entonces, cuando tú siempre haces de arriba hacia abajo más unas cosas --> que has aprendido de la forma en que debería o no debería hacer las cosas, --> ese modelo que tú haces te queda por lo menos en tercera forma normal. --> Entonces, no es necesario aplicar rigurosamente la teoría porque si tú ya --> algunas características básicas, alguna información que ya tienes, --> las replicas te quedas en tercera forma normal, que es lo mínimo que debería estar --> un modelo para hacer, abro comillas, digamos, no eficiente, --> sino que minimice la mayor cantidad de redundancia posible. --> Ya la cuarta y quinta forma normal tú la aplicas normalmente en tablas --> como la tabla países, ciudades, bueno, no voy a meterme en ese detalle tampoco. --> Lo que sí es seguro es que hay algo teóricamente que no te funciona acá, --> es lo siguiente, que un modelo netamente normalizado es ineficiente. --> Entonces, tú necesariamente tienes que colocar redundancia --> a tu modelo, porque si lo haces netamente normalizado --> es ineficiente a nivel de tiempo de respuesta. --> Entonces, uno qué hace? Redunda cosas. ¿Dónde redunda cosas? --> Aquí este invoice no se ve, pero este invoice --> aquí tiene un total, un total que guarda la --> sumatoria de la multiplicación del unique por el quantity, --> hace la sumatoria de los productos que están aquí en esta factura y el total lo guarda de este lado. --> ¿Para qué lo guardas? Sencillo, entonces imagínate el caso de la empresa --> que yo te estoy diciendo que tiene cinco millones de registros al día, por lo tanto tendría --> al mes 150 millones de registros. Si quisiera saber --> la ganancia, es lo que tiene que hacer, es un set ex sum, si no --> tiene el total en el encabezado, le tocaría sumar --> o multiplicar, bueno, multiplicar el unique por el quantity, sumarlo --> de los 150 millones de registros que tiene. --> Entonces, no le va a dar así. --> Entonces, ¿qué pasa? Yo eso lo tengo como, digamos, precalculado --> y lo que nada más sumo es el total y evidentemente los tiempos de respuesta superan ahí. --> Eso es algo que tú también aplicas a nivel de data warehouse, --> cuando haces tu data de hechos y la aplicas también cuando --> creas sus dimensiones, las creas desnormalizadas, --> mientras que cuando estás en un modelo transicional lo creas normalizado. --> Eso por una cuestión netamente de eficiencia. Pero --> el problema que se puede suceder, y a donde quiero llegar el problema para que me voy a --> solucionarlo es el siguiente, yo quiero verificar que la sumatoria --> de los productos que están acá es igual al total de acá. --> Quiero verificar eso. Si yo encuentro por lo menos --> un registro en que no coincida ese total del detalle --> con el del encabezado, hay un problema, no se guardó el registro, --> hubo un error en el software, muchas cosas que pudieron --> haber de por qué esto no funciona. --> Entonces la idea es que como eso puede ser repetitivo, es una empresa que vende mucho, --> en vez de hacer eso para un solo caso, voy a --> aplicar una regla y definir un patrón que cada mes en que me piden a mí --> verificar los datos, yo pueda, digamos, decir si eso funciona --> o no funciona y, digamos, mandar algún mensaje --> de error al ingeniero de datos encargado de la parte de corrección de datos. --> Esa es la idea entonces. Ahora, quiero comprobar --> que este total de acá sea igual al total de aquí. --> Entonces, bueno, este lo voy a hacer yo, --> acá, no es necesario, es solamente para mostrar que muchas veces hay que --> necesitamos conocimiento en SQL. Me voy ahora nuevamente a este señor --> que está aquí, voy a tratar de ampliar esto, no se ve, no se ve. --> Para seleccionar una base de datos es --> darle doble clic a la base de datos donde vas a ejecutar una sentencia SQL. --> Entonces, como acá quiero sobre la base de datos chinos, dale doble clic al chinos --> y te va a aparecer en negrita, diciéndole que estás conectado --> a esa base de datos. Significa que cualquier consulta, --> que sentencia SQL que coloque de este lado, se ejecutará sobre esta base de datos que está --> marcada en negrilla. --> Ahora, mire lo que voy a hacer de manera muy --> sencilla. Primero, voy a sacar el total de la --> tabla de talle. La tabla de talle se llama invoice line. --> ¿Cómo haría para sacar el total por factura de esta tabla? --> Entonces, lo que voy a hacer es lo siguiente. Voy a hacer aquí un select --> que sume, que me saque primero --> el nombre de la factura, --> coma y me sume el unit price --> por el quantity --> from la tabla que se llama invoice line --> y voy a agrupar, voy a hacer aquí un group by por invoice line. --> Por este invoice line que está aquí. --> Y esto que me da el total de la factura, pero a nivel --> del detalle. Me voy a ejecutar aquí un momento. --> Y ahí me está dando que la factura uno --> fueron 1.98, la factura 2.396 y hay una, --> se nota que los datos son sintéticos, porque hay una --> una curva ascendente --> del valor de los datos. Si quiere se la mando --> o si la cansa a ver o esta es la primera. --> Consulta que hice. Voy a mostrarla acá mejor para que sea más grande. --> Y me dice si no le funciona nada. Un momento aquí. --> Voy a colocarla aquí. --> No, es interesante. No es interesante. MySQL --> ha sufrido diferentes cambios. MySQL por defecto --> antes en Windows era insensitivo, pero --> en Linux era sensitivo. Entonces ahora en la ultima --> versión es 8, por defecto está insensitivo, pero usted si desea lo puede cambiar a --> sensitivo. O sea aquí no hay problema con mayúscula y minúscula. --> Vamos a ver. --> ¿Quién me habló? Disculpe. --> Vamos a ver. --> Dale a ejecutar para ver. --> Sí, ahora a nivel de sensitividad --> estamos hablando de la pregunta que usted me dice. Vamos a ver. --> Unit price. Creo que llevo underscore. --> No, no. Unit. Ah, le puse una E. Antes de la P --> le coloco una E. Antes de la P. --> Sí, unit. Ejecuta. Ok, la pregunta de ustedes es interesante --> desde el punto de vista siguiente. Es decir, el caso de algunos --> de MySQL cuando habló de sensitivo es en el nombre --> de la tabla. Por defecto, cuando yo consulto --> en MySQL un texto es no sensitivo, pero en Oracle --> por defecto es sensitivo, pero a nivel de stream. --> Y hay motores como el de MySQL que se crea complicar la vida --> en que entonces hay que colocar específicamente el nombre a tabla como estaba. --> Bueno, continuamos entonces. Sigo ahora. --> Esto me da el, me va a dar entonces --> el total de las facturas a nivel del detalle. --> Y ahora voy a hacer lo siguiente. Mira lo que voy a hacer aquí. --> Este señor. Así. --> Voy a socar el total ahora a nivel de --> del señor de la tabla --> encabezado que sería siguiente. Mejor hagamos la consulta así. Select. --> Select. --> Bueno, aquí la coloque en MySQL. No sé por qué se me fue --> el texto. Select. Voy a coger el nombre de la tabla Invoice. Si quiere --> doy doble clic aquí a la tabla y me dé a aparecer. Un momento, que será --> Fronkara. Le quiero llegar a lo siguiente. Select. --> Expanda acá las columnas y en vez de escribirle --> le da doble clic donde quiere que aparezca, así como hicimos en el talent data integration --> de las columnas cual. Invoice ID, doy doble clic, me aparece allá. --> Coma. Y quiero la columna total. --> Ve la tabla que modifique Invoice, doy doble clic --> y me va armando la columna ahí. --> Hay diferentes formas de hacer esto. --> Voy de la más fácil, quizás no es la más eficiente --> pero mira lo que voy a hacer aquí. Voy a hacer así de truco aquí. Voy a agregarle --> aquí un alias y voy a definir aquí y minúscula --> y voy a definir esto como si fuera una vista inline que llaman. --> Entonces voy a colocar esto entre paréntesis de aquí al ladito y esto se me va a comportar --> como si fuera una tabla. Esto que está aquí. --> Ve una tabla y como aparece una tabla, le voy a colocar --> un alias. Voy a colocar aquí --> Invoice Line. --> Y como tengo dos, voy a hacer entonces un join aquí. --> Por web. Voy a decir entonces --> I.InvoiceID sea igual a --> IL.InvoiceID --> Este que está aquí. --> Esto es lo que llaman. Bueno, seguramente la mayoría --> ya lo ha conocido de ser una vista inline. Es decir, hago una consulta y --> le hago creer al SELE que es como si fuera una tabla, pero --> bueno, eso me ha sacado de muchos problemas a veces para ciertas consultas --> que son complejas. El problema puede ser de punto de escalamiento. --> Entonces mire lo que deseo hacer ahora aquí. --> Para poder sacar este zoom, que es una fórmula matemática de una vista inline, voy a colocarle un alias aquí. --> Voy a colocarlo aquí como total. Y lo que voy a hacer es lo siguiente. --> Bueno, aquí como esta está repetida, voy a colocarla aquí y --> junto Invoice. Voy a dividir --> o lo siguiente. Voy a dividir el total del encabezado que sería --> I.Total --> sobre el total que me da el detalle y el total. --> Estos si son exactamente iguales debe --> darme uno. Si el valor es diferente a uno significa que --> hay un inconveniente. Hay un conveniente entre el detalle --> y el encabezado. Voy a ejecutar aquí antes para ver si sale la --> Listo, aquí está. Si desea, la mando por aquí por --> de todos modos por el grupo, por aquí por el chat --> para que la tenga ya entonces. Un momento, aquí me salió. --> Ahí la mandé. Si entiende la idea, es decir, --> esta fue la forma en que lo vi, no significa que sea la única. --> Si hago la división del total de que me da el encabezado sobre el total --> debe ser exactamente el mismo valor. Si no es el mismo valor --> significa entonces que el dato hay un problema. --> No me está dando el detalle con el encabezado. --> No sé si hay alguno que lo apoye en la consulta. --> Voy a ver para ver. Me termina y regálame cinco --> minutos para buscar un poquito de agua. Me termina por favor. Ya vengo, vengo enseguida. --> Bienvenido. --> Bienvenido. --> Bueno, volví nuevamente. Eh sí, nos dio la consulta, --> sí, nos dio, no nos dio, sí. Sí, le dio, --> alguno no le dio para revisar un momento. --> Perfecto, creo que la mayoría la tiene, Gerardo le falta por terminarla. --> OK. Bueno, --> de todos modos la mandé aquí en el grupo por si acaso. --> Ah, acá dice, --> con respecto a las máquinas, creo que el problema --> es el siguiente, con las máquinas. Usted tiene, usted tiene, disculpa un momentito --> antes para, para eso se llama el problema de las máquinas. Ustedes tienen --> portátiles, ¿qué? Portables, si tienen portables o no. --> O son máquinas de stock, máquinas perdón, PC. Permítame --> y el problema del símbolo puede ser el siguiente. Lo que pasa es que --> eh, tomemos un momento este símbolo porque creo que esta máquina --> no lo tengo. Lo que pasa es que este sistema, --> este sistema operativo eh el teclado lo tiene --> eh inglés. Y entonces si tu teclado está --> en el latinoamericano eh te va a tomar --> en los símbolos que nada. Intente de esta forma, vamos a ver. Eh --> creo que es keyboard por aquí, no es region, --> es region. Region setting. --> Un momento para él porque sí te puede causar. --> Eh --> aquí creo que por defecto no está --> español, hay que instalarlo. Ah vamos a ver. --> Instalo ese señor. --> Acá en lenguaje. --> Eh --> pero tocaría probarlo con uno de ustedes para ver. --> Es acá donde coloca region o --> lenguaje coloca acá lenguaje --> lenguaje aquí y entonces primero --> edición a un nuevo lenguaje eh adición español --> español mexicano español --> español --> español español --> España vamos a ver no pero yo creo que --> eso el problema es con los portables no sé --> eh porque yo tengo --> tengo un destoque acá entonces español y si --> perdí español de España no lo veo --> Ecuador México Nicaragua Perú Puerto Rico bueno aquí --> y después cambia el teclado a España. --> Next y después cambia el teclado lo instala y --> después cambia el keyboard este aquí a español --> y veamos para ver si funciona de pronto y --> cambiamos también la región --> sí porque es engorroso esta parte de --> configuración --> ah bueno está instalando ahí --> eh si no funcionó --> o no te funcionó perdón sí --> pero cambiaste el teclado ¿Verdad? O dejaste el teclado igual --> o solamente --> ah bueno listo --> eh bueno ahorita ya está instalando acá ¿Quién todavía necesita ayuda con respecto --> al a la consulta? Bueno te vuelvo nuevamente aquí a la consulta pues --> si todo está bien quiero crear una vista --> recuerden que una vista es lo que llaman algunos la tabla virtual --> porque al final una vista termina siendo una sentencia CQL --> entonces haga lo siguiente agreguele a esta sentencia --> lo siguiente create view --> vamos a llamarla --> ventas totales --> proporción --> y le voy a colocar aquí vista bueno el nombre fue un poquito largo le coloco --> as y voy a cambiarle voy a colocarle un alias --> a estas tablas voy a colocarle aquí identificador en español --> y voy a dejar esta como total --> le mando el --> el el la sentencia --> por acá por el chat --> ah muchas gracias acá --> acá me está diciendo Gerardo de las confecciones --> muy bien gracias eh voy a ejecutar para --> bueno no la ejecuté listo esto tuvo que haber creado --> acá una vista voy a refrescar aquí --> y aquí está la vista la vista se comporta --> como si fuese una tabla pero al final es una consulta CQL digamos --> dígame --> creo que nada más se debe seleccionar --> selecciona la la la consulta --> y le das en el rayito porque creo que el punto y coma acá no no --> no lo manejo mucho pero eh digamos solamente --> quiere colocar ejecutar una parte por ejemplo nada más quisiese ejecutar esta consulta --> aquí la selecciono y le doy aquí ejecutar aquí --> y me ejecuta nada más esa parte --> pero no sé con punto y coma --> creo que sí sabes no no no sé no sé no no lo he probado --> no lo he probado no lo he probado bueno sigamos entonces no sé si espero --> a que termina ya no sé voy a ver voy a entrar en mi room para ver si ya --> nos vamos a la herramienta si ya creo la vista o alguno tiene --> problemas con la creación de la vista porque recuerden que la herramienta a nivel de --> base de datos pues eh lee tablas y lee vistas entonces con esta vista --> ya la puedo recuperar allá a nivel de la herramienta bueno espero un momento --> que hay algunos que todavía no han terminado --> si ya la pudieron hacer --> para la herramienta voy a el alguno que todavía no creaba la vista --> ah listo y quién me habló? Eduardo entonces --> Eduardo del lado izquierdo está el panel --> de los esquemas dale refresh ya tienes el refresh ahí --> el botoncito que está ahí de ese y te debió --> crear allá view expande y ahí tienes la vista expande la vista ahí si tú quieres --> o la consulta ya eso como si fuese una tabla ahí está aquí aquí --> está bien pequeño bueno listo entonces --> vamos ahora a la herramienta --> y vamos a crear entonces un análisis --> ah perdón antes del análisis --> eh revise la conexión para ver si le aparece --> el debería eh creo clic derecho --> recargar lista de base de datos --> reload --> para recuperar la vista --> no sé si es en la conexión un momento a ver --> está embrando un poquito --> eh listo eh --> váyase a la conexión y le dice reload --> para que le cargue la vista --> debería aparecer entonces con el nombre que usted colocó allá --> y la estructura a nivel de columnas con los nombres que especificó --> no creo yo no leí --> para ver quién me dijo --> ah no pero no hicimos ningún cambio --> agregamos no cambiamos entonces va a seguir emocionando es más como un warning --> ahí creo que el mensaje está como muy exagerado --> listo entonces ahora vamos a crear un patrón --> de tipo SQL le da clic derecho y le dice new pattern --> por favor --> entonces el nombre del patrón vamos a llamarlo entonces --> verificar totales --> factura --> eh dale next por favor --> y ahí te pide el lenguaje --> que deseas más específicamente si da clic aquí puedes escoger --> de pronto alguna funcionalidad de algún motor pero este no es el caso --> eh vamos a usar el SQL estándar y entonces aquí en la --> expresión ojo lo siguiente lo que vas a colocar --> sí no no vamos primero a hacer el patrón --> que me habló analiza esto por favor entonces haga lo siguiente --> cierre la ventana esa de inicial todavía no hemos hecho análisis --> cierre la por favor cierre vayase --> cierre esa ventana de crear nuevo primero listo --> ahora en del lado del menú vertical la barra vertical vayase a --> patrones expande patrones ahí por ahí se quita --> ahí patterns ahí listo en SQL le da clic --> derecho y le dice crear nuevo patrón ahí verificaron del score proporción totales --> se llama el patrón verificar --> con del score proporción totales --> y aquí creamos aquí vamos por ahí --> y aquí en esta parte lo que va a hacer es lo siguiente --> se me perdió la conexión --> se me perdió a mí --> perdió la mía aquí está ahí lo que vas a --> colocar es la comparación del valor --> partiendo de lo que es el like de pronto para recordar --> aunque sé que la mayoría lo sabe recordará entonces que a nivel --> de base de datos se tiene en el operador que se llama like --> este para buscar por patrones entonces este operador like tiene dos --> dos modificadores un modificador que es el porcentaje y un --> un modificador que es el el under score --> este significa esta reemplaza --> cero o más caracteres --> y esta reemplaza un carácter por ejemplo --> si yo quisiera hazme el favor y muéstrame todos los --> nombres que empiezan por a entonces que hace esto entonces tiene --> nombre coloca nombre like que empiezan --> por una a y que después tengan lo que usted quiera --> cero o más caracteres mira quiero los que empiecen por a --> pero terminen por n entonces le coloco aquí n dice --> que empiecen por a que haya en el medio cualquier cosa y que termine en n --> y el otro es reemplazar un carácter dice --> quiero que en la segunda columna en la segunda perdón en el segundo --> valor tenga una a entonces que haces tú le dices lo siguiente le dices --> la primera de voy a ver cualquier cosa --> pero en la segunda tiene que haber una a alto seguido después de la --> puede haber cualquier cosa que quiero que en la tercera --> haya una a entonces reemplazas por cada carácter --> reemplazas el número de valores que tú quieras y de esa forma --> funciona el like listo de igual forma si yo hago nombre --> like igual aquí a an aquí por ejemplo --> esto es exactamente lo mismo que decir nombre --> igual solamente hay cambios --> cuando uso los operadores que es el porcentaje --> son los que hay nada más listo pero si te das --> cuenta y en realidad lo dice así no quise truncar el valor si te das --> cuenta en la vista voy a consultarla mejor acá en --> momento por favor voy a consultarla acá para que te des cuenta de algo --> si te das cuenta cuando consulto la vista --> que sería el valor este que está aquí --> la vista me tiene uno punto cero cero cero cero cero --> porque uno de los valores seguramente es float y me está volviendo el valor --> el float entonces ahí no lo quise truncar en realidad --> no lo quise truncar para lo siguiente voy por acá entonces --> y mira lo que voy a hacer nada más vas a especificar --> el valor a comparar nada más --> porque la columna como yo asocio la columna con el patrón --> el nombre de la columna sería cuando yo asocio esa columna con el --> patrón ya él sabe que la columna que va a buscar es de la asociación --> entonces voy a colocar lo siguiente como este like es --> string él va a hacer una conversión de ese numérico a string --> entonces voy a colocar entre comillas simples aquí va a colocar uno --> punto cero aquí puedo hacer lo siguiente coloco punto cero punto cero --> tanto cero o coloco cero porcentaje que haya cualquier --> cosa mira como me quedo aquí --> lo que dice fue que la expresión me quedo así --> es decir coloque el porcentaje porque no quería agregar todos los --> ceros eso entonces yo mira si es uno punto cero cero cero compararlo --> con ese valor él va a volver true or false --> si es true pues va contando si es false pues no cuenta --> si no cumple estoy por aquí te quedo así --> listo aquí no hay que hacer nada y le damos finish aquí --> y te debió agregar aquí --> una expresión sql aquí te debió --> agregar aquí el valor y puedes modificar si tú quieres pues la --> expresión que vas a comparar no hay ningún problema --> ahora vamos a usarla para usarla ahora sí --> vamos a crear el análisis entonces voy a crear --> aquí en columnar voy a crear aquí un nuevo análisis --> este va a ser basic column --> y voy a colocarle entonces aquí lo siguiente --> voy a colocarle aquí análisis totales --> factura --> propósito --> analizar si los totales --> del detalle --> son iguales a los del encabezado --> ese sería el propósito --> al final dele aquí un finish --> y ahora la conexión sigue siendo la misma --> ahora voy a seleccionar las columnas que quiero analizar --> en este caso va a ser el column --> expando aquí y debería aparecerle la vista --> que creo, es decir, debería aparecerle por lo menos --> ahí el número uno diciéndole que aquí --> está la vista expando aquí y aquí está la pequeña vista aquí --> de esta pequeña vista me interesa nada más analizar el total --> y entonces aquí lo siguiente recordarán --> en que para que yo pueda ejecutar un análisis por lo menos tengo que --> agregarle un indicador a cada una de las columnas --> en este caso nada más tengo una columna pero voy a agregarle nada más un patrón --> entonces vete aquí donde dice pattern --> y busca el patrón que agregaste anteriormente --> aquí está verificar totales factura le das ok --> y colócale una alerta --> para que cumpla la condición al 100% --> ¿Cómo haríamos ahí? Sería 99, mayor a 99, verdad, o menor a 101 --> más preciso --> ah bueno, este como es numérico el valor --> me toca por número, qué pena, hay veces que sale --> no, aquí no podría ser el indicador porque este indicador --> no me da por porcentaje --> si la cantidad de elementos es menor a uno --> mi escuela me confundió, ahora un momento, vamos a ejecutar un momento --> y sacamos la regla a seguir, vamos a ejecutar un momento --> debería aparecer y todos cumplen el 100% --> no, aquel indicador es por número, no, no podría --> Nadia, me preocupa que a ti no tienes el 100%, no --> mi escuela, ahora me preocupo, vamos a ver --> vamos a ver qué pasó --> eh --> busca el patrón por favor, el patrón que hiciste --> eh no, dale cancelar acá, lo tienes del lado derecho --> le das doble X del lado derecho --> listo, ya lo abrió --> carajo, si lo tienes igual, muéstrame por favor los que no cumplen --> vete ahora, vete al análisis --> y muestra los que no cumplen --> en el resultado --> el 84 no cumple, clic derecho --> valores inválidos --> ahora muéstrame --> la consulta para ver, la de la vista --> el 404.13, vamos a ver --> no veo el error --> ah, en el where tienes un más, un momento --> en el where es igual tienes un más, es un producto cartesiano ahí --> igual, igual, igual, seguramente por la problema del teclado --> ok, el símbolo, y ahora bueno hay que cambiar la --> sentencia por create or replace --> listo, allá de create agregale or replace --> or replace --> ejecuta para ver, no, eh, es lo que decía --> tengo la duda ahora, colócalo un punticoma ahí en la línea siete al final --> era la pregunta que me decía ahora alguien, eh, punticoma, hay distintos puntos --> ah, sí --> no, para no perder mucho tiempo, nada más selecciona --> eh, va a buscar el punticoma --> bueno, listo, entonces --> bueno, eh, dígame --> ¿Quién me, me habló por ahí? --> Gerardo, voy contigo entonces, vamos a ver --> dale ok, un momento ahí --> dale ok, ahí, ¿por qué? muéstrame --> eh, la, la regla en favor, muéstrame el, el --> el regex, perdón, el SQL, doble clic --> el regex, el patrón del SQL, ahí está bien, muéstrame --> sí, ahí está bien, no, ahí está bien, muéstrame el análisis por favor --> el análisis que hiciste, vete al setting, vete donde dice pattern un momento, pattern --> patrón, patrón para, sí, sí, para el momento --> expande ahí por favor, sí, tienes ese, o sea --> vamos a ver, dale ok para ver nuevamente, para ver el rock que hice, que tampoco decía --> mucho, dale escuchado para ver, como así, vete --> muéstrame la vista, para, da, da, refresca, refresca por favor ahí --> muéstrame la vista, ¿cómo te quedó? expande la vista ahí --> identificado el total, ahora, vamos nuevamente acá, bueno, vete nuevamente --> al, al, al --> pero lo raro, no, no, no, ahí, ahí está lo raro, lo que pasa es que --> eh borra nuevamente, borra, en la x borrarte la columna esa --> para que no hay control, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya, ya --> select indicator, dale nuevamente, pero eso, select column, perdón --> select column, select column, por favor --> expande la vista por favor y muéstrame la metadata, expande ahí, dale clic --> eh, pero, ah, ya, entendí, vete nuevamente --> a, a tu, a tu word page, ah, no, pero, es que acá --> lo que parece, lo que pasa es --> que como le cambiaste el nombre, --> vete nuevamente acá al ¿Qué --> pena? Al al talen, dale acá, --> al tal, no, vete al tal, vete --> al tal. Dale en la conexión, --> dale refrescar, clic derecho en --> la conexión y recuperar list, --> reload, reload, la primera --> opción, reload, database list, --> la primera opción. Dale reload, --> dale que OK, y ahora me --> muestran la vista como te --> dice, ¿Qué pasa table? ¿Se --> dice que está ahí? O muéstrame --> la vista, colapso, ¿te digo? --> Creo que ya te cogió. Baja, --> baja, baja un poquito, baja, --> baja un momento en es, es pan --> de view, es pan de ventas, y --> es pan de column para ver. --> Pero, pero lo raro es que el --> sitio lo detecta a nivel de --> de MySQL y no lo detecta acá. --> Vete nuevamente acá al al al --> World Bench un momento. No, --> porque tiene un punto ahí. No --> tiene un punto ahí. No tiene --> punto L, punto total. Ah, no, --> no, no está bien. No es que --> lo raro es que acá. Ah, sí. --> Ah. Al al al al al al --> ingeniero, bórate un momento --> la tabla esa. Dale clic --> derecho del del lado de la --> tabla de la vista y bórate --> la vista, por favor. Que --> raro que le metes. Dale un --> drop view. La vuelves a --> crear nuevamente. Dale --> ejecutar nuevamente. Dale --> ejecutar. Dale refrescar --> la tabla de la vista acá. Para --> eso te la creó, que estuvo --> detectado. Es pan de ventas --> y ahí tienes total --> identificador, listo. Vamos --> entonces ahora a nuevamente y --> y recarga la conexión. Vale, --> recargar. OK. Normal. Eh eh --> aquí creo que hay un problema --> con y es a lo siguiente, para --> ver si el problema es la --> conexión o ya o MySQL. --> Créate una nueva conexión --> de base de datos, me --> interesa, por favor. Dale --> clic derecho, sí, clic --> derecho, crear database, --> conexión, dale chinook uno, --> intentamos para ver si esa --> nueva conexión me trae la --> configuración de ella, --> tráeme la configuración, --> claro, chinook uno, listo, --> MySQL, listo, dale next, --> dale next, MySQL, root, --> root, server ciento veintisiete --> punto cero punto cero punto --> cero punto cero punto uno y --> la data se llama chinook chinook --> dale test connection por si --> acaso listo, bien, OK, dale --> finish y ahora vete a chinook --> uno, por favor, abajo chinook --> uno chinook uno y expande la --> vista expande ventas. Bueno, --> ahora a lo siguiente, cambia --> la conexión en el análisis, --> en el análisis, cuando dice --> connection, escoge chinook --> uno, expande ahí con voz o --> tiene que refrescar, tiene --> que cerrar y volver a abrir --> porque no coge la la --> conexión, listo, créate, --> expande ahí y escoge chinook --> uno, ahí listo, ahora --> selecciona, dale yes, --> selecciona la cruz, yes, --> esa tiene que borrarla, --> OK, dale OK y la borras, --> dale OK ahí, borrála ahí --> y ya está borrado, listo, --> dale select column, expande --> y ahí sería total, listo, --> dale OK, agrega el patrón, --> agrega el patrón, por favor --> OK, eso dale ejecutar, --> no, eso no lo configuramos, --> ejecutar, ejecutar, así. --> Bueno, ahí como que hay un --> problema, como que no actualiza, --> no sé, no actualizo, bueno, --> ahí pasó algo raro. --> Bueno, sigamos entonces. --> Vamos a crear un patrón, --> pero ahora tipo regex, --> tipo regex. --> Para esto entonces, por --> favor, hacemos lo siguiente, --> hasta que cambie aquí, --> listo, vamos aquí donde dice --> regex y vamos a crear entonces, --> vamos a crearlo aquí donde dice --> me, a lo que no hay, --> créate una carpeta para --> localizarnos, créate un folder --> aquí dentro de regex, --> llámalo entonces, mail, --> para conservar los nombres ahí --> en inglés, mail, --> y te voy a compartir algo --> entonces, mail de correo para --> para validarlo, para que deja --> conservar lo mismo. --> Por aquí tengo un, hago un --> regex, un momento por aquí, --> un momentico y busco aquí, un --> momento para compartirle un regex. --> Váyase a la carpeta que se --> llama carpeta compartida que --> creo que está ahí, para --> colocarlo ahí, no pasarlo por --> acá por, y ahí hay algunos que --> no le sirve copiar y pegar, --> entonces para copiarlo allá. --> Vamos entonces, un momento --> por favor, --> relance, clientes, --> un momentico. --> Vamos a colocar este regex --> para ver qué tal funciona. --> Vamos aquí a colocar --> cualquier, un momento. --> No, un momento, no estoy --> comprando hoy, un momento. --> Bueno, ese momento ya carga, --> listo. --> Entonces, vayamos aquí a lo --> siguiente. --> Vayamos a --> carpeta compartida, --> URL, --> voy a copiar esta URL, --> y la voy a pegar en el --> browser. --> Y aquí está un regex que está --> aquí. --> Copié mal el nombre, pero --> bueno, aquí está. --> Copié por favor la expresión --> esa que está ahí. --> Bueno, este es un regex que --> ya no lo tuve mucho en cuenta --> algunas cosas, pero vamos a --> ver cómo nos funciona para --> saber cómo se hace regex. --> Entonces, ya después que --> tenga el regex como tal, --> ya habíamos creado una --> pequeña carpeta que se llama --> email. --> Dale clic derecho por favor --> y dígale nuevo regex. --> Y llámela por favor. --> Validar. --> Perdón, verificar, verificar, --> correo, verificar, correo. --> Vamos a darle aquí en next. --> Y ahora la expresión, diga, --> sí. --> Ah, sí, este, vete, ¿Quién --> me habló? Gerardo, sí, --> Gerardo, sí, mucho bien. --> Gerardo, mira lo siguiente. --> Vete a lo siguiente, vete al --> escritorio y vas a encontrar --> una carpeta que se llama --> Entra la carpeta, entra la --> ORL, por favor. A ese --> archivo se llama ORL. --> Copia, por favor, copia la --> dirección para decirte --> listo, cópiala y ábrelo en --> el blóser, por favor. --> Entra ahí y hay una carpeta --> que se llama regex. --> Ahí está regex. Entra el --> archivo regex y ahí está la --> la presión regular. --> No, cópiala, cópiala, --> cópiala. Ahí cópiala --> directamente ahí. Y ahora te --> daría así entonces. Ahora, --> entre comillas simples, --> metemos la expresión que --> copiamos. Nos quedaría así. --> Entre comillas simple. Aquí --> le de un espacio en blanco --> ahí. Ojo, con el espacio en --> blanco al final. Que no me va --> a dar igual. Le das por --> defecto y le das finish --> aquí. --> Y te crea la expresión --> regular de esa forma. Si tú --> quieres la puedes testear --> aquí. Entonces, si le das --> clic aquí en test. --> Entonces, tienes la --> expresión y aquí colocas --> alguna algo para bailarlo, --> ¿OK? Pero hagamos lo --> siguiente y probémoslo --> inmediatamente que estamos --> casi para la para el almuerzo. --> Sí, me habló. --> No sé, vamos a ver qué --> pasó. Ah, no, listo, no, --> listo, porque tiene que estar --> cerrado entre comillas --> simple. Al inicio y al fin --> comía. Agregue las comillas --> simple para ver si está --> amable. Y al inicio. Listo, --> ahora sí, dele finish, dele --> finish. Perfecto. Entonces, --> probemos esta parte, --> probemos la expresión. Creemos --> aquí entonces un nuevo --> análisis, nuevo análisis, va --> a ser de tipo basic. --> Y este se va a llamar análisis --> expresión regular, correo. --> Propósito, validar el correo --> con un regex o en inglés o --> en español, expresión --> regular con un regex --> personalizado. Validar el --> correo con un regex --> personalizado. Se llama análisis --> expresión regular correo o --> análisis regex correo como tú --> quieres, es para verificar --> cómo se hace con expresiones. --> Ya sabes que lo puedes hacer --> a nivel de CQL o a nivel de --> expresión regular. Se aplica --> todo lo que has aprendido --> en expresión regular, lo que --> tú quieras puedes validarlo --> aquí. Te damos aquí finish --> entonces y vamos a escoger el --> email que está en customer --> como columna nada más. En la --> conexión de MySQL vamos --> entonces aquí dale chinook y --> busco la tabla que se llama --> customer. Y en customer --> solamente voy a escoger --> entonces correo. Te damos --> aquí OK. Debes escoger nada --> más correo o email, bueno --> email. Seleccione si usted --> quiere un identificador, --> aunque no necesario, quiero --> que me muestre por lo menos --> el road cone. Nada más voy a --> seleccionar road cone, aquí --> nada más me queda aquí. Y --> agregue ahora el patrón de --> tipo regex que hizo ahora. Se --> va aquí donde dice father. --> Aquí tiene regex. Y aquí va --> a buscar entonces mail y --> debería aparecer el que --> agregó nuevo. Y le da --> entonces OK. Nada más le --> agregué road cone. Road cone --> nada más. Número de filas. --> Y después le agregan el --> patrón ¿OK? ¿Quién me --> decía por allá? Alguien más. --> Road cone. Listo, acto --> seguido entonces, si ya todo --> está configurado, démoslo --> entonces donde dice room. --> Listo, y entonces aquí me --> dice en que ninguno de los --> correos cumple con el patrón. --> Deja a cambiarle ese correo --> un momentico. Voy a --> cambiarle este, voy a ver --> los correos que están aquí. --> En para ver de qué tipo son --> y agregar un regex entonces --> para eso. Un momento para --> cambiar ese regex que está --> ahí. No lo puedo ver. Un --> momento y me consigo un --> correo para que coincida con --> alguno por lo menos. --> No me sirve ninguna consulta --> hacia la base de datos. Alguno --> me puede mandar aquí por el --> check eh uno de los correos --> dos viéme dos correos por --> ahí para hacer un regex con --> respecto a esos correos por --> lo menos para que para que --> me cuadre con algunos. Que --> no puedo consultar aquí la --> bueno a menos que me vaya --> de un momento. No, ya lo --> hago por acá. Lo hago acá --> con el para traerme dos --> correditos por aquí y hago --> un regex con respecto a --> los correos tres. Aquí le --> damos. Voy a buscar el --> correo de qué tipo son. Creo --> que este correo son sí el --> problema es que es punto con --> punto BR por ejemplo. Un --> momento. Ah listo. Bueno aquí --> tengo uno que me lo generó --> aquí. Vamos. Permítame --> probar este regex para ver --> si funciona un poco mejor. --> Se me perdió el análisis --> ¿Cuál era ese? Creo que era --> ese. Ejecuto nuevamente. --> Bueno, aquí le voy a mandar --> eh un reyes, lo voy a poner en --> el archivo. Diferente para --> que el que tenía no era como --> que muy bueno. Entonces, un --> momento, por favor. Voy a --> reemplazar este reyes por --> este. Guardar. Sea nuevamente --> la carpeta compartida, por --> favor. Y copie y reemplace --> reyes que que teníamos con --> el reyes que mandé ahora. Ya --> ese reyes sí está mejor, porque --> actualiza, ya encuentra la --> mayor parte de. Ese reyes lo --> va a hacer lo siguiente. Sí, --> está en la carpeta compartida, --> efectivamente. Es así como --> usted dice. Está en la carpeta --> compartida. Permítame --> comprobar para ver. Del F5 --> aquí lo de F5 debería --> cambiar. --> Sí, ahí está. Todo que no --> tenga espacio ni al principio --> ni al final porque ya le --> daña la expresión. --> Sí. Dale F5, por favor, por --> recacar estos modos de cambio. --> Listo, hay algunos que no --> cumple, pero creo que el --> noventa y nueve por ciento --> cumple con ese noventa y --> ocho por ciento. Cumple con --> ese reyes. Pero la idea es --> que sepa entonces cómo cómo --> cómo agrega un reyes para --> poder utilizar digamos --> verificar elementos de --> calidad. Normalmente pues --> ese tipo de parámetros, --> formatos, te lo está dando --> el gobierno de datos. Lo que --> es que tú tienes que hacer sí --> ahora es cómo haces para --> configurar esa parte. Julio, --> en este caso no te no te --> tienes que el cien por ciento --> ¿Qué? ¿Qué reyes tiene? --> ¿El antiguo o el nuevo? --> Muestra para ver. --> Muéstrame para ver el reyes --> en el mail para ver. Ahí lo --> tienes. Ah, que no has --> guardado. En verificar --> correo si te das cuenta que --> hay un asterisco en --> verificar correo indica que --> no has guardado. Hazle --> clic ahí y ahora dale --> guardar. Te das cuenta que --> hay un asterisco cuando --> de guardar. --> Aquí, aquí, ahí, ya lo --> viste. A ver, estoy enseñándote --> aquí, ¿no? Sí, ves. Espera --> un momento, te lo coloco. --> Dale guardar ahí, por --> favor. Ahí ya estás. Sí, --> listo, ya viste que cambió. --> Ahora vuelve a ejecutar --> nuevamente. Le cambiaste --> reyes. Muestra para ver --> porque. Muestrame reyes --> nuevamente para ver. Vete a --> verificar el correo. Ah, no, --> ese es el. Ese es el viejo --> o es el nuevo que ve. Sí, --> sí, sí, sí, está ahí. --> Muestra para ver entonces --> nuevamente. Muestra nuevamente --> para ver la el análisis si --> están amables. Muestra. No, --> no, muéstrame el análisis --> nuevamente. Muestrame el --> análisis, está bien. --> Muestrame el análisis. --> Ah, porque te atumaste fue --> total. No, ese análisis. --> No, vete a expresión regular --> correo. El el análisis que --> tienes es el último que se --> llama análisis expresión --> regular correo. Ejecuta ese, --> ¿sí? Porque está --> ejecutando era el de el --> anterior te ejecuta ese. --> Baja para ver. Ahora sí, --> tienes el noventa y ocho --> por ciento ahí ve. Sí, estamos --> ejecutando el que no era. --> Bueno, este bueno, nos vamos --> entonces ahora a almuerzo y --> regresamos en una hora, ¿OK? --> Eso, muchas gracias. OK. --> Listo, pues. Nos vemos nos --> vemos una hora, pues. Listo, --> liso, gracias. --> Listo, pues. --> Listo, pues. --> Listo, pues. --> Listo, pues. --> Listo, pues. --> Bueno, nuevamente, buenas --> tardes. Buenas tardes. Espero --> que hayan se descansado un --> poco entonces. Continuamos, --> ¿Estamos conectados? Yes. --> Listo, entonces, eh, ya --> hicimos un par de ejemplos --> relacionados con la parte de --> patrones, eh, definimos --> entonces patrones a nivel de --> lo que es y lo que es lo --> que es SQL. Tiene que tener --> en cuenta que estos --> patrones pueden ser --> aplicables a cualquier columna --> que usted quiera agregarle. --> Lo que si tiene lo que lo que --> tiene que revisar es si tiene --> sentido pues al tipo de --> columna como tal. Pero digamos --> que cuando tú defines ya sea --> un patrón, tipo reyes o --> tipo SQL, lo puedes aplicar --> a cualquier columna entonces --> como tal. Bueno, vamos --> entonces a hacer lo --> siguiente, vamos a crear --> ahora un identificador, un --> indicador, perdón, --> identificador, un indicador. --> Entonces, para que me --> recuerde a la tienda antes de --> iniciar esta parte, vamos a lo --> siguiente entonces, cuando ah --> tenemos, bueno, cualquiera de --> estas de estos análisis, --> momento, que reinicie la --> reinicie la interfaz porque --> tenía problemas, voy a coger --> el primero que hicimos que --> fue el de, creo que fue --> este inicialmente, un --> momento, por favor, está un --> momento, está bien. Bueno, --> vamos a ver entonces. Listo, --> ya cargo aquí. Ya lo he --> ejecutado ya, no sé por qué --> lo ejecuté. Voy a ver un --> momento el resultado para --> explicarle qué es lo que --> vamos a hacer entonces. --> Cuando tú ejecutas un --> análisis, notarás entonces --> que esa gráfica lo que --> hacen es un conteo, ¿Verdad? Al --> final, saca el número de --> elementos y te lo presenta en --> un diagrama en barra. Al --> final, esa gráfica que están --> ahí son indicadores que --> cuentan elementos, es decir, --> muestran una gráfica de un --> suceso en netamente --> cuantitativo. Eso es lo que --> es al final. Los --> indicadores, entonces, lo --> que hacen es contar, mostrar --> cuantitivamente el valor de --> algo. Entonces, para crear un --> identificador, nos vamos --> entonces aquí donde dice --> indicator. Aquí hay unos ya --> definidos por la herramienta. --> Vamos a crear nuestro propio --> identificador. Por lo tanto, --> vamos a crear entonces lo --> siguiente, clic derecho, --> nuevo indicador. Voy a hacer --> un indicador muy sencillo --> para que podamos ver cómo --> funciona. El indicador lo --> que va a contar es --> verificar, va a contar el --> número de veces en que una --> cadena de string empieza --> mayúscula. Es sumamente --> sencillo. Que si carece de --> sentido, pues, muy poco, --> porque normalmente, aunque --> tenga un formato, es más --> fácil de hacer con otras --> cosas. Pero lo que va a --> ser sencillamente es contar --> si una cadena de string --> inicia mayúscula. Eso es --> lo único que va a contar. --> Entonces, voy a colocar --> identificador de esta --> forma. Contador, voy a --> llamarlo de esta forma. --> Contador, contador inicia --> iniciales un derechor --> mayúscula. Propósito, contar --> el número de veces que una --> variable string inicia en --> mayúscula. Voy a cambiar --> ese string porque es más de --> tipo de texto, entonces voy --> a cambiar de su mejora de --> texto, es decir, contar el --> número de veces que una --> variable de texto, de tipo --> texto va a contrar para que --> sea. De tipo texto inicia --> en mayúscula. Eso es lo --> que va a hacer. Va a hacer --> más nada. Nada del otro --> mundo. Vamos con una --> cuestión muy sencilla y --> después vamos inventando --> entonces la complejidad de --> los ejercicios. Vamos a --> ver y le damos entonces --> aquí finish. --> E indicadores hay de cuatro --> tipos. Vamos con el más --> sencillo que es el que cuenta --> elementos. Ese es el más --> sencillo de todos. Contar --> elementos. Entonces, para --> definir el tipo --> identificador, aquí le da --> clic y hay cuatro tipos --> identificadores. En este --> caso voy a hacer es --> conteo de elementos que --> cumplen una condición. Si se --> da cuenta la gráfica por --> ejemplo de nulos, lo que --> hace al final es contar el --> número de veces que una --> columna es nula. Esa es la --> misma idea que tenemos acá --> con el indicador. Va a --> contar el número de veces --> que la columna corresponde --> es igual a la condición --> que vamos a hacer. Entonces --> dejamos por defecto este --> que está aquí que es --> contar por definición de --> la columna y vamos a --> definir entonces la --> sentencia. Para definir --> sentencia nos vamos aquí --> donde dice más. --> Y aquí hay que analizar un --> poco la entrada, la --> entrada. En este caso este --> identificador yo puedo --> hacerlo un identificador --> genérico o un --> identificador bajo un --> lenguaje que en este caso --> únicamente es Java. Es --> decir, identificador --> genérico es para --> cualquiera, digamos motor --> de base de datos, específico --> un motor de base de datos o --> un lenguaje específico --> con este caso que es el de --> Java. Vamos a escoger --> entonces como estamos --> sobre una base de datos --> MySQL, vamos a hacer uno --> específico para MySQL. --> Tome aquí y escoja MySQL --> y le va a cambiar --> entonces los parámetros de --> configuración. Cuando esté --> en esta interfaz dele --> por favor donde dice --> editar. Y notará entonces --> que va a encontrar varias --> pestañas. Pestañas entonces --> donde está full SQL y un --> template que vamos a --> modificar ahora. Entonces lo --> único que usted tiene que --> configurar es la definición --> del indicator. La definición --> del indicator lo que va a --> colocar usted es la --> condición del where que --> usted quiere que se cumpla --> para contar los elementos. --> Nuevamente lo único que va --> a configurar para este tipo --> de indicador es la --> condición del where. --> Partiendo de que la columna --> viene de una base de datos --> en este caso MySQL. --> Entonces que vamos a hacer --> aquí hay varios --> varios template. --> Explico entonces el más --> sencillo. Cuando usted --> escoja column names este que --> está aquí column names --> lo suelta acá perdón --> lo selecciona y lo suelta --> acá. Ese column name está --> de forma genérica porque --> ese column name se --> emplaza por la por el nombre --> de la columna al cual tú --> agregue el indicador. Entonces --> si yo agrego la columna al --> indicador email significa que --> la consulta select la hace --> sobre la tabla que tenga --> análisis where la columna --> que agregue el indicador. --> Por eso que se coloca de --> forma genérica. Pero de --> igual forma tú puedes --> construir una sentencia --> SQL igualmente de forma --> genérica con todos los --> elementos que tú puedes tener --> ya sea elementos de group --> by and or having lo que --> tú quieras. Listo. Listo, --> vamos a lo siguiente. Eh, --> aquí donde dice a esta --> parte. Bueno, listo, vamos a --> lo que me di. Pero te va --> más. Bueno, va. Bueno, --> vamos a ver. Eh, pero si si --> te el indicador significa --> que sería doble clic lo --> puedes ver, ¿no? ¿Quién me --> habló para ver para ver la --> pantalla un momento? Uy, --> vamos a ver, vamos a ver --> la pantalla. Ah, listo. Eh, --> minimiza esta esta que yo te --> deja ver aquí, este que no --> te deja ver. Minimiza aquí --> por favor. Cierra. O baja --> el scroll. Lo que va a ser --> que no te deja ver. Dale --> ahí. Clip, por favor. Y --> escoge eh MySQL. Y después --> le da clic en edit. No, el --> de acá, el edit que está --> en la eh en la scroll de --> barra de barra horizontal. --> Ruedalo a la derecha, por --> favor. Y dale edit. Bueno, si --> te das cuenta, acabo de haber --> unos templates, escoge el --> segundo column name, lo --> selecciona, clic sostenible, --> lo sueltas en en el en el --> text área. Perfecto. Y y --> vamos por ahí entonces. --> Listo, entonces, voy por aquí --> editar column names y aquí --> coloco una expresión cualquiera --> que yo quiera que cumple. En --> este caso en particular quiero --> definir entonces una expresión --> que me valide y que me --> cuente si la primera letra --> del de un texto inicia --> mayúsculas. Eso es lo que va --> a contar. Entonces, ¿Cómo --> hacemos aquí? Como este --> señor es MySQL, voy a --> usar una función de MySQL --> de expresión regular que se --> llama rec x. Así es, rec, un --> momento, te la coloco acá para --> que la veas mejor, rec, te la --> coloco acá, un momento. --> Sería esa. Esta es la rec --> x. Y entonces, aquí coloco, --> digo entonces que inicie, --> quiero sacar el circunflejo --> ¿Cómo es? Ah, circunflejo --> ¿Cuál es el símbolo? --> Siento ¿Cómo se llama el --> carácter de Tiangulito? --> Circunflejo, ¿Verdad? --> Circunflejo, carácter, voy a --> buscarlo, se me circunflejo --> circunflejo, creo que se --> circunflejo. Este de aquí, --> ¿Cómo sale? No sé, pero se me --> olvidó el es este de aquí, --> control C, diciéndole que --> inicie la expresión regular --> quedaría así y le digo que --> esté en un rango de la A --> mayúscula a la Z mayúscula --> entonces cierro aquí, me --> quedaría la expresión al final --> de esta forma. En este caso --> ese función es propio de --> MySQL, con lo tanto, si --> intento ejecutar este --> indicador sobre un motor tipo --> Postgres, va a ser un error --> porque va a intentar hacer esa --> consulta con el REX y no la --> va a encontrar en Postgres de --> esa misma forma o con el --> mismo, la misma sintaxis. --> Quedaría de esa forma. Espero --> que hay alguno estamos con --> otro día el circunflejo. De --> algún modo, si usted sea, voy --> a voy a pegar esto en en la --> carpeta compartida, por si --> acaso, para que tengas el --> circunflejo ahí entonces, si --> no demore mucho, voy a --> agregarle la carpeta. Dale, --> y voy a colocar entonces --> indicador, un archivo llamado --> indicador, voy a colocar la --> expresión esa. --> Entonces, vamos a ver acá. --> Sería ir a la carpeta --> compartida. --> Aquí en el root de la carpeta --> compartida, agregué un archivo --> llama indicator, y ahí está el --> el REX. Bueno, rellenó la --> expresión. --> Como el circunflejo. En el --> raíz, Gerardo, al atrás, --> por favor. Vaya, la cogí. Ah, --> ya, espérate, sí, ya la --> cogí. Al final, debería --> que darle entonces, así --> nada más, la expresión. --> Eduardo, creo que te quedó esa --> expresión muy grande, me --> parece a mí. Creo que la tienes. --> Ah, porque tienes, eh, ¿dónde --> le agregaste? Vete al --> indicator, ahí, ah, no, está --> viendo, ah, sí, sí, sí, que --> estaba viendo el full --> template. Sí, sí, sí. No había --> dado cuenta. Bueno, listo, --> creo que ya la todos la --> tenemos entonces, le damos --> aquí, ¿OK? Listo. Vamos a --> probar entonces, va, ah, se --> va. Voy a cerrar todos estos --> señores para que no me --> causen --> sí, dígame --> ¿Quién me ya, quién me --> escribió? Vamos a ver. Ya --> wey. Sí, te quedó. Dale --> nuevamente editar para ver. --> Ah, porque reemplazaste el --> full. Ah, lo siguiente, --> borrá, borráte, porque te --> va, te, te quedó, borráte, --> dale cáncer ahí un momento. --> Y te voy a colocar acá mejor. --> Dale cáncer, borráte ahí en --> la X, borráte esa, ese --> template listo, vete a --> crearlo nuevamente. --> Dale, eh, coge MySQL, --> por favor. --> Dale editar, espérate un --> momento, dale editar. Y al --> final lo que tienes que --> reemplazar nada más es la --> sentencia del web. Y ese --> web se une con el full, --> full SQL. Entonces, ahora --> si pega la la lo que mande --> en el en la carpeta, no sé si --> usted tiene memoria ahí, --> listo. Dale OK. Y ahora --> eso que existe se agregó con --> lo que estaba como template --> anteriormente. Sí, lo --> hiciste, lo creaste en el --> full. O sea, reemplazate, --> reemplazate ahí. Listo. --> Entonces, vamos a probar eso. --> Vamos a probar entonces. --> Vamos a crear aquí un nuevo --> análisis de tipo basic. --> Colundar de tipo básico. --> Entonces vamos a colocarle --> análisis. Indicador. Inicio --> con derechor mayúscula. --> Propósito. Analizar las --> columnas textuales. --> Que inician en mayúscula. --> El yo lo llamé análisis --> indicador inicio mayúscula. --> Análisis indicador inicio --> mayúscula. --> Y el propósito de analizar --> las columnas textuales que --> inician en mayúscula. --> Listo, le damos aquí --> Finish. --> Y vamos a a a escoger --> ahora entonces nuevamente --> la tabla cliente que tiene --> muchos campos textuales. --> Entonces voy aquí al select --> column, ya empieza a hacer --> un proyecto de memoria. --> Voy a la tabla que se llama --> customer. --> Y voy a escoger el first name, --> last name, --> company, y correo, email. --> Cuatro columnas, first name, --> last name, company, --> e email. --> First name, last name, --> company, e email. --> Y ahora vamos a agregar --> cuatro columnas de tipo --> barchar. --> Listo, le damos OK. --> Y ahora a cada una de esas --> columnas le vamos a agregar --> el indicador de usuario. --> ¿Cómo lo hacemos? --> Al lado de pattern está --> UDI. --> Dele click en el UDI de --> cada una de las columnas y --> le agrega el indicador que --> acaba de hacer. --> Se voy con la primera, --> expando aquí y aquí aparece --> el contador inicial de --> mayúsculas. --> Listo, OK. --> Voy a este UDI de acá. --> Perfecto. --> Este UDI de acá. --> Como tiene por lo menos un --> UDI, un patrón o --> identificador, puedes --> ejecutar. --> Entonces, vamos --> después que termine esta parte, --> dele room para ver. --> OK. --> Y ahora vamos a agregar --> el indicador de usuario. --> indicador de usuario. --> Bueno, aquí tenemos lo --> siguiente. --> Se me hace raro esta parte. --> Pero el todo empiezan con --> mayúscula la primera. --> Todo empiezan con --> mayúscula. --> Compañía solamente hay 10 --> que inician en mayúscula. --> Y correo hay 59 que si me --> hace raro con ese correo que --> no recuerdo que los correos --> iniciaran en mayúscula. --> Permítame confirmar para ver --> estos datos. --> No sé. --> Voy a confirmar los datos --> para ver si están bien o me --> equivoqué de pronto en la --> configuración. --> Voy a consultar los nombres --> de clientes. --> Entonces, voy a colocar aquí --> la primera. --> Listo. --> Esto sí empieza en --> mayúscula. --> Estoy seguro. --> Sí, señor. --> Empecé en mayúscula. --> Compañía. --> Los que no empiezan en --> mayúscula porque están en --> nulos. --> Sí, definitivamente. --> y el último que quedé con la --> cincuenta. Sí. --> Perfecto. Tengo. Bueno, va por --> aquí entonces, señor, está la --> columna, y aquí está un le das --> clic aquí al botoncito, y te va --> a aparecer para escoger entonces --> el indicador. Exactamente. Sí, --> señor, así es. --> Muy. Perfectamente. Entonces, --> ¿Ves quién me habló? Julio hoy --> para allá, Julio. Ah, baja un --> momento, Julio. Ah, porque no --> ha guardado, Julio, parece. No --> ha guardado la expresión. --> Mira, mira lo siguiente. Si --> te das cuenta que el nombre --> acá tiene un asterisco, --> indica que no ha guardado. --> Dale guardar primero la --> expresión. Ah, vete, dale --> clic ahí. Date cuenta que tiene --> un asterisco al lado, --> significa no ha guardado. Dale --> guardar entonces. Allá donde --> está el disquecito acá --> arribita. Aquí, aquí, aquí. --> Porque te cuenta que ahora --> te quita ya el el signo. --> Ahora, intenta nuevamente --> ejecutar, ejecuta la, ah, --> bueno, te faltó. Y ejecuta para --> ver cuando termines la --> configuración, por favor. --> Ejecuta cuando termine la --> configuración, listo, vamos --> a ver. Quita esta parte aquí --> para que no te da lo que --> esto porque no minimiza esto --> aquí. Minimiza esto aquí --> porque creo que te está --> cuando terminas de configurar --> esta parte minimízala para --> que no se te vea ahí esta de --> acá abajo. Este dale clic --> aquí. No te minimiza aquí --> aquí. Eso, dale clic ahí --> baja, minimiza ahí. Listo, y --> este cierra la ventana esta --> que está acá, ve. Esta de --> acá arriba, detail view, la --> del, no, aquí está el X, --> ahí está, le cierra. Listo, --> y minimiza, ah, no, ya está --> bien. Listo, pues, eh, ya --> agréate a todos los user ID. --> Ahí te faltó. Ahora sí, --> ejecuta para ver. --> Muéstrame por favor el el --> company tienes diez, pero eh --> muéstrame un momento, sigue --> bajando y muéstrame el de --> e-mail. Un momento, reviso la --> presión regular. No, no, --> listo, está bien, está --> bien. Lo que es que creo que --> no me dio darse cincuenta y --> nueve. Un momento. Un --> momento y reviso esa presión --> regular que está como --> ¿Qué es lo que es? Está --> extraña, no sé por qué dio --> eso. Momentico, momento. No, --> la presión regular está bien. --> ¿Por qué me dio eso? Bueno, me --> tocó investigar ahora, pues. --> Vamos a seguir porque de no --> devoramos más tiempo. Bueno, --> déjeme y lo investigo que más --> sube esa expresión, pero --> bueno, así se define, eh, un --> indicador. Al final el --> indicador lo que hace es --> contar si la expresión que --> tú colocas es verdadera, --> entonces conte el número de --> elementos que cumplen esa --> expresión y la condición como --> tal. Vamos entonces a seguir --> con otro tipo de ejercicio --> y vamos ahora a hacerlo con --> CSV. A ver si esto lo subí un --> momento. No, un momento, ya --> voy a subir unos archivos que --> no los subí, se me escapó. --> Listo, un momento, tal vez --> no está el cualito. Listo, --> vamos a la carpeta compartida --> nuevamente. Aquí vamos a --> descargar una carpeta que --> subí ahora, que se llama --> F5. F5, un momento aquí. No --> la veo. --> TDQ. Descarga por favor esta --> carpeta. Voy a revisar cuál --> es el que vamos a hacer ahora. --> Listo, yo la tengo aquí, voy --> a descomprimirla. --> Listo, descargas. --> Entonces, --> entonces, vamos a aquí extraer --> todo. --> extraer aquí. --> Listo, esto lo que tiene son --> archivos CSV. --> Que vamos a probar ahora --> entonces. --> Bueno, entonces, si ya --> descargo, por favor, vamos --> entonces a hacer lo siguiente. --> Crece un, una entrada de --> metadata. Mientras respondo --> aquí a algo Jimena. Por cada --> uno de esos archivos, a --> excepción del ten que está --> ahí que se fue. --> Voy a fight the limit, yo --> primero. --> Creamos entonces. --> Y aquí creo una entrada hacia --> anomalias.csv. --> Lo voy a llamar entonces --> anomalias. --> anomalias. --> Next. --> Ya eso viene exactamente lo --> vimos, lo mismo que vimos con --> CSV allá en el talent data --> integration. --> Vamos entonces aquí. --> Subimos este señor, --> anomalias. --> Descargas. --> TDC, TDQ, perdón, --> CSV. --> Anomalias. --> Next. --> Listo, señor, tiene --> encabezado, está separado por --> coma. --> Y doy un refresh para ver. --> Listo. --> Next. --> Y cree una entrada, por --> favor, para cada, para cada --> uno de esos archivos que --> están ahí. --> Mientras respondo aquí a --> ustedes, entonces aquí sería --> el otro archivo que sería. --> Correlaciones. --> Mientras vagamos haciendo eso, --> disculpe, ¿Quiénes son los --> que van a hacer la prueba el --> caso estudio hoy? No te --> preocupes. No te preocupes. --> Julio, ¿Quién más? OK, --> perfecto. Me espero un --> momento, listo, confirmo algo --> aquí en la máquina virtual. --> Vaya haciendo, por favor, un --> metadata para cada uno de --> estos archivos. Acesión del --> ten uno que está ahí. Si no, --> se fue ahí. Eh, confirmó algo --> aquí. --> Nada más el y el encabezado, --> el del imitador y el --> encabezado. Que tiene --> encabezado. Creo que hay --> uno que se llama ten uno, --> creo que se llama. Ten uno. --> Ah, entonces me equivoqué, --> fui yo, perdón, te --> confirmó para ver. Cuando --> descargué me pareció ver un --> ten uno aquí. Si no hay --> este ten uno que está aquí, --> no. Ten uno. Ese no, --> borralo. Si quieren borrarlo, --> se no tienen nada. --> Bueno, --> bueno, si quieres, este, --> dejemos hasta aquí y me deja --> con los que van a hacer el --> el nuevamente el caso de --> estudio para explicarle un --> par de cositas ahí. Si ya --> terminó de subir todos los --> archivos, por favor, --> entonces, me deja nada más --> como se quedan nada más los --> tres y les explicamos --> nuevamente porque hay que --> configurar lo que teníamos --> anteriormente, que no lo --> tenemos, perdimos los job --> que seguramente alcanzaron --> a hacer, se perdieron en --> la máquina virtual anterior. --> Ya voy para allá, voy para --> allá, voy para allá. --> Oye, vamos a ver. --> OK, vamos a ver. Dale --> refresh. Refresh. Listo, --> lo que que que es mandado --> mítico, dale, ah, listo, --> hidre, dale allá, ponle uno --> ahí, dale nuevamente refresh --> porque no es automático. Ah, --> porque tienes que configurar --> el set acá. Dale set, ahí --> tienes, ahí tienes, ahí tienes --> el refresh. Dale nuevamente --> para ver. Espérate, que te --> te subió uno más. Cámbiate, --> elegir que te te sumó uno, --> ponle uno ahí. Dale nuevamente --> refresh. Ahora sí, listo, --> ahora sí. Listo. Sí, pero la --> idea era que hiciera todos --> los metadatas, pero si los --> metadatas, si no lo semos --> vamos a empezar el día el día --> martes, si no, vamos a --> empezar, no sé si nos si --> iniciamos para la configuración --> de las máquinas como estaban --> anteriormente, regálenme tres --> minutos, busco un poquito de --> agua y vengo enseguida, ya --> vengo. Los de vas, si --> quieres, pues, no sé si quieren --> quedarse o si quieres se --> desconectan, como decen, ya --> vengo. --> Ah, bueno, volví, bueno, --> volví ya nuevamente, listo. --> Vamos entonces los del --> los que vamos a hacer el caso --> de estudio. Primero, estamos --> conectados los tres, yes o --> no. Bueno, en primer lugar, --> recuerde que lo primero que --> hicimos fue subir el modelo --> de datos del data warehouse, --> entonces, primero, váyase a --> MySQL command line. --> Y esto aquí le damos root. --> Nos conectamos con root. --> Y váyase a la carpeta --> compartida, caso de estudio, --> y descarga un archivo que se --> llama Chinook Undercore DWSQL, --> por favor. Esto es lo --> primero que vamos a hacer. --> Vete a la carpeta compartida --> ahí en tu browser, por favor. --> Vas acá a caso de estudio, a --> la carpeta caso de estudio, --> no, pero vete al browser, en --> el browser, la carpeta --> compartida, eh, la que tenemos --> ahí en, voy a tu máquina. --> Vete a tu desktop. Ah, --> perdón, ahí la tienes, que --> perdón, que no veía bien, --> ese exactamente, que no te --> veía bien. Listo, sí, --> carpeta, el caso de estudio, --> entra a caso de estudio y --> descarga el que se llama Chinook --> Undercore DWSQL. Listo, --> entonces, abre la carpeta, --> copia la ruta donde está el --> archivo, bueno, aquí me --> aparece, voy a copiarla --> directamente aquí, le da clic --> derecho en propiedades del --> archivo, y me traigo la --> ruta, donde está, donde se --> ha descargado, esa ruta la --> copio, y la pego en, antes --> de esto le digo source, --> pego la ruta, slash, y --> llamo, el archivo se llama --> chinookdw.sql, ya lo pongo --> en grande, queda más o --> menos así, queda así. --> Por favor, le da enter, y --> veamos para ver si construye --> el modelo. --> Ah, listo, me fui por acá --> porque, bueno, descargué, --> dos formas, una me fui a la --> barra de direcciones, eso --> le di clic derecho en el --> archivo que descargué, --> properties, y aquí copié la --> ruta. Aquí copié la ruta, --> location aquí, copy, y --> después la pegué acá, y le --> pongo chinookdw. --> Listo, ahí te entro ya. --> Ahí te entro, sí. Funcionó. --> Listo, ahora, y si ya --> funcionó, súbete el talent --> data integration, por favor. --> No caso ve, creo que, de --> ahí, todos de ahí. Listo, yo --> también le doy enter entonces. --> Listo, procedemos entonces y --> montamos el talent data --> integration. Ese que está --> aquí. Si vas adelantado y te --> sube antes, crea una --> conexión hacia el chinook de --> MySQL. Mientras acá está --> caliendo todavía. Perdón. --> El no, no es el mismo. No, --> no es el mismo. No es el --> mismo. El otro, este que --> estamos, que está abierto es --> el talent data quality. Y --> ahora tenemos el talent, el --> talent. --> Sí, la primera vez, no, deja --> el proyecto por defecto, --> quise crear un nuevo proyecto --> que se llama local project, --> ¿Verdad? Sigue, siguiente. --> Sí, dale perfecto. --> Bueno, espero entonces a que --> Eduardo te cargue. Listo, --> primero entonces, Eduardo, --> creemos la conexión hacia --> el chinook de MySQL. Entonces, --> creas aquí metadata, debe --> conexión, clic derecho, crear --> conexión, y colocamos aquí --> chinook, entre paréntesis, --> MySQL identificando el motor. --> Next, no le agregamos --> propósito ni nada por cuestión --> de tiempo. En el debe type, --> por favor, escoge MySQL --> en el login vamos a colocar --> root --> con lo que fue --> el password es root, el --> server es ciento veintisiete --> punto cero punto cero punto --> uno y la base de datos es --> chinook. --> Cuatro mil de test --> connection, por favor. --> Listo, bajar, aquí, --> descarga los driver. --> Ok, --> Finish, --> y procede a extraer el esquema. --> Entonces, vete aquí en la --> conexión, clic derecho, y le --> dice recuperar esquema. --> Recuperar esquema, le damos --> aquí next, y escogemos aquí --> todas las tablas de chinook. --> Listo, --> Next, y Finish. --> Listo, ahora creemos una --> conexión hacia la modelo de la --> bodega de datos. Nuevamente --> creamos una nueva conexión, --> crear conexión. --> Esto se llama chinook --> con la base de datos, con --> underscore DW, --> abre aparentes y aquí coloco --> el motor MySQL. --> Lo mismo, pero cambiamos la --> base de datos, la vamos a --> llamar ahora chinook, --> underscore DW. --> DBTi, --> MySQL aquí. --> Entonces, aquí coloco --> login, voy a colocar aquí --> root, --> el backwards root, --> el server es 127.0.0.1, --> y la base de datos, lo único que te va a cambiar, --> se va a llamar chinook --> con underscore DW, que fue el nombre que le --> dimos. Por favor, pruebas --> la conexión, Test Connection. --> Ok, --> Finish, y haces lo mismo, --> recuperas el esquema. --> Ya voy, muestra para ver, ya voy --> para allá. --> Ya voy para allá. --> Sí, dale ok ahí, --> y ese falta exactamente. --> Chinook. --> Listo, dale Test Connection ahora --> para ver. --> Ok, --> dale detalles un momento ahí, --> acceso de negado, qué power le --> colocaste, mira a ver si el power es --> el root, nuevamente borra el power y --> coloca el root nuevamente para ver, --> dale Test Connection, --> ahora sí, ok, --> Finish, --> exactamente, recupera el esquema. --> Next, --> y Finish. --> Sí, sí, no nos compliquemos, --> todo está bien, aunque vamos a usar solamente 5. --> Bueno, alto seguido, conexión. --> Ok, no. --> Bueno, mientras creamos una --> carpeta acá en el Job Design --> Create Folder, y lo vamos a llamar --> caso --> estudio. --> Y entonces, --> dentro de caso --> estudio, vamos a hacer un job --> por cada requerimiento --> que nos pidieron, que fue el de --> Dean Género. --> Vamos entonces a crear un job, por ejemplo, --> llamado Job --> Dean Under Record --> Géneros. --> Listo, --> y entonces vamos a hacer el primero --> que es igual a los demás, --> que es de álbum, iguales, vamos entonces --> al de género. --> La tabla de entrada es --> Enchinute, --> y busco la tabla Genre, --> y éste entra de entrada. --> Genre, la coloco acá. --> Bien, --> y la salida sería Dean Género --> en español, y va a ser --> la salida de tipo Output. --> Va a ser Output, TV Output. --> Uno de entrada y uno de salida. --> ¿Cuál está --> generando? Genre. --> Ese va a ser de entrada, --> está bien, TV Input. --> Listo, está bien, ok. --> Ahora, Dean Género, --> lo sueltas y va a ser de salida. --> Sueltas y va a ser TV Output. --> Listo, agrega un T-Mat en el medio. --> Conecta el --> Genre con el T-Mat. --> Conecta el T-Mat con Dean Género. --> Vamos a llamar la salida --> Under Record Géneros. --> La conexión. --> Configuramos el tema, doble clic --> en el tema y mapeamos cada columna. --> Entonces, iría Genre ID --> iría con ID Género. --> Iname iría con nombre. --> Y le dices una nueva columna, ya hay que poner la nueva columna que le dices. --> Julio, te veo todavía con esa parte que pasó ahí. --> No está bien, no está bien la configuración, ya está bien. --> Te falta otra. --> Que es la de la... --> No, espérate, espérate, espérate. --> Es que son dos. --> Ahora créate la otra que sería. --> Exactamente, bien, exactamente. --> Muestra para ver el caso tuyo, Eduardo. --> Ese... --> Tienes mal la columna, no. --> ¿Cuál fue la que creaste? --> Genre ID, la primera es la que tienes mal. --> Tienes que borrar la primera, la que se llama Genre ID. --> Oh, no, la borra acá. --> De este lado, perdón, sí, de este lado. --> Este Genre ID que tienes que borrar. --> La borra aquí con esta X que está acá bajito. --> Acá, mira, pero ojo, no. --> Ojo, mira, mira. --> Mira cómo la vas a borrar. Deja que te muestro de este lado. --> Ahí te muestro. --> El problema es esta columna. --> Entonces, la ubicas acá abajo. --> Acá abajo. --> Y le das X a esa columna. --> Borre ese road name que lo puntaste mal. --> Es decir, entra ahí, clic y borralo. --> Ahora, conecta entonces el Genre ID con ID género. --> Ahí no, atrás. --> Ahí, suéltalo. --> Suéltalo ahí, listo. --> Y ahora el name va con nombre. --> Dale OK. --> Y procede a ejecutar el job para ver. --> Listo, esperamos a ver. --> Yo no sé si le cambiamos la memoria. --> Esperamos para ver. --> Listo, ahí tienes que tomar --> un screenshot de ese. --> Ahora, vete. --> Ahí él toma el screenshot de esa parte, ¿Verdad? --> Ahora, para confirmar que todo esté bien, --> vete a la conexión del Chinook DW --> de la bodega de datos. --> A la conexión del lado izquierdo de la metadata. --> La conexión, en la conexión acá. --> Chinook DW, donde está la conexión. --> Clip derecho. --> Editar query. --> Dale select asterisco ahí --> from din, din género, ¿Verdad? --> Vuela que grabamos ahora, din género. --> No, asterisco. --> Din género, ¿Verdad? --> Din --> género, ahí lo, esto. --> Ejecuta. --> Ahí está el señor que está corriendo. --> Ejecuta el señor que está corriendo. Ah, listo. --> Y ahí tienes, ábrete. --> Ábrete, ábrete, ábrete. --> Y ahí tienes --> el segundo pantallazo del primer punto. --> Y ahora lo que tienes que hacer es --> con las demás tablas. --> Din género, --> vas a llamarlo. Jov, Jov géneros, perdón. --> Jov géneros. --> El del otro sería Jov, --> ¿Cuál era el que era? Jov. --> Se me escapó ahora. --> Jov tiempo. --> Y sí, veo aquí. --> Jov géneros. --> Sí, ahí está, Jov géneros. --> Ah, bueno, entonces este. --> Ok, entonces créate el tiempo, Jov tiempo. --> Nada más Jov tiempo, sí, --> nada más tendría que ser Jov. --> Finish. Y ahí tendría que tener --> un, la entrada sería --> eh, --> in voice. --> ¿Cierto? Jov sabe hacer Jack, sí. --> Jov sabe hacer. --> De entrada. Ah, --> din tiempo y de salir definitivamente. --> Le agregas --> un te unique, --> un te matte y listo. --> Bueno, --> los dejo porque me toca hacer algo con mi amá, --> qué pena que me toca ir. --> Bueno, cualquier cosa --> me están escribiendo, Jov. Le hizo. --> Gracias a ustedes. --> Listo. --> Jov. --> Ufff. --> Bueno, --> sí. --> . --> . --> Jov. --> Jov. --> . --> . --> . --> ¿Pero hay mayúsculo en los demás? --> ¿Tenemos que ir a los mayúsculos? --> ¿Pero qué? --> Pues ya... --> Pues dame lo que digas, dame lo que digas, y como vos... --> Nada más, ¿verdad? --> ¿Pero qué? --> ¿Pero qué pues? --> A ver, cuénteme. --> Bueno, ya... --> Voy a tomar la f... --> Bueno, cuénteme pues. --> Pero ya habíamos tirado los mayúsculos. --> Por eso muéstame... --> Pero muéstame lo que... --> Lo que estaba viendo o no muéstame. --> ¿Quién fue? ¿Quién no fue? --> ¿Me lo voy a traer? --> ¿Y por qué? --> ¿Y por qué fuiste el truco? --> Vale, listo. --> Si no estoy mal... --> Si no estoy mal... --> Si no estoy mal... --> Si no estoy mal --> Puedes ser ahí. --> Que se ve mejor que el de... --> que lo zeربías de alta. --> ¿Vas a darse el alto? --> Pero ahí en esto lo que se va a hacer es... --> No, no. --> Ahí si entiendo. --> Debe de tener un logo, acá una imagen. --> Pero ahí en el menú de lo que va a mostrarte --> tiene que empezar en mayúsculas. --> Porque yo creo que tiene la mayúscula, y ese es mayúscula. --> Y yo la siguiente coje voy a decir de pocas palabras. --> Ya he dado una, en la fase que tenés --> tiene que empezar en mayúsculas mientras lo hago, --> No sé si es la verdad la principal, ya hay, creo que, cierta la creimiento, y solamente de aquí puedo hacer a cuatro. --> Como ejemplo, como, no sé, como es que tú dices que no. --> Claro, tendrías que, como esto es la página principal. --> Claro, yo sé que de esta página, ya que tengo lista, no sé. --> Ya parecía que un día teníamos a cuatro. --> ¿Qué es eso? --> ¿Qué es ahí al lado, junto a eso? --> Porque el personal va junto a él, y él sabe. --> Pero me da caos. --> Pero él ya empieza con ese vallúsculo. --> A punto como va vallúsculo. --> ¿Ve esto? --> ¿Y qué? O sea, ¿qué es lo que está al lado junto? --> ¿Qué es eso? --> ¿Cómo todo esto? --> Y venía a Cádiz y compreendió su inglés. --> A Cádiz tiene a ver, a Chibis. --> Ahora te pregunto lo mismo que te había pasado. --> ¿Cómo vas a hacer para la actualización, eliminación y consulta? --> Dice, a veces va a la actualización. --> El creimiento. --> Estaba un buen punto en guardar. --> ¿Cómo actualiza, cómo elimina? --> Es una pregunta que tengo, pero es una pregunta que tengo. --> Entendería que cuando yo inserte, no sé, la voy a guardar. --> Pero en la misma página. --> Bueno, pero cuando me vas a tirar a un rey, --> muércale que le va a quedar la tabla. --> Pero no me lo separes porque entendería que son dos páginas diferentes. --> Listo, me sigo. --> Bueno, ¿qué más? --> Bueno, estoy diciendo donde va a estar la sesión, --> va a estar donde me va a ir. --> Pero tengo una pregunta ahí. --> Dice, ¿qué hora y dónde está la hora ahí más? --> No, lo hay más allá. --> Tengo que ir agotando la parte de abajo. --> Listo. --> Otra pregunta. --> Oye. --> Ah, pero usted, doctor, ¿cuándo te queda? --> Dos horas. --> Listo, voy agotando. --> Déjame lo que quedamos antes. --> Yo también. --> Bueno, me va a mostrar. --> Oye, es lo que vamos a iniciar. --> ¿Cómo es, cómo es la historia de esto? --> ¿Cómo es la historia? --> ¿Dónde saca los poseos, por ejemplo? --> Lo sacamos de... --> ¿Ligero? --> No, no, pero a nivel de... --> Pero te vamos a dejar con las líneas, ¿verdad? --> No, o sea, la información. --> Bueno, no, honesto. --> No, pero es que me nada. --> Yo no me pregunté nada. --> ¿Tú lo vas a tener guardado a nivel de un archivo --> y lo vas a consultar por los clientes de la oficina? --> Sí. --> ¿Y cuál es la idea? --> ¿Yo doy clic en un botón ahí y se me puso ahí para entender? --> Sí. --> Espera, espera un momento. --> Yo creo que eso está estático. --> ¿Qué decís, entonces? --> ¿Tú vas a alguna página estática? --> No la pregunta. --> Es que sí es estática. --> Ya esa página está para establecer la botada. --> ¿Tú no quieres que el botón ya viene? --> ¿Tú quieres que me ponga a la luz? --> ¿Cómo que te vas a hacer así? --> ¡Oye! --> ¿Cual? --> Sí. --> ¿Y si sí, otra? --> Si, el botón va a pasar bien también. --> ¿Y si sí? --> Sí, sí. --> Eso que mejor quita todo y no vas a colocar ahora ahí --> porque sabes que en día de hoy estés por estar ahora --> que las ideas no tienen tiempo. --> Cuando creas una sesión. --> No, no, no, no. --> No, no. --> No puedo ir ahora por favor, no tienes ningún lado. --> ¿Quién dice un artículo de tu? --> Entonces, quita el código y te da la categoría si es inmenso o inmenso y vuelve a ir. --> Listo, ¿qué más? Si tienes el código, lo muestras, si no, lo quitas. --> Uy, acá hay confirmado la señal, diles porque faltó confirmado la señal. --> Ahí faltó. --> Ah, nada más, nada más. --> Porque estoy en el suelo, estoy en el suelo, más, sigue. --> ¿Tenéis otro en el suelo? --> ¿Tenéis? --> ¿Y qué hicimos? Listo. --> ¿Cuánto hay? Quedamos así. --> Entonces, por ejemplo, ya te había dicho que no cogías los primeros, o sea, podíamos... --> Sí, pero el código, ahí tienes con los dos con el código, claro. --> Ahí tienes con los dos con el código, claro, ya. --> Si no está bien, no tienes que quitarla. --> Venga, tío. --> Me lo he dicho, me lo he dicho.