Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Datumszeitraum in einer Kreuztabelle

Begonnen von Ljey, März 04, 2015, 18:47:22

⏪ vorheriges - nächstes ⏩

Ljey

Hallo,

ich habe eine Kreuztabelle erstellt und der Sinn ist es, alle Mitarbeiter an zu zeigen, welche an Projekten pro Monat gearbeitet haben.

Demnach ist die Kreuztabelle wie folgt aufgebaut:
die Spaltenüberschrift ist im Format jjjj/mm.
Zeilenüberschrift ist Projektname und Personalname
Wert ist zu wie viel Prozent die Person in diesem Monat auf dem Projekt war (z.B. 50%)

Mein Problem ist, ich habe als Ausgangspunkt nur die Zeiträume und nicht die einzelnen Monat(z.B. 1.1.2011 - 31.3.2011). Wie schaffe ich es also, dass der Wert 50% immer auftaucht wenn innerhalb des Zeitraums ist.

Vielen Dank schonmal für die Hilfe! Bei Fragen einfach melden.

HB9876

Hi,
so ganz verstehe ich deine Frage nicht.
Aber vielleicht hilft dir das was ich verstehe ja auch weiter.

Zitatich habe eine Kreuztabelle erstellt und der Sinn ist es, alle Mitarbeiter an zu zeigen, welche an Projekten pro Monat gearbeitet haben
Warum eine Kreuztabelle?
Ich wuerde mir hier eine Abfrage erstellen und darauf einen Report oder Formular aufsetzen.
In diesem kann man dann mit DateDiff den erforderlichen Wert berechnen (kann auch in die Abfrage eingebaut werden).

ZitatWie schaffe ich es also, dass der Wert 50% immer auftaucht wenn innerhalb des Zeitraums ist
Das verstehe ich nun gar nicht, warum immer 50%?
Das muesste doch ein berechneter Wert sein.
Worauf soll der sich beziehen:
- Arbeitstage (sollen hier freie Tage einbezogen werden)
- Projekttage
- Tage im Zeitraum

Dazu solltest du dir Gedanken machen, erfordert wahrscheinlich mind. eine zusaetzliche Tabelle.

Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

MaggieMay

Hallo,

du kannst das wohl nur mit Hilfe einer zusätzlichen Tabelle, welche die Monate (Jahr+Monat) enthält erreichen. Diese bindest du zusammen mit deiner Datentabelle in eine Abfrage ein.
Freundliche Grüße
MaggieMay

Ljey

Hallo, ja ich habe mir schon gedacht, dass ich hierbei eine zusätzliche Tabelle erstellen muss.

Gibt es denn eine Möglichkeit wenn ein Mitarbeiter zu z.B. 40% auf Projekt A ist, im Zeitraum von 1.1.2011 - 31.3.2011, sich eine Tabelle automatisch generiert die wie folgt aussieht:

Projekt A | 40% | 2011/01
Projekt A | 40% | 2011/02
Projekt A | 40% | 2011/03

Denn alles per Hand einzutragen ist bei der Menge an Daten nicht realistisch.

Danke schon mal.

MaggieMay

Was du zeigst wäre das Ergebnis einer Abfrage, wenn es denn eine Tabelle gibt, die lediglich die Vergleichsdaten (bspw. ein Datum im Format yyyymm) enthält.
Freundliche Grüße
MaggieMay

Ljey

Ja, eine Abfrage ist auch ok, aber wie komme ich eben von zwei Daten (von und bis) auf die einzelnen Monate welche sich dazwischen befinden. NICHT Datdif, sondern jeden Monat einzeln aufzählen.

Danke schon mal.

MaggieMay

Hi,

erstelle eine Hilfstabelle "t_kalender_mon" mit den Spalten "k_jahr" und "k_mon" und fülle diese mit den Jahres- und Monatszahlen des auszuwertenden Zeitraums, dann kannst du mit folgender Abfrage die Projektzeiträume den Monaten zuordnen.

SELECT t_kalender_mon.*, t_mitarbeiter_projekte.Mitarbeiter, t_mitarbeiter_projekte.Projekt
FROM t_kalender_mon, t_mitarbeiter_projekte
WHERE DateSerial(k_jahr,k_mon,1) Between t_mitarbeiter_projekte.dvon AND t_mitarbeiter_projekte.dbis;


Auf Basis dieser Abfrage kannst du dann eine Kreuztabellenabfrage erstellen.
Für eine vollständige Jahresübersicht kannst du fixierte Spaltenüberschriften einsetzen.
Freundliche Grüße
MaggieMay