collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 45
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13695
  • stats Beiträge insgesamt: 62155
  • stats Themen insgesamt: 8469
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Auslastungsgrad Logistik Rampen  (Gelesen 712 mal)

Offline AnAndreas

  • Newbie
  • Beiträge: 20
Auslastungsgrad Logistik Rampen
« am: Mai 29, 2017, 10:44:17 »
Guten Tag ,

Ich habe eine Abfrage erstellt , in der Anfangs und Endzeit von Beladungen dargestellt wird. Nun habe ich versucht dies irgendwie über Pivot , oder erstellen einer Grafik als eine Art Zeit Belegungsstatistik darzustellen. Die Schwierigkeit hierbei ist das
Beispiel: LKW wird begonnen 06:00 zu beladen , Ende ist 08:00 Uhr , als 120 Minuten. Das Ladevolumen waren 120 m³. Nun hat man aber nicht die ganze zeit 120 m³ bewegt , sondern , wie im Anhang dargestellt 1/4 stündlich ~ 15 m³. ( um eine Auslastung realistisch darzustellen ). Nun kann es sein das aber zwei oder drei LKW gleichzeitig beladen werden und somit die m³ addiert werden müssen usw. Der Anhang erklärt dies hoffentlich besser als meine Wort :-)
Ich hänge einmal Screenshot meiner Abfrage an, und einmal meiner manuellen Umsetzung in Excel.
Nun, ich hoffe das irgendjemand mein Kauderwelsch versteht und mir helfen kann das ich das in Access mittels Abfragen oder was auch immer wie in Excel darstellen kann.

Vielen Dank schon mal und
Liebe Grüße
Andreas
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 725
Re: Auslastungsgrad Logistik Rampen
« Antwort #1 am: Mai 29, 2017, 13:34:04 »
Ich würde zusätzlich eine Tabelle verwenden, die entweder 00:00..23:45 (was bequemer erscheint) oder von 0..95 reicht (bei fixen Arbeitszeiten ohne Überstunden, kann man das Ding auch reduzieren), um die Zeitspannen aufsplitten zu können. Aus einer Beladung zwischen 08:00 und 09:00 Uhr werden dann 4 Datensätze jeweils um 15 Minuten versetzt, beginnend (das Ende kann man sich sparen) mit 8:00, 08:15, ..., 08:45 Uhr. Die Einheiten wären dann durch die Anzahl der 15-Minutenblöcke zu teilen. Eine gruppierte oder auch Kreuztabellenabfrage kann dann für jeweils alle Zeitblöcke die Einheiten aufsummieren.

Ggf. solllte man auch die Anzahl der Mitarbeiter und potentielle Pausenzeiten einfließen lassen.

Bestünde der Anhang zumindest als CSV- oder Textdatei, könnte man vermutlich etwas basteln - für's Abschreiben von Daten aus Bildern bin ich jedoch nicht zu haben.
Grüße von der (⌒▽⌒)
 

Offline AnAndreas

  • Newbie
  • Beiträge: 20
Re: Auslastungsgrad Logistik Rampen
« Antwort #2 am: Mai 29, 2017, 15:29:58 »
Hallo,

danke erstmal für die schnelle Antwort. Eine separate Tabelle mit Uhrzeit ist bereits vorhanden.
Die Datei mit der Grafik habe ich manuell ausgefüllt ( als ersten Versuch sozusagen, besteht aus zwei Reitern )
Die zweite Datei ist die Abfrage exportiert. Beladung Anfang und Ende habe ich im Nachhinein mit Uhrzeit formatiert da sonst nur 00:00 da stehen würde

Hoffe die Formate passen besser
 

Offline AnAndreas

  • Newbie
  • Beiträge: 20
Re: Auslastungsgrad Logistik Rampen
« Antwort #3 am: Mai 29, 2017, 15:39:33 »
Nun mit Dateien  :P
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 725
Re: Auslastungsgrad Logistik Rampen
« Antwort #4 am: Mai 29, 2017, 21:19:10 »
Nun Andreas, meine erste Annahme bzgl. Einfachheit war falsch - weil die Gleitkommaarithmetik ein Wörtchen mitsprechen will und annährendes Vergleichen die Sache gähnend langsam macht.

