vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Monatsdiagramm 
Autor: ERBRU
Datum: 25.02.18 12:57

mit dieser Funktion werte ich Daten pro Woche aus, nun soll auch der Monat möglich sein?

die Funktion stammt ursprünglich von Manfred X

beim Monat habe ich fehlendes Wissen den richtig zu erwischen.
es wird zum Schluss auch ein Chart gezeichnet
  Private Function GetFreq1(ByVal week As Integer, _
       year As Integer) As DataTable
 
        'Dim year As Integer = cbx_Jahr.SelectedValue
 
 
        Dim dt As DataTable = ABLAGEPUAM.Vorgang
        Dim cal As Globalization.Calendar = _
          Globalization.CultureInfo.CurrentCulture.Calendar
 
        Dim q = From row As DataRow In dt
              Let wk As Integer = _
                cal.GetWeekOfYear(row.Field(Of Date)("angelegtam"), _
                Globalization.CalendarWeekRule.FirstFourDayWeek, _
                DayOfWeek.Monday)
              Where year = row.Field(Of Date)("angelegtam").Year _
               AndAlso wk = week _
                AndAlso row.Field(Of Integer)("IDAblage") = row.Field(Of _
                Integer)("IDAblage")
              Group By art = row.Field(Of String)("Ablagename") Into Count()
 
        Dim df As New DataTable
        df.Columns.Add("Ablagename") : df.Columns.Add("Count", GetType( _
          Integer)) : df.Columns.Add("Cum", GetType(Double)) _
                                        : df.Columns.Add("CumPerc", GetType( _
                                        Double))
 
        For Each el In q
            df.Rows.Add(el.art, el.Count)
        Next el
 
        Dim bs As New BindingSource With {.DataSource = df}
        bs.Sort = "Count DESC"
 
        Dim sm As Integer = 0
        For i As Integer = 0 To bs.Count - 1
            Dim row As DataRow = DirectCast(bs(i), DataRowView).Row
            'Häufigkeiten kumulieren
            sm += CInt(row("Count"))
            row("cum") = sm
        Next i
 
        'Kumulierte Werte in Prozentanteile umrechnen
        For i As Integer = 0 To bs.Count - 1
            Dim row As DataRow = DirectCast(bs(i), DataRowView).Row
            row("CumPerc") = Math.Round(CInt(row("Cum")) / sm * 100, 2)
        Next i
 
        'Daten in der DGV anzeigen
        DGV1.DataSource = bs
 
        With DGV1
            .Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnsMode.Fill
            .Columns(1).Width = 60
        End With
 
        With DGV1
            .EnableHeadersVisualStyles = False
            .ColumnHeadersDefaultCellStyle.Alignment = _
              DataGridViewContentAlignment.MiddleCenter
            .ColumnHeadersDefaultCellStyle.BackColor = Color.DimGray
            .ColumnHeadersDefaultCellStyle.ForeColor = Color.FloralWhite
            .BackgroundColor = Color.LightGray
            .Font = New Font("Consolas;", 9.5, FontStyle.Regular)
            .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
            .ColumnHeadersHeight = 38
            .ColumnHeadersHeightSizeMode = _
              DataGridViewColumnHeadersHeightSizeMode.DisableResizing
            .RowHeadersVisible = False
            .GridColor = System.Drawing.Color.DarkGray
            .SelectionMode = DataGridViewSelectionMode.FullRowSelect
            .DefaultCellStyle.WrapMode = DataGridViewTriState.True
            .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
        End With
        With DGV1.DefaultCellStyle
            .SelectionForeColor = Color.OldLace
            .SelectionBackColor = Color.Olive
            .BackColor = Color.LightGray
            .ForeColor = Color.Black
            .Font = New Font("Consolas;", 8.0, FontStyle.Regular)
        End With
        With DGV1.AlternatingRowsDefaultCellStyle
            .SelectionForeColor = Color.OldLace
            .SelectionBackColor = Color.Olive
            .BackColor = Color.WhiteSmoke
            .ForeColor = Color.Black
            .Font = New Font("Consolas;", 8.0, FontStyle.Regular)
        End With
        'Ende Auswertung
        'Chart anzeigen
 
    End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Monatsdiagramm1.143ERBRU25.02.18 12:57

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel