vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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
Daten Auswerten 
Autor: ERBRU
Datum: 13.06.18 19:21

ich brauche eure Hilfe,

habe eine Tabelle
Spalte---------------Typ
ID-------------------Autowert(Int32)
Liefermangel---------String
Eingang--------------DateTime
Woche----------------Funktion(DateToWeek) (String)
Beschreibung---------String
Verursacher----------String

Stellungnahme--------String
Status---------------String

Nun, möchte ich ein Balkendiagramm 2018 mit den Monaten: Januar, Feburar ...,Dezember

Balken: je Monat Anzahl Liefermangel, und je Monat Häufigkeit Verursacher zum Liefermangel.

Hoffe bekomme auf dies Thema eine Antwort wie man ein Jahresdiagramm erstellen kann und die Daten richtig präsentiert (Bericht) für den Chef

Function DateToWeek zur berechnung der Woche aus Datum
 Public Function DateToWeek(ByVal dDate As Date) As String
        ' Startdatum der ersten Kalenderwoche des Jahres und Folgejahres 
        ' berechnen
        Dim dThisYear As Date = CalendarWeek(1, dDate.Year)
        Dim dNextYear As Date = CalendarWeek(1, dDate.Year + 1)
 
        ' Prüfen, ob Datum zur ersten Woche des Folgejahres gehört
        If dDate >= dNextYear Then
            ' Rückgabe: KW 1 des Folgejahres
            Return dDate.Year + 1 & "01"
        ElseIf dDate < dThisYear Then
            ' Falls das Datum noch zu einer KW aus dem letzten Jahr zählt
            Return dDate.Year - 1 & DatePart(DateInterval.WeekOfYear, _
              New Date(dDate.Year - 1, 12, 28), FirstDayOfWeek.Monday, _
              FirstWeekOfYear.FirstFourDays)
        Else
            ' KW = Differenz zum ersten Tag der ersten Woche
            Return dDate.Year & Format$(dDate.Subtract(dThisYear).Days \ 7 + 1, _
              "00")
        End If
    End Function
|Beispiel: Lieferant, Kunde, Material etc. = Verursacher.
so wird der Verursacher Lieferant für den Mangel 1, 2, ... mal zugewiesen, oder der Kunde etc.
oder das Material, oder Sonstiges

seht euch das Bild mal an. Danke, Danke
https://picload.org/view/dopggdpi/13-06-_2018_19-31-04.png.html

Beitrag wurde zuletzt am 13.06.18 um 19:41:12 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: Manfred X
Datum: 13.06.18 20:25

Hallo!

Stelle Fragen, die man auch beantworten kann.

Wie ergibt sich die Anzahl von Liefermängeln pro Monat
aus dieser Tabellenstruktur?
Ist bei einem Fehlenden Mangel in der Spalte Liefermangel "nichts"
eingetragen (Leerstring, DbNull, Kennstring)?
Geht es in dem Fall um relative oder absolute Häufigkeiten?

Oder beziehen sich alle Datensätze in der Tabelle auf Mangellieferungen
und müssen deshalb nur ausgezählt werden?
Können die verschiedenen Arten von Liefermängeln zu einer Häufigkeit
zusammengefasst werden? Oder gibt es Typen?

Sind die Mangel-Häufigkeiten für Monate oder für Verursacher aneinander zu
relativieren?

Du willst wissen, wie man die Daten richtig präsentiert?
Das hängt von den Daten (Häufigkeiten) ab?
Skala: Linear oder Logarithmisch? Typ: Balken oder Kuchen?
Soll es vielleicht ein stacked-Diagramm "Liefermagel x Verursacher" werden?

Auch der Darstellungs-Zweck spielt eine Rolle?
- Zeitlicher Trend
- Monate mit besonderer Häufung
- Selektion von Verursachern mit besonderer Häufung

Usw.

Übrigens:
Die Mittel die Du dafür brauchst (Klassen, Vorgehensweisen) sind in
diesem Forum ausführlich besprochen worden.

Und noch eins:
Ich glaube nicht, daß Du bereits Daten für Dezember 2018 besitzt!

Beitrag wurde zuletzt am 13.06.18 um 20:35:22 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: ERBRU
Datum: 14.06.18 06:44

Hallo Manfred X

erst mal Danke für die Antwort.
ich bekomme einen Mangel gemeldet mit einer Situationsbeschreibung
diese Meldung lege ich mir zunächst als Vorgang an. Vermerk den Eingang der Meldung
19.03.2018

der Vorgang geht in den Status In Bearbeitung. Nach Analyse wird der Vorgang "Mangel" einem möglichen Verursacher zugewiesen, ist der Verursacher nicht analysierbar weise ich das als Unbekannt zu.

