Archivo

Archive for agosto 2010

UNPIVOT – Sql Server (Pasar de columnas a filas)

31 agosto 2010 1 comentario

  Para mostrar cómo funciona UNPIVOT creamos la  siguiente tablas

CREATE TABLE [dbo].[TipoCambio](
 [ano_mon] [int] DEFAULT ((0)),
 [mes_mon] [int] DEFAULT ((0)),
 [com_01] [decimal](18, 2) DEFAULT ((0)),
 [vta_01] [decimal](18, 2) DEFAULT ((0)),
 [com_02] [decimal](18, 2) DEFAULT ((0)),
 [vta_02] [decimal](18, 2) DEFAULT ((0)),
 [com_03] [decimal](18, 2) DEFAULT ((0)),
 [vta_03] [decimal](18, 2) DEFAULT ((0)),
 [com_04] [decimal](18, 2) DEFAULT ((0)),
 [vta_04] [decimal](18, 2) DEFAULT ((0))
) ON [PRIMARY] 

con este ejemplo mostraremos como pasar las columnas a filas:

Supongamos que tenemos una tabla tipo de cambio con los campos  año,  mes  y 2 columnas por cada día (valor de compra y valor de venta)  y queremos mostrar esta tabla en filas.

— Te muetra un tabla con el año , mes , día (Unpivot de compras)
SELECT ano_mon, mes_mon,dia, compra
FROM
(SELECT ano_mon,mes_mon ,com_01 ,com_02,com_03 FROM TipoCambio WHERE ano_mon = 2008 and mes_mon = 1) P
UNPIVOT (compra FOR dia IN (com_01 ,com_02,com_03)) AS Unpvt
GO
 
— Te muetra un tabla con el año , mes , día (Unpivot de ventas)
SELECT ano_mon, mes_mon,dia,venta
FROM
(SELECT ano_mon,mes_mon , vta_01 , vta_02 , vta_03 FROM TipoCambio WHERE ano_mon = 2008 and mes_mon = 1) P
UNPIVOT(venta FOR dia IN (vta_01 , vta_02 , vta_03)) AS Unpvt;
GO

Con este ejemplo se muestran la columna de compra y venta en una sola tabla :

SELECT * FROM(
 SELECT ano_mon, mes_mon,diac,diav, compra ,venta
  FROM
  (SELECT ano_mon,mes_mon ,com_01 ,com_02,com_03,vta_01 , vta_02 , vta_03 FROM TipoCambio WHERE ano_mon = 2008 and mes_mon = 1) P
  UNPIVOT (compra FOR diac IN (com_01 ,com_02,com_03))AS compra
  UNPIVOT (venta FOR diav IN (vta_01 , vta_02 , vta_03))AS venta) AS RESULTADO
WHERE SUBSTRING(diac,5,2) = SUBSTRING(diav,5,2)

Categorías: Transact-SQL

Algo mas sobre los reportes de foxpro (campos de la tabla)

24 agosto 2010 Deja un comentario

   Microsoft proporciona una DBF que contiene información sobre las tablas FRX. 

Campo OBJTYPE Descripción
PLATFORM Todos Siempre «WINDOWS»
UNIQUEID Todos excepto:
0-Comment
23-Font
25-Data Environment
26-Data
Es el identificador único de la mayoría de los registros. Puede utilizar SYS(2015) para crear un valor personalizado al agregar registros.
TIMESTAMP Todos excepto:
21-Printer driver (2.x)
23-Font
25-Data Environment
26-Data
Información sobre cuándo fue modificado el registro por última vez.
OBJTYPE   0-49 reservados para uso nativo.
50-99 disponibles para uso del usuario.
0 = Comment
1 = Report Definition
2 = Work area (2.x reports)
3 = Index (2.x reports)
4 = Relations (2.x reports)
5 = Label
6 = Line
7 = Shape
8 = Field
9 = Band
10 = Grouped objects (no Data Groups)
17 = Picture / OLE Bound
18 = Variable
21 = Printer driver setup (2.x reports)
23 = Font
25 = Data Environment
26 = Data (Cursor, Relation, o cursor adapter)
OBJCODE   Cuando el campo OBJTYPE no es suficiente para identificar un tipo de registro, se utiliza el campo OBJCODE para identificación adicional del registro.
  1-Report Definition Siempre 53.
  2-Work area (2.x) Área de trabajo de la tabla.
  3-Index (2.x) Área de trabajo del IDX.
  4-Relation (2.x) Área  de trabajo de tabla hija.
  5-Label
