Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
CodeDatabaseDelphiNoticias

ETL de datos: adición de LiveBindings personalizados a sus aplicaciones

pexels hitesh choudhary 879109

En el reciente episodio TCoffeeAndCode centrado en Data ETL, hubo una excelente discusión sobre el uso de FireDAC para extraer y manipular datos de varias maneras.

La repetición, en caso de que se la haya perdido, el vídeo de repetición está vinculado a continuación.

ETL de datos hecho de la manera más fácil, ¡gracias a un tweet!

También, entre muchas otras cosas, hablamos sobre los beneficios de LiveBindings. Literalmente, diez minutos antes de que comenzáramos el seminario web, encontré un tweet del recién creado MVP de Embarcadero, David Cornelius, donde mencionó que había estado experimentando con LiveBindings de RAD Studio.

Bueno, ¡eso fue en el momento perfecto! David continúa en la publicación de su blog para describir un poco sobre LiveBindings y su viaje personal donde fue, no muy diferente a mí, desde un sentimiento de tibia complacencia hacia ellos hasta una apreciación de los puntos más finos de su uso.

Los LiveBindings son más poderosos de lo que parecen

Cuando escuché por primera vez sobre LiveBindings, me pareció que era una especie de variación de la relación antigua datasource datafieldtipo que se encuentra en las versiones anteriores de Delphi y el venerable Visual Basic. Parecía que deberíamos vincular los controles en la pantalla a un campo (o campos) de una tabla de base de datos, aunque con un editor gráfico de relaciones más bonito.

livebinding

Una vez que comiences a arañar la superficie de LiveBindings, si eres como yo, LiveBindings comenzará a revelarse gradualmente y encontrarás que hay MUCHO más poder que el simple punto-este-campo a este tipo de control. de las relaciones. Vincular controles a clases y estructuras de datos de código interno es una de esas características de Programmer Super Power RAD Studio que sigo diciendo a la gente es la razón por la que un codificador bastante perezoso como yo puede ser tremendamente productivo. No soy yo, es RAD Studio y, al menos en mi caso, Delphi.

ETL de datos con expresiones LiveBinding

Hay algunos otros artículos geniales que describen LiveBindings desde los inicios hasta temas más avanzados:

¡Pero David Cornelius abrazó la idea de LiveBindings y fue un poco más allá!

Cómo extender LiveBindings con expresiones de enlace personalizadas

David ha producido un conjunto de código, disponible en GitHub, que agrega algunas expresiones personalizadas en el editor LiveBindings.

screenshot 2021 05 30 154502

El repositorio contiene un conjunto de unidades que se pueden incluir en sus aplicaciones que luego mejoran las expresiones personalizadas de LiveBinding disponibles para incluir cosas como calcular automáticamente los años desde la fecha contenida en el campo de la base de datos (o registro o clase; es un LiveBinding, don ‘ no olvides).

Expresión personalizada de LiveBindings

Aquí hay algunas líneas de código de ejemplo del repositorio de David:

Ese código significa que puede agregar una expresión personalizada de LiveBinding MinutesSince(MyDateTimeDBField, 2)para generar el valor de “MyDateTimeDBField” como el número de minutos desde la fecha y hora contenidas en ese campo. Muy agradable.

Formas alternativas de calcular fechas y horas en LiveBindings

David usa un código bastante eficiente en sus métodos de expresión personalizados. Si incluimos la System.DateUtilsunidad en nuestro propio código, podríamos cambiar y / o extender las funciones de David para incluir casi cualquiera de los cálculos de fecha / hora contenidos en esa unidad, cuando sea apropiado. Por ejemplo, podríamos crear una función llamada “IsAM” y vincularla a la IsAM función en la unidad DateUtils y hacer que muestre algún texto especial si el campo de fecha y hora vinculado fue, o no, por la mañana o por la tarde.

¿Son eficientes los LiveBindings de RAD Studio?

Por supuesto, cuantas más funciones agregue y más unidades incluya, más se expandirá su código, así que utilícelas con moderación. También debe asegurarse de que sus expresiones personalizadas sean lo más ajustadas y rápidas posible porque se vinculan y funcionan en los campos o estructuras de la base de datos y, por supuesto, puede esperar que un LiveBinding personalizado lento afecte la ineficiencia general si está lidiar con miles o quizás decenas de miles de registros.

Dónde leer más sobre LiveBindings personalizados

Definitivamente tiene que dirigirse al excelente artículo de blog de David Cornelius sobre las vinculaciones en vivo personalizadas: https://corneliusconcepts.tech/beyond-standard-livebindings

También puede ir a su página de GitHub y clonar el repositorio directamente desde allí: https://github.com/corneliusdavid/LiveBindingsBeyond

En el momento de escribir este artículo, David aún no aparece en el directorio MVP de Embarcadero, pero pronto lo hará. ¡No puedo esperar a ver más de lo que se le ocurre!


RAD Studio Delphi hace que la extracción, transformación y carga de datos (ETL de datos) sea rápida, eficiente y fácil. ¿Por qué no descargar una copia de prueba hoy?


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

IN THE ARTICLES