Przegląd tematu
Niniejszy dokument opisuje statystyki sprzedaży w bazie danych OLAP. Statystyki sprzedaży reprezentują sprzedaż osiągniętą na podstawie pozycji faktur sprzedaży. Dodatkowo dokument wyjaśnia jak zbudowany jest schemat gwiazdy oraz jakie wymiary i pola zawiera.
Aplikacje istotne dla statystyk sprzedaży, ich obszary, działania i procedury zostały szczegółowo opisane w oddzielnych artykułach.
Definicje terminów
- Faktury sprzedaży — faktura zawierająca listę kwot do zapłaty za dostarczone lub jeszcze niedostarczone produkty. Faktura sprzedaży jest dokumentem, który może być również notą kredytową.
- Hurtownia danych – łączy istotne dla firmy dane z różnych źródeł danych. Dane są przekształcane i podsumowywane, a następnie przechowywane w bazie OLAP w postaci tabel faktów i wymiarów. Umożliwia to ich efektywną analizę. Przykładowo, w systemie ERP dane podstawowe oraz transakcyjne z obszarów sprzedaży i zaopatrzenia trafiają do bazy OLAP, pełniącej funkcję hurtowni danych
- Tabele wymiarów – tabele wymiarów w hurtowni danych zawierają dane jakościowe, które klasyfikują dane ilościowe w tabeli faktów. Przykłady wymiarów to m.in.: Dzień, Pozycja sprzedaży, Klient. Dane w tabelach wymiarów zmieniają się stosunkowo rzadko i zawierają stosunkowo niewiele rekordów danych w porównaniu z tabelą faktów.
- Tabele faktów – tabela faktów jest faktycznym centralnym elementem hurtowni danych. Zawiera dane ilościowe hurtowni danych, które powstały w wyniku procesów operacyjnych, takie jak obroty, ilości itp. Te liczby służą jako podstawa danych do analiz. Oprócz kluczowych danych, tabele wymiarów zawierają również odniesienia do wymiarów w celu klasyfikacji danych. W porównaniu z tabelami wymiarów, tabela faktów zawiera większe ilości danych, a dodatkowe rekordy danych są dodawane przy każdej aktualizacji.
- Klasyfikacje — to hierarchiczna struktura określająca relacje nadrzędne i podrzędne między obiektami, tworząc ich ranking w systemie. Może składać się z jednego lub wielu poziomów, a jej elementy są wzajemnie powiązanymi węzłami. Węzły na wyższym poziomie nazywane są folderami, natomiast te znajdujące się na najniższym poziomie to liście.
- Przetwarzanie analityczne online (OLAP) – to metoda analizy transakcji biznesowych w czasie rzeczywistym na zagregowanym, skondensowanym poziomie. Podstawowym przedmiotem analizy nie jest pojedyncza transakcja biznesowa, ale zestaw podobnych lub powiązanych transakcji biznesowych. W zależności od potrzeb można stosować różne poziomy agregacji. Ta technologia oprogramowania umożliwia analizę dużych ilości danych poprzez szybki, spójny, interaktywny dostęp do różnych widoków. Dane są przygotowywane w wielowymiarowych widokach, które odzwierciedlają struktury analizowanej firmy z perspektywy użytkownika. W systemie ERP dane istotne dla OLAP są pobierane z bazy danych OLTP, która zawiera bieżące dane podstawowe i transakcyjne. Dane OLAP są następnie przechowywane w oddzielnej bazie danych OLAP w tabelach faktów i wymiarów zgodnie ze schematem gwiazdy. Baza danych OLAP jest używana jako hurtownia danych.
- Baza danych przetwarzania analitycznego online (baza danych OLAP) – baza danych przetwarzania analitycznego online (OLAP) zapewnia niezbędne struktury danych dla OLAP. W przeciwieństwie do baz danych OLTP, bardzo duże ilości danych są przetwarzane w transakcji przy użyciu zdenormalizowanych schematów.
- Schemat gwiazdy – to model danych dla relacyjnych baz danych. Hurtownia danych jest zazwyczaj zorganizowana zgodnie ze schematem gwiazdy. Prosty schemat gwiazdy składa się z centralnej tabeli faktów i kilku tabel wymiarów, które są połączone z tabelą faktów za pomocą kluczy. W modelu tabela faktów jest pokazana w centrum, a tabele wymiarów są rozmieszczone wokół niej. Ta graficzna reprezentacja odpowiada kształtowi gwiazdy.
- Statystyka – zajmuje się numerycznym rejestrowaniem, badaniem i wizualizacją zjawisk masowych. Fakty z przeszłości są gromadzone, zestawiane i analizowane przy użyciu określonych metod. Celem analizy tych danych jest identyfikacja odchyleń i błędów oraz opracowanie możliwości poprawy.
Tabele wymiarów
Oprócz podstawowych wymiarów, statystyki sprzedaży obejmują następujące wymiary:
- Klient
- Przedstawiciel
- Artykuł sprzedaży
- Rodzaj faktury sprzedaży
Poszczególne wymiary zostały wyjaśnione w kolejnych rozdziałach. Opis podstawowych wymiarów znajduje się w dokumentacji OLAP: Wymiary bazy.
Klient
Klienci zapisywani są w jednostce biznesowej com.cisag.app.olap.obj.Customer. Statystyki sprzedaży można analizować według klientów przy użyciu tabeli wymiarów.
Atrybuty tabeli wymiarów, które są istotne dla statystyk OLAP, wyjaśniono poniżej:
Atrybut | Wyjaśnienie |
id | Atrybut zawiera numeryczną identyfikację klienta. Identyfikacja jest używana w bazie danych OLAP w celu unikalnego odniesienia do klienta. |
guid | Atrybut zawiera identyfikator Guid odpowiedniego partnera w bazie danych OLTP |
number | Atrybut zawiera numer klienta jako ciąg znaków |
name | Atrybut zawiera nazwę klienta. Wartość odpowiada atrybutowi name jednostki biznesowej com.cisag.app.general.obj.Partner. Jeśli nazwa składa się z kilku wierszy, są one oddzielone znakiem końca wiersza (LF). |
abcCode | Atrybut zawiera kod ABC klienta jako ciąg znaków. Atrybut może zawierać wartości A, B lub C. |
address | Atrybut zawiera adres klienta. Adres składa się z następujących informacji:
Jeśli adres nie jest przechowywany dla klienta, atrybut zawiera pusty ciąg znaków. Jeśli adres składa się z kilku wierszy, są one oddzielone znakiem końca wiersza (LF). Jeśli mają być analizowane również statystyki sprzedaży dla klientów według regionów, należy wprowadzić klienta dla każdego regionu w bazie danych OLTP i przechowywać kraj i region w danych podstawowych partnera. |
classificationId1 | Atrybut zawiera identyfikator klasyfikacji klienta 1 (CUSTOMER_HIERARCHY1) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 1, atrybut zawiera wartość 0 (zero). |
classificationId2 | Atrybut zawiera identyfikator klasyfikacji klienta 2 (CUSTOMER_HIERARCHY2) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 2, atrybut zawiera wartość 0 (zero). |
classificationId3 | Atrybut zawiera identyfikator klasyfikacji klienta 3 (CUSTOMER_HIERARCHY3) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 3, atrybut zawiera wartość 0 (zero). |
classificationId4 | Atrybut zawiera identyfikator klasyfikacji klienta 4 (CUSTOMER_HIERARCHY4) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 4, atrybut zawiera wartość 0 (zero). |
classificationId5 | Atrybut zawiera identyfikator klasyfikacji klienta 5 (CUSTOMER_HIERARCHY5) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 5, atrybut zawiera wartość 0 (zero). |
classificationId6 | Atrybut zawiera identyfikator klasyfikacji klienta 6 (CUSTOMER_HIERARCHY6) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 6, atrybut zawiera wartość 0 (zero). |
classificationId7 | Atrybut zawiera identyfikator klasyfikacji klienta 7 (CUSTOMER_HIERARCHY7) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 7, atrybut zawiera wartość 0 (zero). |
classificationId8 | Atrybut zawiera identyfikator klasyfikacji klienta 8 (CUSTOMER_HIERARCHY8) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 8, atrybut zawiera wartość 0 (zero). |
classificationId9 | Atrybut zawiera identyfikator klasyfikacji klienta 9 (CUSTOMER_HIERARCHY9) w tabeli wymiarów Classification. Jeśli dla klienta nie zapisano klasyfikacji klienta 9, atrybut zawiera wartość 0 (zero). |
Przedstawiciel
Przedstawiciele handlowi są zapisywani w jednostce biznesowej com.cisag.app.olap.obj.SalesRepresentative. Tabela wymiarów może być używana do analizy statystyk sprzedaży według przedstawiciela handlowego.
Atrybuty tabeli wymiarów, które są istotne dla statystyk OLAP, wyjaśniono poniżej:
Atrybut | Wyjaśnienie |
id | Atrybut zawiera numeryczną identyfikację przedstawiciela handlowego. Identyfikacja jest używana w bazie danych OLAP w celu unikalnego odniesienia do przedstawiciela. |
guid | Atrybut zawiera identyfikator Guid odpowiedniego partnera w bazie danych OLTP |
number | Atrybut zawiera numer partnera przedstawiciela jako ciąg znaków |
name | Atrybut zawiera nazwę przedstawiciela. Wartość odpowiada atrybutowi name jednostki biznesowej com.cisag.app.general.obj.Partner. Jeśli nazwa składa się z kilku wierszy, są one oddzielone znakiem końca wiersza (LF). |
address | Atrybut zawiera adres przedstawiciela. Adres składa się z następujących informacji:
Jeśli adres składa się z kilku wierszy, są one oddzielone znakiem końca wiersza (LF). |
Artykuł sprzedaży
Artykuły sprzedaży są zapisywane w jednostce biznesowej com.cisag.app.olap.obj.SalesItem. Tabela wymiarów może być używana do analizy statystyk sprzedaży według artykułu sprzedaży.
Atrybuty tabeli wymiarów, które są istotne dla statystyk OLAP, wyjaśniono poniżej:
Atrybut | Wyjaśnienie |
id | Atrybut zawiera numeryczną identyfikację artykułu sprzedaży. Identyfikacja jest używana w bazie danych OLAP w celu unikalnego odniesienia do pozycji sprzedaży. |
guid | Atrybut zawiera identyfikator Guid odpowiedniego artykułu w bazie danych OLTP |
number | Atrybut zawiera numer artykułu sprzedaży jako ciąg znaków |
referenceNumber | Jeśli artykuł sprzedaży jest artykułem wariantowym, atrybut zawiera numer artykułu referencyjnego jako ciąg znaków. Jeśli artykuł sprzedaży nie jest artykułem wariantowym, atrybut zawiera numer artykułu z atrybutu number. |
description | Atrybut zawiera krótką nazwę artykułu sprzedaży |
uom | Atrybut zawiera jednostkę podstawową artykułu sprzedaży w postaci ciągu znaków |
abcCode | Atrybut zawiera kod ABC pozycji sprzedaży w postaci ciągu znaków. Atrybut może zawierać wartości A, B lub C. |
classificationId1 | Atrybut zawiera identyfikator klasyfikacji pozycji sprzedaży 1 (SALESITEM_HIERARCHY1) w tabeli wymiarów Classification. Jeśli dla artykułu sprzedaży nie zapisano klasyfikacji pozycji sprzedaży 1, atrybut zawiera wartość 0 (zero). |
classificationId2 | Atrybut zawiera identyfikator klasyfikacji pozycji sprzedaży 2 (SALESITEM _HIERARCHY2) w tabeli wymiarów Classification. Jeśli dla artykułu sprzedaży nie zapisano klasyfikacji pozycji sprzedaży 2, atrybut zawiera wartość 0 (zero). |
classificationId3 | Atrybut zawiera identyfikator klasyfikacji pozycji sprzedaży 3 (SALESITEM _HIERARCHY3) w tabeli wymiarów Classification. Jeśli dla artykułu sprzedaży nie zapisano klasyfikacji pozycji sprzedaży 3, atrybut zawiera wartość 0 (zero). |
classificationId4 | Atrybut zawiera identyfikator klasyfikacji pozycji sprzedaży 4 (SALESITEM _HIERARCHY4) w tabeli wymiarów Classification. Jeśli dla artykułu sprzedaży nie zapisano klasyfikacji pozycji sprzedaży 4, atrybut zawiera wartość 0 (zero). |
classificationId5 | Atrybut zawiera identyfikator klasyfikacji pozycji sprzedaży 5 (SALESITEM _HIERARCHY5) w tabeli wymiarów Classification. Jeśli dla artykułu sprzedaży nie zapisano klasyfikacji pozycji sprzedaży 5, atrybut zawiera wartość 0 (zero). |
Rodzaj faktury sprzedaży
Rodzaje faktur sprzedaży są zapisywane w jednostce biznesowej com.cisag.app.olap.obj.CustomerInvoiceType. Tabeli wymiarów można użyć do analizy statystyk sprzedaży według rodzaju faktury sprzedaży.
Atrybuty tabeli wymiarów, które są istotne dla statystyk OLAP, wyjaśniono poniżej:
Atrybut | Wyjaśnienie |
id | Atrybut zawiera numeryczną identyfikację typu faktury sprzedaży. Identyfikacja jest używana w bazie danych OLAP w celu unikalnego odniesienia do typu faktury sprzedaży. |
guid | Atrybut zawiera identyfikator Guid dla odpowiedniego typu faktury sprzedaży w bazie danych OLTP |
code | Atrybut zawiera kod rodzaju faktury sprzedaży |
description | Atrybut zawiera nazwę rodzaju faktury sprzedaży |
Tabele faktów
Statystyki sprzedaży
Statystyki sprzedaży przedstawiają wyniki sprzedażowe organizacji w podziale na klientów, przedstawicieli handlowych oraz artykuły sprzedaży. Koszty sprzedaży i wartości standardowe są prezentowane oddzielnie, co pozwala na klarowną analizę zarówno przychodów generowanych przez poszczególnych klientów, jak i obrotów na poziomie konkretnych pozycji sprzedażowych. W zależności od konfiguracji w aplikacji Konfiguracja, jako Klient może być uwzględniony odbiorca faktury lub odbiorca dostawy.
Statystyki sprzedaży są oparte na pozycjach faktur sprzedaży zaksięgowanych i przesłanych do bazy danych OLAP (obiekt biznesowy: com.cisag.app.sales.obj.CustomerInvoiceDetail) z wartością True w atrybucie statisticRelevant. Następujące atrybuty pozycji faktur sprzedaży są wykorzystywane do obliczania następujących wartości:
- Ilość (atrybut: quantity)
- Waga netto (atrybut: netWeight)
- Kwota brutto (atrybut: grossValue)
- Kwota netto (atrybut: netValue)
- Koszt towarów (atrybut: costOfGoods)
Statystyki sprzedaży są zapisywane w tabeli faktów com.cisag.app.olap.obj.Sales. Statystyki sprzedaży są kumulowane przy użyciu następujących atrybutów:
- Dzień
- Organizacja (organizacja sprzedaży)
- Artykuł sprzedaży
- Klient
- Przedstawiciel handlowy
Poniższy graf przedstawia kluczowe dane zapisane w tabeli faktów oraz relacje z tabelami wymiarów:

Wymiary Customer, SalesItem i Organisation mają dalsze relacje z wymiarem Classification. Ze względu na przejrzystość relacje te nie zostały przedstawione na diagramie. Opis sposobu korzystania z klasyfikacji można znaleźć w dokumentacji OLAP: Wymiary bazy.
Atrybuty tabeli faktów, które są istotne dla statystyk sprzedaży, zostały wyjaśnione poniżej:
Atrybut | Wyjaśnienie |
guid | Atrybut zawiera klucz podstawowy tabeli faktów. Jest wymagany między innymi do importu danych. Nie ma odpowiednika dla obiektu biznesowego w bazie danych OLTP. |
dayId | Atrybut zawiera identyfikator wymiaru Dzień. Odpowiada on dacie dokumentu faktury sprzedaży. |
organizationalUnitId | Atrybut zawiera identyfikator organizacji sprzedaży |
salesItemId | Atrybut zawiera identyfikator artykułu sprzedaży. W przypadku zestawów artykułów tylko komponenty są przenoszone do statystyk sprzedaży. Jeśli w specyfikacji handlowej określono, że cena jest ustalana za pośrednictwem zestawu artykułów, przychody są przypisywane do komponentów proporcjonalnie do ilości, tj. proporcjonalnie bez reszty. Wszelkie różnice zaokrągleń są przypisywane do ostatniego komponentu. Taki podział na części ma już miejsce w zamówieniu sprzedaży lub na fakturze sprzedaży. Uwaga Jeśli różnice w cenie za jednostkę podstawową między komponentami są duże, nie należy ustalać ceny za pomocą artykułu zestawu, ponieważ może to prowadzić do zniekształcenia statystyk sprzedaży komponentów. |
customerId | Atrybut zawiera identyfikator klienta. W zależności od przypisania w aplikacji Konfiguracja przenoszony jest odbiorca faktury lub odbiorca dostawy. |
customerInvoiceTypeId | Atrybut zawiera identyfikator rodzaju faktury sprzedaży |
salesRepId | Atrybut zawiera identyfikator pierwszego przedstawiciela. Jeśli dla faktury sprzedaży lub zamówienia sprzedaży nie wprowadzono żadnego przedstawiciela, atrybut zawiera wartość zero (0). |
quantity | Atrybut zawiera ilości w jednostce podstawowej artykułu sprzedaży z atrybutu ilości pozycji faktury wychodzącej |
weight | Atrybut zawiera wagi netto w jednostce systemowej typu Mass z atrybutu netWeight pozycji faktury sprzedaży. |
grossValue | Atrybut zawiera wartości brutto (tj. bez rabatów) w pierwszej walucie lokalnej z atrybutu grossValue pozycji faktury sprzedaży. |
netValue | Atrybut zawiera wartości netto (tj. z rabatami) w pierwszej walucie lokalnej z atrybutu netValue pozycji faktury sprzedaży. |
inventoryValue | Atrybut zawiera koszt towarów w pierwszej walucie lokalnej z atrybutu costOfGoods pozycji faktury sprzedaży. |
standardValue | Atrybut zawiera wartości domyślne w pierwszej walucie lokalnej pozycji faktury wychodzącej. Wartość domyślna reprezentuje cenę neutralną dla klienta. Jest ona obliczana podczas transferu ze standardowego cennika przechowywanego w aplikacji Konfiguracja. W obliczeniach nie są brane pod uwagę żadne definicje cen dla klienta lub klasyfikacji klientów. Jeśli nie można określić standardowej ceny ze standardowego cennika, atrybut zawiera wartość zero (0). |