6-Line
8-Field
10-Group
17-Picture
Siempre 0.
  7-Shape Siempre 4.
  9-Band Describe el tipo de banda:
0 = Title
1 = Page Header
2 = Column Header
3 = Group Header
4 = Detail
5 = Group Footer
6 = Column Footer
7 = Page Footer
8 = Summary
9 = Detail Header
10 = Detail Footer
NAME 2-Work area (2.x) Nombre del archivo de la tabla.
  3-Index (2.x) Nombre del archivo IDX.
  8-Field Encabezado en tiempo de diseño.
  17-Picture Si se define como Imagen desde archivo (Picture from File), y se selecciona un archivo de imagen (picture file), está en blanco.
Si se define como Imagen desde archivo (Picture from File), y se introduce una expresión, contiene la expresión.
Si se define como (Picture from Field), contiene el nombre del campo general.
  18-Variables Nombre de las variables.
  21-Printer driver (2.x) Nombre de la impresora configurada.
  25-Data Environment «dataenvironment»
  26-Data «cursor» para cursores
«relation» para relaciones
«cursoradapter» para cursor adapters
EXPR 1-Report Definition Información del Controlador de impresora (Printer driver) y la configuración de impresora.
  3-Index (2.x) Expresión de orden.
  4-Relation (2.x) Expresión de relación.
  5-Label Texto de los objetos etiqueta (Label).
  8-Field Expresión de objeto campo (Field).
  9-Band/Group Header Expresión de Agrupación de datos (Data Group).
  9-Band/Detail Expresión de Alias destino.
  18-Variables Expresión de Almacenar valor (Value to store).
  25-Data Environment
26-Data
Propiedades del Entorno de datos o del objeto Data.
VPOS 1-Report Definition Cantidad de conjuntos de columnas.
  10-Group Este número representa el primer objeto incluido en este grupo. Se basa en el Z-Order de los objetos del informe. Sin embargo, los objetos agrupados pueden pertenecer a otros objetos agrupados. Cuando ocurre esto, el grupo de objetos entero se cuenta únicamente una vez que se haya determinado este número.
  23-Font Altura de los caracteres, en pixels, FONTMETRIC(1).
  Report objects Posición vertical de los objetos, en FRUs.
HPOS 1-Report Definition Margen izquierdo, en FRUs.
Relativo al margen de impresión si se selecciona Página imprimible (Printable page).
Relativo al borde físico del papel si se selecciona Toda la página (Whole page).
  10-Group Este número representa el total de objetos de informe en este grupo. Sin embargo si los objetos agrupados se incluyen en otro grupo, todo el grupo se cuenta como un único objeto.
  23-Font El ancho promedio de los caracteres en pixels, FONTMETRIC(6).
  Report objects Posición horizontal de los objetos en, FRUs.
HEIGHT 1-Report Definition Espacio entre columnas, en FRUs.
  9-Band Altura de la banda, en FRUs.
  23-Font Lo que sube el carácter en pixels, FONTMETRIC(2).
  Report objects Altura de los objetos, en FRUs.
WIDTH 1-Report Definition Ancho de cada columna, en FRUs.
  9-Band/Detail
9-Band/Group Header
Valor de Comenzar grupo en nueva página cuando se menor que (Start group on new page when less than) en el cuadro de diálogo Agrupr datos (Data Grouping) del cuadro de diálogo Detalle (Detail), en FRUs.
  23-Font Ancho máximo de caracteres en pixels, FONTMETRIC(7).
  Report objects Ancho de los objetos, en FRUs.
