Hallo zusammen!
Ich habe den nachfolgenden Output (Bezeichnung raw_table), den ich aus verschiedenen Tabellen gejoined habe.
Zu sehe sind die verschiedenen Arbeitsstationen eines Unternehmens. Diese produzieren täglich (identische) Werkzeuge.
Die Daten sind als Ausschnitt zu verstehen, der Input reicht vom Jahr 2020 bis zum heutigen Datum.
Arbeitsstation (AS) | Anzahl der produzierten Werkzeuge | Datum |
---|
1 | 150 | 01.01.2020 |
2 | 100 | 01.01.2020 |
1 | 50 | 01.02.2020 |
3 | 70 | 15.01.2020 |
1 | 120 | 08.02.2020 |
|
|
|
Mein Ziel ist es nun, die Anzahl der produzierten Produkte pro Arbeitsstation und pro Monat auszugeben.
Siehe nachfolgende Tabelle
Jahr&Monat | Anzahl der Werkzeuge AS 1 | Anzahl der Werkzeuge AS 2 | Anzahl der Werkzeuge AS3 | Summe der produzierten Werkzeuge |
---|
2020/01 | 200 | 100 | 70 | 270 |
2020/02 | 120 | 0 | 0 | 80 |
2020/03 |
|
|
|
|
2020/04 | 1 |
|
|
|
Meine Idee hierzu wäre:
- die Anzahl der Tools per Arbeitsstation & Monat aufzusummieren
- Die Ergebnisse der Zeilen mit der Pivot-Funktion in Spalten umzuwandeln
(evtl. auch in umgekehrter Reihenfolge?!)
Vor allem zum ersten Schritt fehlen mir die richtigen Ansätze.
Mein Code bisher:
-- 1. Aufsummieren der produzierten Werkzeuge pro Monat pro Arbeitsstation
SELECT
Arbeitsstationen
, SUM(Anzahl der produzierten Werkzeuge )
, month(Datum)
from raw_table
->> Abfrage ist laut Oracle nicht möglich, außerdem würde ich das Ergebnis gerne in einer Zwischentabelle speichern
2. Umwandeln der Zeilen in Spalten
FROM
(SELECT
Anzahl der produzierten Werkzeuge
, Arbeitsstationen
, Datum
FROM
PIVOT
(Max(Anzahl der produzierten Werkzeuge)
FOR
Datum in ([Anzahl der produzierten Werkzeuge], [Arbeitsstationen], [Datum])
) as pivot_table
Ich freue mich sehr über jegliche Anregungen! Vielen Dank