Ich habe deshalb eine Tabelle für die Timeslots doch mit Werten von 0..95 angelegt und dividiere diese Werte durch 96, um an die Zeitpunkte zu gelangen (15 Minuten = 1/96 Tag). Um die Geschichte einigermaßen flott zu halten, verwende ich eine Tabelle target als Ziel für die Diagrammdaten, die zuerst gelöscht, dann mit den aufberteiten 1/4-Stundenwerten aus den Beladungen und anschließend mit den fehlenden 1/4-Stundenwerten zwischen 6:00..21:45 Uhr durch Anfügeabfragen versorgt wird. In der Praxis gehört diese Tabelle natürlich in ein separates Backend, das nach Beobachtung der Größenentwicklung entweder regelmäßig komprimiert oder einfacher einfach durch eine Vorlagen-DB ersetzt wird.

Am Design des Formulars wirst Du sicherlich selbst die Feile anlegen können.
Grüße von der (⌒▽⌒)
 

Offline Josef P.

  • Access-Profi
  • **
  • Beiträge: 232
    • Code-Bibliothek für Access-Entwickler
Re: Auslastungsgrad Logistik Rampen
« Antwort #5 am: Mai 30, 2017, 11:56:45 »
Hallo!

Zitat
Nun Andreas, meine erste Annahme bzgl. Einfachheit war falsch - weil die Gleitkommaarithmetik ein Wörtchen mitsprechen will und annährendes Vergleichen die Sache gähnend langsam macht.
Wo hattest du Probleme?
Falls es die Datumswerte waren: für diese verwende ich immer die DateAdd/DateDiff-funktionen zur Datenmanipulation.
Z. B. war ein Eintrag vom 9.5. Ende 08:30 nicht exakt eingegeben. ... Möglicherweise ist das irgendwie berechnet worden.

Ich ergänzte deine Beispiel-Anwendung mit einer Variante mit einer Uhrzeiten-Tabelle. (Postfix "_dt" in den Objektnamen).
Um die Fehler bei (mit Gleitkommarrechnung) berechneten Uhrzeiten zu umgehen, nahm ich als Vergleichwert im Join eine zusätzliche Minute dazu (spielt vermutlich eine Rolle, da die Ausgangstabelle nur nx15-Minuten-Zeiten verwendet.

SELECT T.dt, L.id, L.d, L.a, L.e, L.u, Nz(L.u*15/DateDiff("n",L.a,L.e), 0) AS Udt
FROM tabUhrzeit AS T LEFT JOIN ladezeit AS L ON ((L.e > dateadd("n", 1, T.dt)) AND (L.a <= dateadd("n", 1, T.dt)) and (L.d = [ctlDate]))
ORDER BY T.dt;

Außerdem ergänzte ich einen Index in der Ladetabelle. Den merkt man zwar bei der geringen Datenmenge nicht, gehört aber einfach dazu. ;)

/edit: Anhang aktualisiert: (L.a <= dateadd("n", 1, T.dt)

LG
Josef
« Letzte Änderung: Mai 30, 2017, 13:07:49 von Josef P. »
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 725
Re: Auslastungsgrad Logistik Rampen
« Antwort #6 am: Mai 30, 2017, 13:32:48 »
Nun, die Daten vom 9.5. habe ich dem Excel-Sheet 1:1 entnommen. So schlau, eine Minute dazuzupacken war ich gestern nicht. Entscheidend, was die Geschwindigkeit der Ausführung angeht, scheint aber eher der Left-Join von den möglichen auf die tatsächlichen Ladezeiten zu sein (das ist bei mir eher etwas dilettantisch ausgefallen - um nicht zu sagen: in die Hose gegangangen) - die Arithmetik läuft jedoch auf das gleiche hinaus.
Grüße von der (⌒▽⌒)
 

Offline AnAndreas

  • Newbie
  • Beiträge: 20
Re: Auslastungsgrad Logistik Rampen
« Antwort #7 am: Mai 31, 2017, 10:14:12 »
Guten Tag ,

erstmal vielen Dank für die wieder mal schnelle und kompetente Hilfe.
Und das muss auch mal gesagt werden, die freundliche Hilfe  :D

Allerdings habe ich noch eine Frage dazu. Die Abfrage die am Ende die Grafik generiert bezieht sich ja auch die Tabelle Ladezeiten ( in der Datei die Ihr mir gesendet habt ).
Nun ist es so das die Tabelle ( bzw Daten ) ja nur von mir in diese Tabelle kopiert wurden.
In der echten Datenbank kommen die Daten aus einer großen Tabelle ( Warenausgang ) , ich habe das die Abfrage erstellt die mir die Daten Anfang , Ende .... anzeigt.
Nun die Frage : Irgendwie hängt es da gerade bei mir , ich möchte gerne das sich das nicht auf die Tabelle ( die ja nur als Anschaungsprovisorium :-) ) dient sondern auf meine Abfrage bezieht, was muss ich verändern , ? bin gerade blind glaube ich.