STYLE 1-Report Definition Si el informe utiliza una clase DataEnvironment o ha copiado el Entorno de datos de otro informe, contiene el XML con el entorno de datos.
  2.x report objects B = Negrita – Bold
I = Cursuva – Italic
R = Sobreíndice – Raised
L = Subíndice – Lowered
J = Alineada a la derecha
C = Alineada al centro
PICTURE 5-Label Contiene el formato de alineación de los caracteres.
  8-Field Expresión escrita en el cuadro de texto Formato (Format) en el cuadro de diálogo Expresión de informe (Report Expresión). Si se selecciona  Interleave, la expresión de formato inicia con @R.
  17-Picture Si se definió como Picture from File, y se escogió un archivo de imagen, este contiene la ruta relativa y nombre del archivo.
Si se definió como Picture from File, ay se introduce una expresión, está en blanco.
Si se definió como Picture from Field, está en blanco.
ORDER Todos—anterior a  VFP 9.0 No se utiliza.
  Todos—VFP 9.0 Continene un valor de caracteres que representa un valor numérico (las marcas binarias sumadas) para identificar niveles de protección.
Objectos (bit, valor, significado)
0, 1, Lock (movido o redimensionado)
1, 2, Hide (visible)
2, 4, No eliminar
3, 8, No modificar
6, 64, No seleccionar
Bandas (bit, valor, significado)
4, 16, No modificar
14, 16384, No redimensionar
Informe (bit, valor, significado)
7, 128, No hacer presentación preliminar
8, 256, No permitir bandas opcionales
9, 512, No permitir agrupaciones de datos
10, 1024, No permitir variables
11, 2048, No mostrar Configurar página
12, 4096, No permitir selección múltiple
13, 8192, No mostrar Entorno de datos
15, 32768, No imprimir
16, 65536, No permitir Informe rápido
UNIQUE 1-Report Definition .T. = Informe generado temporalmente por el asistente 
.F. = Informe permanente
  2-Work area (2.x) .T. = Existe un índice activo para esta área de trabajo
.F. = No existe un índice activo para esta área de trabajo
  18-Variable Se corresponde con la casilla de verificación Liberar tras informe (Release after report) en el cuadro de diálogo Variables de informe (Report Variables).
COMMENT Todos Se corresponde con el cuadro de edición Comentarios (Comments).
ENVIRON 25-Data Environment .T. = Sesión de datos Privada
.F. = Sesión de datos Predeterminada
BOXCHAR Todos No se utiliza
FILLCHAR 8-Field C para campos de caracteres.
N para campos numéricos.
D para campos Fecha.
TAG 1-Report Definition Información binaria del controlador de impresora.
  2-Work area (2.x) Alias del área de trabajo.
  9-Band Valor de la expresión Al entrar (On Entry).
  18-Variable Valor inicial (Initial value).
  25-Data Environment
26-Data
Contiene el código de eventos y métodos.
TAG2 1-Report Definition Información binaria del controlador de impresora.
  9-Band Valor de la expresión Al salir (On Exit).
  25-Data Environment
26-Data
Contiene el código compilado de eventos y métodos.
 
PENRED 23-Font Lo que baja el carácter en pixels, FONTMETRIC(3).
  Report objects Color de primer plano Red como en RGB().
PENGREEN 23-Font Margen extra en pixels, FONTMETRIC(5).
  Report objects Color de primer plano Green como en RGB().
PENBLUE Report objects Color de primer plano Blue como en RGB().
FILLRED Report objects Color de fondo Red como en in RGB().
FILLGREEN Report objects Color de fondo Green como en RGB().
FILLBLUE Report objects Color de fondo Blue como en RGB().
PENSIZE 6-Line
7-Shape
Tamaño del borde (cuando selecciona Borde (Pen) desde el menú Formato (Format) y escoge uno de los trazos de línea sólida).
0 = Trazo fino
1 = 1 Punto
2 = 2 Puntos
4 = 4 Puntos
6 = 6 Puntos
El ancho completo de la línea no será visible a menos que altura HEIGHT o ancho WIDTH sea (PENSIZE x 104.167). Leer más…
Categorías: Visual Fox Pro