Der Status etc. wird dokumentiert = erledigt. mit Datum
Dh. ausgewertet wird erst nach "Status" erledigt. Und bei Bedarf

somit:
Ist bei einem Fehlenden Mangel in der Spalte Liefermangel "nichts"
eingetragen (Leerstring, DbNull, Kennstring)? trifft nicht zu da der Mangel "als Vorgang" erfasst wird
Geht es in dem Fall um relative oder absolute Häufigkeiten? absolute Häufigkeiten

Können die verschiedenen Arten von Liefermängeln zu einer Häufigkeit
zusammengefasst werden? Oder gibt es Typen? in diesem Fall werden nicht die Arten von Liefermängeln
festgehalten oder nach Typ.

Beispielsweise: Technik, Elektik usw. sondern wer ist Verursacher für den Mangel

Beispiel: Meldung: 1 Vorgang 19.03.2018 :Verursacher Lieferant
Meldung: 1 Vorgang 20.03.2018 :Verursacher Lieferant
Meldung: 1 Vorgang 20.03.2018 :Verursacher Unbekannt

also 3 Liefermangel im Monat März
Verursacher im Monat März 2 x Lieferant 1x Unbekannt

Sind die Mangel-Häufigkeiten für Monate oder für Verursacher aneinander zu
relativieren? also Ja
Soll es vielleicht ein stacked-Diagramm "Liefermagel x Verursacher" werden? Ja

Auch der Darstellungs-Zweck spielt eine Rolle? Da hast du wohl Recht, kann da gerade nichts mit anfangen ist aber interessant.
- Zeitlicher Trend
- Monate mit besonderer Häufung
- Selektion von Verursachern mit besonderer Häufung

Die Mittel die Du dafür brauchst (Klassen, Vorgehensweisen) ja haste Recht aber ich bräuchte doch noch mal einen Tritt...

PS ja den Monat Dezember habe ich noch nicht

Danke

evtl so ? nur mal so in Excel (Verurscher bezieht sich nicht auf den Monat?)
https://picload.org/view/dopgacwa/14-06-_2018_06-47-48.png.html

Beitrag wurde zuletzt am 14.06.18 um 06:53:51 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: Manfred X
Datum: 14.06.18 11:39

Die Tabelle enthält Stringspalten.
Das ist z.B. für Häufigkeitsanalysen problematisch
(verschiedene Schreibweisen, Groß-/Kleinschreibung, Schreibfehler)
Es sollte eine zusätzliche Tabelle geben mit den String-Spalten:
Liefermangel, Verursacher Status
In den Zeilen sind die möglichen Bezeichner jeweils einmal
aufgelistet.

In der Tabelle, die die Liefermängel enthält, wird dann auf diese
Basistabelle verwiesen (Fremdschlüssel, Stichwort: Normalisierung).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: ERBRU
Datum: 14.06.18 15:04

OK Manfred X,

dann baue ich die zusätzliche Tabelle ein.

ich gehe jetzt so vor:

1. Tabelle Eingang in der ich die Meldung erfasse
- ID
- MeldungsnummerLM
- BeschreibungLM

2. Tabelle Status
- ID
- Status
- IDEingang
- MeldungsnummerLM
- VerursacherLM


3. Tabelle Maßnahme
- ID
- IDStatus
- Ursache
- Maßnahme
- Fazit
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: ERBRU
Datum: 17.06.18 10:17

Hallo Manfred X,

habe nun eine seperate Tabelle angelegt, und alles überarbeitet.

im 1. Schritt wird die Meldung erfasst
im 2. Schritt wird der Meldung ein Verursacher zugewiesen
nachdem wir es analysiert haben. Evtl. angefallene Ausfallzeiten (Minuten) werden dem Verursacher zugewiesen angegeben.
im 3. Schritt soll das nun in eine Auswertung da brauche ich dich jetzt mal. Wie das in einem Chart aussehen könnte (Monatsauswertung)mit den Ausfallzeiten Häufigkeit nach Verursacher pro Monat

https://picload.org/view/dopocada/17-06-_2018_09-31-32.png.html

Datenmodell: über Private ReadOnly Property ... typisiert

https://picload.org/view/dopocapr/17-06-_2018_10-18-56.png.html

Beitrag wurde zuletzt am 17.06.18 um 10:23:53 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: ERBRU
Datum: 30.06.18 20:30

Hallo Manfred,

so ganz habe ich es noch nicht geschafft wie es sein sollte

https://picload.org/view/dlgaawia/30-06-_2018_20-11-08.png.html

