vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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.NET - Fortgeschrittene
Re: Monatsdiagramm 
Autor: ERBRU
Datum: 25.02.18 18:27

Hallo Manfred X,

Danke für den Hinweis

so ?

einen dritten Parameter "IntervalType", aus dem hervorgeht,
wie das Intervall gebildet werden soll (Woche oder Monat).
Eine entsprechende If-Bedingung in Linq-Where entscheidet
anhand dieses Parameters, ob die Woche oder der Monat
aus "angelegtam" ermittelt und als Auswahl-Bedingung verwendet das wäre evtl. für Benutzer besser
zeig mir den dritten Parameter Bitte.

möchte aus einer Liste Monat auswählen?

  Private Sub Monatsliste()
        Dim lst_Monate As New List(Of String) From {"", "Januar", "Februar", _
          "März", "April", "Mai", "Juni", "Juli", "August", "September", _
          "Oktober", "November", "Dezember"}
        cbx_Monat.Items.AddRange(lst_Monate.ToArray)
        cbx_Monat.SelectedIndex = 0
        lst_Monate.Clear()
    End Sub
 Dim dt As DataTable = ABLAGEPUAM.Vorgang
        Dim cal As Globalization.Calendar = _
          Globalization.CultureInfo.CurrentCulture.Calendar
 
        Dim q = From row As DataRow In dt
              Let mn As Integer = row.Field(Of Date)("angelegtam").Month
              Where year = row.Field(Of Date)("angelegtam").Year _
               AndAlso mn = Month(row.Field(Of Date)("angelegtam")) _
              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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Monatsdiagramm1.182ERBRU25.02.18 13:06
Re: Monatsdiagramm633Manfred X25.02.18 17:40
Re: Monatsdiagramm606ERBRU25.02.18 18:27
Re: Monatsdiagramm614Manfred X25.02.18 18:33
Re: Monatsdiagramm625ERBRU25.02.18 18:44
Re: Monatsdiagramm626Manfred X25.02.18 19:16
Re: Monatsdiagramm676ERBRU28.02.18 11:32

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