Ir al contenido principal

VB.Net - Reporte Estadísticos - Primera Parte

Para el siguiente articulo usaremos el componente Control Chart que ya se incluye en el Visual Studio 2010; para las versiones anteriores puedes descargarlo (http://www.microsoft.com/es-es/download/details.aspx?id=14422) y hacer uso de este potente componente. No entraremos en detalle del mencionado componente, daremos algunas pautas para su uso.

Requisitos para el Desarrollos
  1. IDE (Visual Studio 2010).
  2. LP (VB.Net).
  3. SGBD (SQL Sever 2008)
  • Crear el proyecto con nombre de Grafico - Chart.
  • Adicionar y diseñar nuestro formulario dando uso del control chart.
    Pautas

    Crear la tabla producto
    Con solos siguiente campos.




    Cadena de conexión (Add Module1.vb).
    Crear nuestra cadena de conexión, con nombre "conn"
    Imports System.Data.SqlClient
    Module Module1
        Public conn As New SqlConnection("Data Source=.; Initial Catalog=BD_PRUEBAS; User Id=hadsonpar; Password=hadsonparedes") '; integrated security=true
    End Module
    
    Control combobox.
    Adicionamos algunos de los tipos de gráficos para ir mostrando la variedad que nos brindada este control (chart).

    Pie
    Line
    Point
    Bar
    Polar
    Range
    Renko
    SplineArea
    StackedBar
    RangeColumn
    ThreeLineBreak
    BoxPlot
    Pyramid
    StackedColumn100
    PointAndFigure
    Area
    RangeBar
    StepLine
    BoxPlot
    Kagi
    Bubble
    Candlestick
    Doughnut
    Funnel
    FastLine
    Stock
    Column
    Radar

    Crear función (TipoGrafico).
    En esta función definiremos la serie, el valor, los puntos X - Y y el estilo de nuestro gráfico.


    Public Function TipoGrafico(ByVal grafico As DataVisualization.Charting.SeriesChartType)
            Dim Sql As String = "Select Producto, Cantidad From dbo.Producto"
    
            Dim cmd As New SqlCommand(Sql, conn)
            cmd.CommandType = CommandType.Text
            Dim da As New SqlDataAdapter(cmd)
    
            Dim dt As New DataTable
    
            da.Fill(dt)
    
            'limpiar los puntos X Y
            Chart1.Series(0).Points.Clear()
            'valores de grafico
            Chart1.Series(0).IsValueShownAsLabel = True
            'tipo de grafico
            Chart1.Series(0).ChartType = grafico
    
            Chart1.Series(0)("PieLabelStyle") = "Inside"
            Chart1.Series(0)("PieDrawingStyle") = "Concave"
    
            'forma 3 D
            Chart1.ChartAreas(0).Area3DStyle.Enable3D = True
            'definor color grafico
            Chart1.Series(0).Color = Color.RoyalBlue
            'valor de los ejes X Y
            Chart1.Series(0).XValueMember = "Producto"
            Chart1.Series(0).YValueMembers = "Cantidad"
    
            Chart1.Series(0)("DrawingStyle") = "Wedge"
            Chart1.Series(0)("PointWidth") = "0.6"
            Chart1.BorderSkin.SkinStyle = DataVisualization.Charting.BorderSkinStyle.Emboss
    
            'label
            Chart1.Series(0).IsValueShownAsLabel = True
            'Chart1.Series(0).LabelFormat = "P2"
            Chart1.Series(0)("LabelStyle") = "Bottom"
            Chart1.Series(0).Font = New Font("Times New Roman", 7)
    
            'fondo chart
            Chart1.BackColor = Color.White
            Chart1.BackSecondaryColor = Color.SkyBlue
            Chart1.BackGradientStyle = DataVisualization.Charting.GradientStyle.TopBottom
    
            'fondo area
            Chart1.ChartAreas(0).BackColor = Color.White
            Chart1.ChartAreas(0).BackSecondaryColor = Color.SkyBlue
            Chart1.ChartAreas(0).BackGradientStyle = DataVisualization.Charting.GradientStyle.DiagonalLeft
            Chart1.ChartAreas(0).ShadowOffset = 3
    
            'grid line
            Chart1.ChartAreas(0).AxisX.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
            Chart1.ChartAreas(0).AxisX.MinorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
            Chart1.ChartAreas(0).AxisY.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
            Chart1.ChartAreas(0).AxisY.MinorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
    
            'axis
            Chart1.ChartAreas(0).AxisX.LabelStyle.Font = New Font("Arial", 8)
            Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8)
            Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "P0" 'porcentaje con cero decimales
    
    
            Chart1.DataSource = dt
        End Function

    Botón (BtnCargarGrafico).
    Invocaremos a la función que acabamos de crea.

    Private Sub BtnCargarGrafico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCargarGrafico.Click
            Select Case CmbTipoGrafico.SelectedIndex
                Case 0
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Pie)
                Case 1
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Line)
                Case 2
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Point)
                Case 3
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Bar)
                Case 4
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Polar)
                Case 5
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Range)
                Case 6
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Renko)
                Case 7
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.SplineArea)
                Case 8
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.StackedBar)
                Case 9
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.RangeColumn)
                Case 10
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.ThreeLineBreak)
                Case 11
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.BoxPlot)
                Case 12
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Pyramid)
                Case 13
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.StackedColumn100)
                Case 14
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.PointAndFigure)
                Case 15
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Area)
                Case 16
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.RangeBar)
                Case 17
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.StepLine)
                Case 18
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.BoxPlot)
                Case 19
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Kagi)
                Case 20
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Bubble)
                Case 21
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Candlestick)
                Case 22
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Doughnut)
                Case 23
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Funnel)
                Case 24
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.FastLine)
                Case 25
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Stock)
                Case 26
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Column)
                Case Else
                    TipoGrafico(DataVisualization.Charting.SeriesChartType.Radar)
            End Select
    Visualizamos algunos de los gráficos y cargamos la data con el tipo de gráfico SplineArea.
    Tipos de gráficos.

    Reporte (gráfico SplineArea).

    Espero les sirva...

Comentarios

Publicar un comentario

Entradas más populares de este blog

Habilitar Usuario HR Oracle

Al realizar la primera instalación del Oracle, el usuario HR por defecto está bloqueado y por ende no podemos loguearnos como dicho usuario, lo que debe hacer son los siguiente pasos, aplicables para Linux o Windows.
1. Conectarse como usuario system o sysdba + contraseña haciendo uso del comando connect.
Usuario: system
Password: xxxx 


2. Hacer uso  del comando alter user hr account unlock desbloqueamos la cuenta.
alter user hr account unlock;

3. Escribimos el comando alter user HR identified by hr; con esto estamos diciendo que la contraseña será hr.

alter user HR identified by hr;

4. Ahora testeamos la conexión con el comando - conn hr/hr@xe. Si deseas después de conectarnos se puede realizar un select a la tabla employees del hr.


Resultado del select realizado
5. Con todos estos pasos realizados ya podemos logearnos desde cualquier IDE como el usuario hr  y la contraseña hr que definimos en el paso 3. 
Para finalizar nos loguearemos con el IDE Oracle SQL Developer.

Espero les sea de utilidad,…

Usuario SYS y SYSTEM - ORACLE

Usuario SYS y SYSTEM
Ambos usuario son creados de forma automática al crear la base de datos ORACLE y se otorga el rol de DBA.

SYS (password por defecto: CHANGE_ON_INSTALL).
SYSTEM (password por defecto: MANAGER).

Lo que se recomienda es cambiar el password de ambos usuarios por el tema de seguridad.

SYS:
Todas las tablas y vistas para el diccionario de datos de la base de datos están almacenados en el esquema SYS. Estas tablas y vistas son críticas para el funcionamiento de la base de datos ORACLE. Para mantener la integridad del diccionario de datos, las tablas del esquema SYS son manipulados solo por la base de datos. Nunca se debería modificar algo o crear tablas en el esquema del usuario SYS.

SYSTEM:
El usuario SYSTEM se utiliza para crear tablas y vistas adicionales que muestran información administrativa, tablas internas y vistas utilizado por varias opciones y herramientas de la base de datos ORACLE. No se recomienda utilizar el esquema SYSTEM para almacenar tablas de interés para usu…

Parámetro de entrada y salida – PL/SQL

Parámetro de entrada y salida – PL/SQL:
Los parámetros de entrada y salida no son los parámetros de inicialización de la base de datos ORACLE. Los parámetros de entra y salida son utilizados mayormente en implementaciones de funciones, procedimientos almacenados o bloques de código bajo el lenguaje del PL/SQL, se considera que ambos parámetros (entra y salida) puedan realizar operaciones en el mismo bloque PL/SQL, es decir, si enviamos un parámetro de entrada hará que cumpla cierta operación y retornara los valores de salida de dicha operación procesada de acuerdo al parámetro de ingresado. Es de acuerdo al caso que nos presenta en la implementación.
Algo importante al definir los parámetros, es saber y considerar cuántos tipos de parámetro existe si solo hablamos de entrada y salida, en realidad mi determinación seria 3 tipos:

Parámetros:

IN – entrada
OUT – salida
IN OUT – entrada salida

Parámetro IN – entrada:
El comportamiento común de estés tipos de parámetros es estar siempre pendiente d…