Tablas Cruzadas con DataWindow .Net Abril 10, 2008
Posted by elmercarias in .Net, DataWindow, PowerBuilder.Tags: .Net, DataWindow, PowerBuilder
trackback
Continuando con el control DataWindow de Sybase para .Net
Les mostraré como hacer una Consulta con Tablas Cruzadas que muestre los Envíos de Productos por Pais y Año, utilizando
las estructuras de Datos de la base de datos NorthWind
- Orders
- Orders Details
- Products
Campos a utilizar en la consulta
[Orders].ShippedDate : de aqui sacaremos el año de envío
[Orders Details].Quantity : Cantidad de Produto Enviado
[Orders Details].UnitPrice : Precio Unitario del Producto Enviado
[Products].ProductName : Nombre del Producto Enviado
El primer paso será despues de tener creado un Espacio de Trabajo, crear un nuevo DataWindow y elegimos que sea tipo CrossTab.
Despues elegiremos el origen de Datos del CrossTab, para el caso elegimos SQL Select, que es la forma mas fácil de crear los querys.
En el siguiente paso elegimos las tablas que utilizaremos en el Query, esto de forma similar al QueryBuilder de .Net, pero ami manera de ver mas fácil de usar, para el caso del ejemplo, elegimos las tres tablas que utilizaremos
Posteriormente elegimos el campo ProductName de la Tabla Products y ShipCountry de la Tabla Orders, en la parte inferior elegimos la viñeta Compute, para crear un par de campos calculados, como lo son Ventas([Orders Details].Quantity * [Orders Details].UnitPrice) y Año(year([Orders].ShippedDate)).
Posteriormente elegimos el Tab Where para Filtrar nuestro Set de Datos, y lo realizamos para que excluya las Ordenes que tienen NULL en [Orders].ShippedDate.
En el siguiente paso y que lo haremos porque la versión actual el Bug de que no agrega los Corchetes a tablas que tienen espacios en Blanco en su nombre, como el caso de la tabla [Order Details]. Para eso elegimos en el Menu Design\Convert to Sintax
En el siguiente paso debemos agregarle los corchetes( [ ] ) a la tabla [Order Details] para que funcione correctamente.
Posteriormente debemos de hacer el paso mas importante que es la elección de los campos que utilizaremos como columnas, filas y cuales totalizaremos, para el caso elegiremos la columna Año en Columns, ShipCountry y ProductName en Rows y por ultimo arrastramos(hacemos Drag&Drop) de ventas hacia Values.
Al final podremos ver el resultado que devolverá esta Consulta, donde podremos cambiar el Formato para mejorar la salida de nuestra Consulta(recuerda que este DataWindow lo podrías utilizar desde una Aplicación Windows o Web desde .Net). A continuación mostramos el ejemplo.
Con esto finalizamos la creación del objeto DataWindow, lo unico que restaría es hacer referencia a el desde .Net , lo cual cubriremos en otro posteo.
Atte. Elmer Carías
“El fracaso tiene mil excusas, el éxito no requiere explicación”









Esta bien el ejemplo, pero yo quiero leer, los nombres de la columnas del datawindow crossteb, q funcion utilizo.
esta muy bien todo es lo mismo q se hace en power builder la verda quiero probarlo en visual studio 2005 averr como se muestra y dime si el codigo q ulizo en power builder es el mismo me refiero si utiliza el settrasnobject o retrieve y donde podere descargar un version de prueba y como agregarlo al visual studio
Se utiliza igual que en PowerBuilder, existe el objeto transaccion y los metodos son los mismos solo que con los parametros cambian a los tipos de dato de .Net