ich möchte ja die Verursacher pro Monat ermitteln, also wer versteckt sich hinter der Anzahl
und wieviele Ausfallminuten hat er verursacht. Das wäre eine Top Auswertung evtl. mit Trend...

Datenmodell:
https://picload.org/view/dlgaogga/17-06-_2018_10-18-56.png.html

  Private Sub btn_btn_Auswerten_Click(sender As Object, e As EventArgs) Handles _
    btn_Auswerten.Click
        Dim dt As DataTable = DSABLAGE.STATUSLM
        Dim year_selected As Integer = CInt(cbx_Jahr.SelectedItem)
        'Häufigkeitstabelle aus Datensätzen erstellen
        Dim dc As New DataTable
        With dc.Columns
            .Add("Month", GetType(String))
            .Add("Freq. done", GetType(Integer))
            .Add("Freq. todo", GetType(Integer))
        End With
 
        dc.PrimaryKey = {dc.Columns("Month")}
 
        For i As Integer = 0 To dt.Rows.Count - 1
            Dim dr As DataRow = dt.Rows(i)
            If DirectCast(dr("LMSTATUS"), Date).Year = year_selected Then
                'sortierbarer Jahr-Monat-String
                Dim ym As String = _
                 dr.Field(Of Date)("LMSTATUS").Year.ToString & "-" & _
                 dr.Field(Of Date)("LMSTATUS").Month.ToString("00")
 
                'Datensatzsuche nach Monat in Häufigkeitstabelle
                'gemäß Primärschlüssel     
                Dim dcr As DataRow = dc.Rows.Find({ym})
                If dcr Is Nothing Then
                    dcr = dc.Rows.Add({ym, 0, 0})
                End If
 
                Dim fcol As String
                fcol = dc.Columns(1).ColumnName
 
 
                'Häufigkeit bestimmen
                dcr(fcol) = CInt(dcr(fcol)) + 1
            End If
        Next i
 
        Dim bs As New BindingSource With {.DataSource = dc}
        bs.Sort = "Month ASC"
 
        'Chart für Häufigkeiten erstellen
        With Chart1
            .ChartAreas.Clear()
            .Series.Clear()
            .Legends.Clear()
            .AntiAliasing = AntiAliasingStyles.All
            .TextAntiAliasingQuality = TextAntiAliasingQuality.High
            .BackColor = Color.Transparent
            .BackSecondaryColor = Color.Transparent
            .BackHatchStyle = ChartHatchStyle.DashedHorizontal
            .BackGradientStyle = GradientStyle.DiagonalRight
            .BorderColor = Color.Transparent
            .BorderDashStyle = ChartDashStyle.DashDotDot
            .BorderWidth = 1
 
            .Titles.Clear()
            .Titles.Add("Titel")
            .Titles(0).Text = "LM - AUSWERTUNG"
            .Titles(0).Font = New Font("Thahoma", 10, FontStyle.Regular)
            .Titles(0).ForeColor = Color.WhiteSmoke
            .Titles(0).BorderColor = Color.Transparent
            .Titles(0).BackColor = Color.Transparent
            .Titles(0).Alignment = System.Drawing.ContentAlignment.BottomCenter
            .DataSource = bs
            'hier könnte man auch mittels IF Bedingung 3D <> 2D umschalten
            .ChartAreas.Add("Base").Area3DStyle.Enable3D = False
            'X - Achse
            With .ChartAreas("Base").AxisX
                .Title = "Jahr-Monat"
                .TitleForeColor = Color.WhiteSmoke
                .IsLabelAutoFit = True
                .LabelStyle.Font = New Font("Arial", 10)
                .LabelStyle.ForeColor = Color.WhiteSmoke
                .LabelStyle.Angle = -45
                .Interval = 1
            End With
            'Y - Achse 
            With .ChartAreas("Base").AxisY
                .Title = "Anzahl - Liefermangel"
                .IsLabelAutoFit = True
                .LabelStyle.Font = New Font("Arial", 10)
                .TitleForeColor = Color.WhiteSmoke
                .LabelStyle.ForeColor = Color.WhiteSmoke
            End With
 
            .Series.Add("LM")
 
            With .Series("LM")
                .XValueMember = "Month"
                .YValueMembers = dc.Columns(1).ColumnName
                .ChartType = SeriesChartType.StackedColumn
                .IsValueShownAsLabel = True
                .ChartArea = "Base"
 
            End With
 
 
        End With
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten Auswerten 
Autor: ERBRU
Datum: 02.07.18 06:05

das war es auch noch nicht, wer hat eine Idee?

Danke, Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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