LG
Andreas
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 725
Re: Auslastungsgrad Logistik Rampen
« Antwort #8 am: Mai 31, 2017, 12:58:06 »
Dann musst Du doch nur die Ladezeit-Tabelle durch den Abfragenamen ersetzen und natürlich die Feldnamen anpassen.
Grüße von der (⌒▽⌒)
 

Offline AnAndreas

  • Newbie
  • Beiträge: 20
Re: Auslastungsgrad Logistik Rampen
« Antwort #9 am: Juni 01, 2017, 09:37:09 »
Hallo zusammen ,

erklärt mich für blöd , aber ich bekomme es "nicht hin". Was/ wo / wie muss ich den Bezug von der Tabelle Ladelist auf meine Abfrage Leistungsindex ändern.

Hilfloses Danke schön. 
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 725
Re: Auslastungsgrad Logistik Rampen
« Antwort #10 am: Juni 01, 2017, 10:36:07 »
Anfreas, Du solltest aus Josefs Upload, zunächst die Tabelle tabUhrzeit importieren, die von 06:00..22:00 Uhr reicht. Dann musst Du die Abfrage q_dt an Deine Namen anpassen. Diese kann wegen Verwendung von anderen Vergleichsoperatoren als dem Gleichheitszeichen (=) nicht in der Entwurfsansicht bearbeitet werden, ohne dass Funktionalität verloren geht, sondern sie muss in der SQL-Ansicht editiert werden. Im Prinzip, wenn die Abfrage keinen weiteren Zweck erfüllen soll, kannst Du die darin verwendeten Felder auch auf dt und udt beschränken.

Die Kommentare (mit -- eingeleitet) dürfen nicht verbleiben.
SELECT t.dt,
       l.id,    -- optional
       l.d,     -- optional
       l.a,     -- optional
       l.e,     -- optional
       l.u,     -- optional
       Nz( l.u * 15 / Datediff( "n", l.a, l.e ), 0 ) AS Udt
FROM   TABUHRZEIT AS t
       LEFT JOIN LADEZEIT AS l
              ON ( l.e > Dateadd( "n", 1, t.dt ) ) AND
                 ( l.a <= Dateadd( "n", 1, t.dt ) ) AND
                 ( l.d = [ctldate] )
ORDER  BY t.dt; -- optional
l und t sind dabei jeweils Alias-Namen für die Tabellen LADEZEIT und TABUHRZEIT. Statt LADEZEIT setzt Du den Namen Deiner Abfrage ein, und die anderen Feldnamen tauschst Du auch gegen Deine aus der Abfrage aus. l.d steht für das Datumsfeld, l.a für die Anfangsuhrzeit und l.e für die Enduhrzeit der Beladung. l.u entspricht den Einheiten. Der mit Nz eingeleitete Ausdruck ermittelt den 15-Minutenanteil. [ctldate]
ist ein Parameter, ausgelegt auf das Kombinationsfeld im Formular, um die Daten für einen bestimmten Tag auswählen zu können.

Im Schritt 2 wird diese Abfrage in der Datensatzherkunft des Diagramms verwendet und kann wieder im Abfrageeditor bearbeitet werden.
SELECT ( Format( [dt], 'Short Time' ) ) AS x,
       Sum( udt )                       AS SumOfup
FROM   Q_DT
GROUP  BY ( Format( [dt], 'Short Time' ) );
Grüße von der (⌒▽⌒)
 

Offline AnAndreas

  • Newbie
  • Beiträge: 20
Re: Auslastungsgrad Logistik Rampen
« Antwort #11 am: Juni 06, 2017, 11:24:40 »
Hallo zusammen ,

nach dem ausmerzen einiger Tippfehler von mir klappt nun alles bestens.

Vielen Dank nochmal