Nieco już Marcinie mnie męczysz.
ROLLUP klauzula jest stosowana w grupowaniu gdy potrzebne są wartości dla
grup o stopień wyżej dla wskazanego pola, czyli wartości z uwzględnieniem
danego pola przy grupowaniu oraz bez jego uwzględnienia.
Metodą prób i błędów odkryliśmy,
iż podając dwa pola w klauzuli ROLLUP i zmieniając kolejność pól istotnie
wpływamy na wyświetloną kolekcję wierszy (bardzo mnie się podoba określenie
kolekcja :-) ).
Jest jeszcze klauzula CUBE, CUBE
przy podaniu jednego pola to ma ten sam efekt co ROLLUP, a istotna różnica
jest gdy podamy, obejmiemy klauzulą dwa i więcej pól.
Użyję tego samego przykładu co w
postach dotyczących klauzuli ROLLUP. I podobnie posłużę się obrazkami.
Różnica w kolejności pól dla
klauzuli CUBE nie ma wpływu na wyświetlaną kolekcję, CUBE powoduje, iż jest
generowanie grupowanie z danym polem i bez uwzględnienia danego pola, tak samo
dla drugiego pola, z uwzględnieniem drugiego i bez oraz grupowanie dodatkowo z
pominięciem obu pól, niejako wszystkie kombinacje.
Dla naszego przykładu będzie
użycie klauzuli CUBE przy grupowaniu po roku i regionie wyświetliło:
- każdy wynik i liczbę transakcji
w danym roku i danym regionie,
- każdy wynik i liczbę transakcji
w danym roku,
- każdy wynik i liczbę transakcji
w danym regionie,
- wynik i liczbę transakcji
ogółem.
Kod jest dostępny tutaj, przy
czym jeżeli ćwiczyłeś już na transakcjach klauzulę ROLLUP, to nie ma potrzeby
tworzenia tabeli na nowo i jej ładowania tylko skopiuj sobie jedynie kwerendy.
Brak komentarzy:
Prześlij komentarz