Wyzwanie... with over :-)



Marcinie, naczytałeś się porad, to czas na wyzwanie.
Wyzwanie jest oczywiście dla wszystkich, pomysły, propozycje proszę w komentarzach. 

Opis danych źródłowych. Posiadamy tabelę: ROZLICZENIA_DO_OVER_PLUS. Tabela składa się z czterech pól:

     data_stanu: trzy wartości przyjmuje to pole, trzy daty wskazujące na określony koniec roku,
     kontrakt: czteroznakowy kod kontraktu,
     saldo: wartość liczbowa, ile z danego kontraktu na dany koniec roku, na daną datę stanu jeszcze  otrzymamy pieniędzy,
     typ_towaru: dwie wartości pole przyjmuje to jest: noteboki lub akcesoria, wskazuje a rodzaj towaru zakupiony przez kontrahenta.

Zadanie wykonania: napisać kwerendę, w wyniku której otrzymamy tabelę, a jakżeż by inaczej, zawierającej następujące pola i wartości w nich.

     datę stanu tj. wartość z pola data_stanu,
     typ towaru tj. wartość z pola typ_towaru (noteboki lub akcesoria),
     łączne saldo w danej dacie, ile po prostu pieniędzy się spodziewamy łącznie w danej kwocie, łącznie, jedna wartość podkreślam,
     saldo w danej dacie i na dany rodzaj typu towaru,
     relację w procentach salda w danej dacie przypadającego na daty towar do łącznego salda w danej dacie np. saldo wynikające ze sprzedaży akcesoriów na dzień 20101231 wynosi 0,31 * 100 = 31%,
     liczbę kontraktów aktywnych łącznie w dacie,
     liczbę kontraktów w dacie przypadającą na noteboki lub akcesoria,
     relację w procentach liczby kontraktów dotyczących danego typu towaru do łącznej liczby aktywnych kontraktów w danej dacie, np. relacja liczby kontraktów aktywnych związanych ze sprzedażą akcesoriów do łącznej liczby aktywnych kontraktów na dzień 20101231 wynosi 0,43*100 = 43%.

Wyraźnie zadanie wskazuje liczbę kolumn. Liczba kolumn w wyniku musi być: 8 (osiem).

Dane oraz zadanie w arkuszu excel są dostępne tutaj i na obrazku. W arkuszu excel są dane źródłowe oraz rozwiązanie w tym narzędziu, są formuły po prostu.

Linki:




Czy Marcinie podejmiesz się wyzwania?

Podpowiadam, iż będę chciał w ten sposób pokazać wykorzystanie dwóch typów grupowania, że tak powiem typowego GROUP BY oraz rzadziej stosowanego OVER (PARTITION BY).

WITH w tytule posta też nie jest przypadkowe…

Wyzwanie jest oczywiście dla wszystkich, pomysły, propozycje proszę w komentarzach. 

W. 


Brak komentarzy:

Prześlij komentarz