SlideShare a Scribd company logo
1 of 23
Enriqueciendo Aplicaciones Genexus con el Objeto Query Ing. Pablo Musso pmusso@artech.com.uy
Cómo?
Qué?
Fácil de Usar A solo 3 pasos:  Declarar Query  Insertar User Control   Ejecutar (F5)
Fácil de Usar Intellisense Drag & Drop Vista Previa
Tabla dinámica (PivotTable) Exportar a PDF, Excel , XML y HTM Pivoteo Filtrar Grafica Múltiples Salidas
Tabla Reordenar columnas Filtrar Exportar a PDF, Excel , XML y HTML Objeto Query infiere el tipo de salida Múltiples Salidas
Agregaciones de N- niveles Average(Count(A)) Expresiones Sum(A) + Sum(B) / Count(A + B) Funciones Str(PlayerId),  Year(Date)  A + Trim(Str(Average(count(PLayerId))) MasPotencia
Filtros por agregaciones/atributos Count (PlayerName) where (PlayerPosition = "Delantero")		  DataProviders como fuente de datos SDT con estructura libre Consumir WS   MasPotencia
Dashboard
wiki.gxtechnical.com
wiki.gxtechnical.com
K2B  www.k2business.com
ZCuentaswww.zetacuentas.com.uy
Resumiendo Fácil de Usar Basado en el conocimiento/ Definición declarativa Potencia en cuanto a expresividad y a integración
Conferencias relacionadas KPIs: Mucho más que métricas de su    negocio – Sala 2C Miércoles 11:00 a 11:45 Quienes son sus clientes más rentables?    ¿Cuáles conviene retener y cuales no? –                               Sala 4P Miércoles 11:45 a 12:30  Ing. Pablo Musso,                                   Equipo de Desarrollo de Artech,  pmusso@artech.com.uy
¡Mucha suerte!

More Related Content

What's hot

What's hot (12)

Ejpractico1excel
Ejpractico1excelEjpractico1excel
Ejpractico1excel
 
Ex baspra1
Ex baspra1Ex baspra1
Ex baspra1
 
Nathaly 2
Nathaly  2Nathaly  2
Nathaly 2
 
Sirley y nathaly
Sirley y nathalySirley y nathaly
Sirley y nathaly
 
Correcion epu
Correcion epuCorrecion epu
Correcion epu
 
Controldereportes codigoinsertarnuevoregistro
Controldereportes codigoinsertarnuevoregistroControldereportes codigoinsertarnuevoregistro
Controldereportes codigoinsertarnuevoregistro
 
Regresion lineal en Geogebra
Regresion lineal en GeogebraRegresion lineal en Geogebra
Regresion lineal en Geogebra
 
Uso surfer
Uso surferUso surfer
Uso surfer
 
Taller1
Taller1Taller1
Taller1
 
Presentaciones visuales tp- baldini - funciones reales y conceptos basicos
Presentaciones visuales  tp- baldini - funciones reales y conceptos basicosPresentaciones visuales  tp- baldini - funciones reales y conceptos basicos
Presentaciones visuales tp- baldini - funciones reales y conceptos basicos
 
Ejpractico2excel
Ejpractico2excelEjpractico2excel
Ejpractico2excel
 
Curso excel
Curso excelCurso excel
Curso excel
 

Similar to 114 Enriqueciendo Aplicaciones Genexus Con El Objeto Query

Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1wozgeass
 
6 excel avanzado - 2
6   excel avanzado - 26   excel avanzado - 2
6 excel avanzado - 2fayu
 
excel 2
excel 2excel 2
excel 2fayu
 
GUI Stencil para la construcción modular de app corporativas
GUI Stencil para la construcción modular de app corporativasGUI Stencil para la construcción modular de app corporativas
GUI Stencil para la construcción modular de app corporativasmaria jose aguilar hess
 
T3 Bd Access
T3 Bd AccessT3 Bd Access
T3 Bd Accessrmonago
 
Curso taller minitab-aplicado_al_control
Curso taller minitab-aplicado_al_controlCurso taller minitab-aplicado_al_control
Curso taller minitab-aplicado_al_controlJavier Rodriguez
 
GEP_EQ9_I1_U1_software para gep
GEP_EQ9_I1_U1_software para gepGEP_EQ9_I1_U1_software para gep
GEP_EQ9_I1_U1_software para gepCoatzozon20
 
Html Tema 4 - Formularios
Html Tema 4 - FormulariosHtml Tema 4 - Formularios
Html Tema 4 - FormulariosRenny Batista
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicasCarlos
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010Comunidad SharePoint
 
Analizador de datos de Arena.pdf
Analizador de datos de Arena.pdfAnalizador de datos de Arena.pdf
Analizador de datos de Arena.pdfUGMA
 
Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...
Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...
Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...EUROsociAL II
 
Pestaña insertar de excel
Pestaña insertar de excelPestaña insertar de excel
Pestaña insertar de excelDaniela4365
 
Pestaña insertar de excel
Pestaña insertar de excelPestaña insertar de excel
Pestaña insertar de excelDaniela4365
 

Similar to 114 Enriqueciendo Aplicaciones Genexus Con El Objeto Query (20)

Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
 
6 excel avanzado - 2
6   excel avanzado - 26   excel avanzado - 2
6 excel avanzado - 2
 
excel 2
excel 2excel 2
excel 2
 
GUI Stencil para la construcción modular de app corporativas
GUI Stencil para la construcción modular de app corporativasGUI Stencil para la construcción modular de app corporativas
GUI Stencil para la construcción modular de app corporativas
 
Clases de php
Clases de phpClases de php
Clases de php
 
T3 Bd Access
T3 Bd AccessT3 Bd Access
T3 Bd Access
 
1
11
1
 
Informe+excel
Informe+excelInforme+excel
Informe+excel
 
Curso taller minitab-aplicado_al_control
Curso taller minitab-aplicado_al_controlCurso taller minitab-aplicado_al_control
Curso taller minitab-aplicado_al_control
 
GEP_EQ9_I1_U1_software para gep
GEP_EQ9_I1_U1_software para gepGEP_EQ9_I1_U1_software para gep
GEP_EQ9_I1_U1_software para gep
 
¿Qué demonios es la programación funcional?
¿Qué demonios es la programación funcional?¿Qué demonios es la programación funcional?
¿Qué demonios es la programación funcional?
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
 
95511389 visual-foxpro-trucos
95511389 visual-foxpro-trucos95511389 visual-foxpro-trucos
95511389 visual-foxpro-trucos
 
Html Tema 4 - Formularios
Html Tema 4 - FormulariosHtml Tema 4 - Formularios
Html Tema 4 - Formularios
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010
 
Analizador de datos de Arena.pdf
Analizador de datos de Arena.pdfAnalizador de datos de Arena.pdf
Analizador de datos de Arena.pdf
 
Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...
Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...
Herramientas de Análisis de la Información de la AEAT: ZUJAR / Agencia Estata...
 
Pestaña insertar de excel
Pestaña insertar de excelPestaña insertar de excel
Pestaña insertar de excel
 
Pestaña insertar de excel
Pestaña insertar de excelPestaña insertar de excel
Pestaña insertar de excel
 

More from GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!GeneXus
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in ActionGeneXus
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...GeneXus
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?GeneXus
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroGeneXus
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y PlataformasGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 

More from GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

Recently uploaded

Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Recently uploaded (20)

Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

114 Enriqueciendo Aplicaciones Genexus Con El Objeto Query

Editor's Notes

  1. Buenos dias mi nombre es Pablo Musso pertenezco al equipo de desarrollo de Artech y hoy voy a hablar de como podemos mejorar nuestras aplicaciones genexus a travez de la utilizacion del objeto QueryMe gustaria arrancar esta charla haciendoles la siguiente pregunta ¿Como presentan la informacion al usuario final hoy en dia en Genexus?
  2. Seguramente la mayoria penso con WebPanels , Tablas , etc. Es decir algo del estilo a lo que se muestra en la imagenBueno me gustaria responderles esta pregunta a con otra pregunta y es justamente Que? Que tipo de cosas somos capaces de hacer con genexus?
  3. Es decir una interfaz mucho mas rica en cuanto a presentacion. En la cual tengamos incluido mapas, graficas , tablas y pivotTables (tablas dinamicas). Esto que vemos aqui es lo que denominamos un dashboard , luego vamos a ver mas en detalle que es un dashboard y en particular yo voy a armar un dashobard como el de la imagen durante la charla, y vamos a ver con muy poco trabajo se puede tener funcionando.Nosotros en Artech apostamos al desarrollo basado en el conocimiento. Y esto es justamente lo que busca hacer el objeto Query. Es decir definir de una manera declarativa nuestras consultas. Porque apostamos al desarrollo basado en el conocimiento en lugar de la programación procedural clásica ? Básicamente por 2 razones 1) Aumentar la productividad de desarrollo ya que obviamente los tiempos son mucho mayores 2) Eliminar lo mas que se pueda los errores introducidos justamente por la programacionproceduralSi nos ponemos a pensar vemos que el objeto DataProvider ya busca esto. Es decir que como desarrolladores cuando podamos trataremos de utilizar DataProviders en lugar de Procedimientos, es decir los DataProviders tienen un nivel de abstracción mayor que los procedimientos. Bueno justamente el objeto Query busca levantar aun mas la abstracción de los DataProviders, permitiéndonos hacer una definición basada en el conocimiento de nuestra KB y de forma 100% declarativa.Es decir vamos a poder armar interfaces mucho mas ricas a las que estamos acostumbrados , con graficas , tablas de pivoteo , tablas mapas etc, sin necesidad de tener que programar ni una sola línea de código
  4. Estos son los principalestips que vamos a ver .En donde los 3 primeros son las principales premisas del Objeto Query. Luego vamos a hablar del dashboard como caso de uso y finalmente vamos a ver ejemplos de aplicaciones reales que lo están utilizando hoy en día
  5. Primero que nada vamos a hablar de la usabilidad , la idea es que sea muy sencillo y sin necesidad de tener que programar nada.Recuerden que el objeto query es 100% declarativo
  6. Bueno lo primero que tenemos que decir es que con solo 3 pasos ya lo tenemos andando, es decir en primer lugar declaramos la Query , luego insertamos el QueryViewer en un webpanel y finalmente damos F5Les voy a mostrar que fácil se pueden hacer estos 3 pasos y para esto voy a utilizar la KB que se utilizo en el LAB genexus . Cuantos de ustedes pudieron asistir al LAB? Esta KB contiene información del fixture de las eliminatorias sudamericanas , no se preocupen no tiene datos reales sino quedamos todos traumados, sobre todos uruguayos y argentinos La idea es que se tiene información de las selecciones , partidos , jugadores, etc. Entonces la primer consulta que vamos a realizar es la tabla de goleadores Para hacer esto simplemente escribimos los atributos:teamName , es quien tiene la información de Paises , recordemos que los equipos son las selecciones de AméricaLuego escribimos el jugador PLayerName, aca ya podemos notar otra feature en cuanto a usabilidad , el intellisense que nos guía en al definición de los atributosY bueno queremos para cada jugador la cantidad de goles que hizo , entonces simplemente escribimos sum que es una de las agregaciones predefinidas del Query , luego vamos a hablar de esto pero la idea es que se acepta average, count, max , min y cualquier expresión o función Notemos que nuevamente al escribir sum el intellisense nos guiaBueno vamos a querer la lista de golaeadores, ordenada en forma descendente para esto justamente tenemos el nodo Orders, la idea es que queremos que se ordene por Sum(MatchGoalQty) de forma descendente , esto lo hacemos en las propiedades del order.Una vez que tenemos definida la Query podemos ir al TabSentence para ver el select generado, aquellos que lo desean pueden ver si es lo esperado yo no me animo a ver ese selectOtra cosa importante que tenemos en la definición de la Query es la vista previa , aca podemos jugar con los datos que tengamos en el ambiente de desarrolloHasta ahora hemos declarado nuestra query , hemos hecho nuestro primer pasoResta ahora tirar el usercontrol en un WebPanel para esto vamos a crear un webPanel . Y vemos aquí en los usercontrols que tenemos uno llamado QueryViewer , .lo voy a insertar en el webpanel , voy a ir a propiedades y voy a decir que quiero mostrar la Query Tabla de posiciones que cree recienSimplemente con esto ya terminamos nuestro segundo paso y ya estamos en condiciones de dar F5 (nuestro 3 paso ) y tenemos todo andando<mientras hace el build>Notemos que no escribimos una sola linea de codigo, es decir armamos la query de forma declarativa, creamos un web panel y dimos F5 en ningún momento hubo que cargar un Sdt ni programar nada Bueno goleador Mesi y segundo Lugano claramente los datos no son reales 1) Hacer consulta de la tabla de posiciones (1)Attributes:TeamNamePlayerNameSum (MatchGoalQty)OrderBy:Sum (MatchGoalQty)Vamos a armar otra consulta para mostrar lo que es el uso de Parametros, Supongamos que queremos ver los diferentes planteles de selecciones de América. No queremos hacer una Query para el plantel de Brasil, otra Query para el plantel de Argentina, otra para Colombia, etc. Lo que queremos en realidad es poder recibir como parametro que plantel mostrar y hacer la consulta paramétricaBueno comenzamos como la otra vez escribiendo los atributos PlayerName, PLayerPosition. Pero también además de escribir podemos hacer drag & drop , es decir tiramos directamente el atributo PLayerNumber por ejemploHasta ahora nos trae la información de los jugadores de todas las selecciones de america , por lo tanto debemos definir 2 cosas a) un parámetro b) un filtroPara definir el parámetro simplemente escribimos como siempre en el nodo parameters y solo infiere que el tipo del parametro corresponde con el atributo TeamNameLuego definimos el filtro en el tab de filters, y vamos a darle un valor por defecto para el parametro , por ejemplo Brasi. El valor por defecto es el utilizado cuando nos e especifica ningún valor para el parámetro en el momento que se llama y el que se utiliza en el preview. Nuevamente podemos ir al Tabsentence y ver la sentencia generada , y podemos ir al PreviewYo acá tengo un WebPanel Planteles que ya tiene incluido el UserControl igual que hicimos hoy . Además tiene un combo con las diferentes selecciones de América. La idea es que cada vez que cambio el valor del combo se va a dibujar la query con un valor diferente de parámetro. Para esto lo que hacemos es en el Evento Click modificar el valor del parametro. . Básicamente lo que se hace es definir un Parameter y agregarlo a la colección de ParametersNuevamente damos F5 y lo tenemos funcionandoVemos que en este caso con muy poquito código se puede invocar a una QueryParametrica1) Hablar de parametros y agregar un filtro (2)PlayerNamePlayerPositionPlayerNumberTeamName = &TeamName
  7. En resumen estas son las principales features en cuanto a usabilidadEl intelilisense , la posilibdad de hacer drag & drop y la posibilidad de tener facilmente una vista de los datos Hasta ahora hemos visto las siguientes features: el intellisense, Drag&Drop y Vista Previa Quiero detenerme ahora en contarles la capacidad de inferencia, la cual existe en dos sentidosEn primer lugar en el momento de hacer drag & drop, el objeto Query es capas de inferir si un atributo debería tener un agregacion o no, dependiendo del tipo de atributo y de ciertas condicionesEs decir cuando agrego MathGoalQty me infiere que en la Query voy a querer ver el total de Goles , es decir sum(MathGoalQty ), por otro lado cuando agrego teamName , se infiere que se desea ver sin agrergarEn segundo lugar el objeto Query es capas de inferir el tipo de salida , en el cual se presentara la información.--------------------------------------------------------itelisenseDrag & Drop / inferencia de agregacionesVista PreviaHablar mas de la inferencias que se da cuenta que es table y en el otro se da cuenta que es pivot , infiere que es el indicadores y mesuares Preguntar a Gusmatr cual es la diferencia en el calculo del select, poniendo sum(goles) o sin sum(goles)Inferencias Salida Tabla/PivotAgregaciones
  8. El objeto Query acepta múltiples formatos de salida para presentar la información vamos a ver en detalle cada uno de los mismos
  9. En primer lugar un formato de PivotTable. Para ver en detalle este formato hagamos la siguiente consultaQueremos saber cual fue el promedio de goles por equipo y por jugador Para esto armamos la Query con los atributos TeamName, PlayerName y como queremos el promedio de goles , utilizamos la agregacion predeterminada Average, es decir Average(MathGoalQty) 3) PlayerName TeamNameAverage (MatchGoalQty)Se muestra pivoteo , filtros , etcNotemosd que luego de pivotear y modificar los ejes por defecto esto se puede ver en la propiedad Axis en la estructura de la QueryOtro formato de salida es la posiblidad de Graficar la Query . Aca tenemos todos los tipos de graficas que ustedse se imaginan. Barra, Torta, Columna, Area, Linea , etcVeamos una consulta para mostrar la salida de tipo Grafica Supongamos que queremos el promedio de goles por equipo , solamente no por jugador. Para esto simplemente dada la Query anterior eliminamos el atributo teamName, es decir armamos la Query de la siguiente manera 4) TeamName Average (MatchGoalQty)Se muestran diversos tipos de salida grafica: Bar , Column, Pie3dTabla ----------Tabla de posiciones o tabla de cada plantelSalida Pivot --------------Joder con pivoteo mostar filtros etc
  10. Salida tipo Tabla .Para aquellos casos en los cuales queremos simplemente presentar un listado (es decir sin pivoteo), tenemos la salida tipo TablaPor ejemplo en la primer consulta que les mostre, la tabla de posiciones , es interesante ver la salida en formato tablaSe muestra como se puede filtrar, reordenar columnas , etcAlgo interensate que vale la pena menscionar es la capacidad de inferencia del Objeto Query. Es decir que dependiendo de la Query se puede inferir si la salida por defecto será una PivotTable o una Table. Por ejemplo en la consulta planteles de cada seleccion , se infiere que la salida por defecto es una Tabla mientras que por ejemplo en la consulta promedio de goles por equipo y por jugador se infiere que la salida por defecto es PivotTable. Se infiere una u otra salida dependiendo de la presencia de agregaciones, es decir si no hay ninguna agregacion se infiere salida Tabla , si hay al menos una agregacion se infiere salida de tipo PivotTableEsto no quita obviamente que se pueda modificar la salida por defecto inferida , Por ejemplo en la consulta de los diferentes jugadores de los equipos , se puede mostrar una salida de PivotTable, claro hay que tener en cuenta que una pivot sin ningun atributo en el eje de los datos no tiene mucho sentido , para esto podemos modificar las propiedades de determinado atributo y ponerlo en el eje de los datos
  11. Veamos a continuación las mejoras en cuanto a potencia, sobre todo para aquellos que han trabajado con queries en la version 6.0 de GXplorer
  12. En primer lugar la posiblidad de definir agregaciones de N - nivelesEs decir que no solmamente se permiten ciertas agregaciones predefinidas: las cuales son sum, average, count, max , min, sino que tambien se acepta la posiblidad de hacer agregaciones de agregaciones.Por ejemplo si queremos saber el promedio de la cantidad de ventas , podríamos simplemente escribir average(count(A)), de deterinado atributo ATambien se acepta la definicion de expresiones, es decir concatenacion de atributos de tipo String;O realizar diversas operacaciones (sumar , restar, multiplicar o dividir) con atributos de tipo numerico o con agregaciones, o con atributos de tipo Date Ademas de aceptar expresiones , se permite la definicion de funciones soportadas por genexus, como son Str, Year, Month, etc. Obviamente todo esto se puede convinar , es decir podemos tener expresiones, con funciones y con agregaciones de agreaciones Veamos la siguiente consulta para mostrarles expresiones y funciones.Supongamos que queremos ver los resultados de los partidos de cada una de las ruedas de las eliminatorias sudamericanas. Como sabemos las eliminatorias se juegan durante 2 años , en donde en cada año se juega cada una de las ruedasPara esto yo tengo una consultsa armada.Mostrar y explicar las expresionesMostrar los resultados en la tabla plana , filtrando por año , etc
  13. Es posbile definir filtros que son particulares para determinada agregacion. A diferencia de los filtros generales que van sobre el nodo FiltersCon los filtros particulares se pueden hacer subconsultas del estilo attributo/agregacion filtrada por determinada condicion. Para introducir los filtros particualres basta con incluir la palabra reservada where y el intelissense enseguida nos sugiere como continuarSupongamos que queremos saber por equipo cual es la cantidad de delanterios, mediocampistas y defensasYo tengo aca ya armada la consulta y ven que es muy similar al lenguage naturallSe muestra el intelissenseFiltros por agregaciones TeamName Count (PlayerName) where (PlayerPosition = "Delantero") Count (PlayerName) where (PlayerPosition = "Mediocampista") Count (PlayerName) where (PlayerPosition = "Defensa")Ademas de las mejores en cuanto a mayor potencia a la hora de la definicion de las Queries, es importante mencionar que el userControl QueryViewer se puede bindear a un DataProvider como fuente de datos. Esto tiene muchas ventajas: 1) en primer lugar la posbilidad de presentar con una misma interfaz (con el QueryViewer) informacion obtenida a travez de consultas, con informacion obtenida a travez de dataproviders. Esto es fundamental ya que al usuario final no sabe ni le interesa como desarrollamos nuestra aplicacion , el necesita ver la informacion de forma clara , sencilla y uniforme. 2) En segundo lugar tenemos la posibilidad de resolver aquellos casos que no se pueden solucionar de forma declarativa con una Query (aquellas consultas que no se puedan traducir a un select) , es decir aquellos casos en los cuales necesitamos resolverlos si o si con programacion procedural . 3) En tercer lugar nos brinda la posiblidad de presentar datos remotos y datos locales de forma uniforme. Notemos que podiramos estar consumiendo un web service , obteniendo los datos a partir de este y presentandolos exactamente de la misma manera que presentamos los datos obtenidos con una Query localYo tengo en esta KB varios dataproviders con informacion correspondiente los ganadores de la champions league, copa libertadores. Mundiales y la copa intercontinentalLo primero que hay que decir es que el QueryViewer acepta un dataprovider cuyo sdt de salida tenga una estructura libre. Es decir que sea cual sea el sdt (customers, invoices, country, campoenes mundiales) de salida el QueryViewer va a ser capaz de presentarloVeamos por ejemplo en un webpanel los campones de la copa libertadoresExplicar ejemplo
  14. Veamos a continuación el caso de uso mas común del Objeto Query y es el desarrollo de DashBoardsUn dashboardbasciamente busca presentar de forma amigable y resumida toda la información que el usuario necesita ver. La idea es poder obtener en un “pantallaso” toda la información relevante para poder medir el negocio. Luego si es necesario un analisis mas detallado por parte del usuario, puede interiorizarse en el punto deseado.
  15. Presentar ambos dashboards con las selecciones de america el dashboard que no recibe parametros y el que si recibe parametros
  16. Caso 1 , ver wikiOtra cosa interesante a hacer es poder conbinar el patternworkwith con el Objeto Query
  17. Caso 2 , dashboard en el wiki , esta la KB para descargar
  18. Dashboard de K2b
  19. Zcuentas.
  20. En resumen , si me preguntan cuales son las 4 frases claves que resuman al objeto Query , me quedo con: Facil de usar: recuerden hay un monton de features en cuanto a usabilidad, pero la mas fundamental es que con solo 3 pasos (declarar la query, tirar el user control en un web panel, F5 ) lo tenemos andando . Basado en el conocimiento: El objeto Query levanta aun mas el nivel de abstracción de los dataproviders, la idea es reutilicemos el conocimiento que tenemos en nuesta KBDefinición declarativa: No es necesario programar ni una sola linea de codigo para tener el objeto Query andando en su apliacionPotencia , por un lado en cuanto a expresividad esto quienes sean usuario de Gxpolorer 6.0 van a comprender cuanto se potencio el tipo de Queries que se pueden hacer. Pero por otro lado portencia en cuanto la integracion , gracias al abanico de posiblidades que me brindan los dataproviders y el QueryViewerbindieado a un dataprovider
  21. Bueno resta invitarlos a que visiten el wiki , miren la documentación y si pueden descarguen las KBs de ejemploMañana hay 2 conferencias que muestran la utilización del objeto QueryLa primera es a las 11:00 en la sala 2C, la gente de K2B va a mostrar como definir KPIs a travez del objeto QueryLa segunda a las 11:45 (quedan pegaditas , salen de una y entrar en otra) , la gente de DataLab van a mostrar su aplicación en la cual utilizan fuertemente el objeto QueryNo se si alguien tiene alguna consulta ….