Wersja od 5.2.344
Analizy wielowymiarowe pozwalają na uzyskanie raportu w formie tabeli przestawnej dla poszczególnych obszarów przedsiębiorstwa. Wykonaną analizę Operator może zmodyfikować - zmieniając sposób prezentacji danych - obracając kostką (przestawiając wymiary z osi X, Y lub osi dodatkowej), dzięki czemu jedna analiza może przedstawiać dane z różnych perspektyw.
Moduł PIVOT – analizy wymiarowe jest przeznaczony do wykonywania zaawansowanych analiz danych w szybki i prosty sposób. Narzędzie to jest zintegrowane ze wszystkimi modułami systemu Streamsoft Prestiż. Rozwiązanie to może być przydatne zarówno dla kadry zarządzającej firmą, jak i innych użytkowników systemu.
Funkcjonalności modułu PIVOT – analizy wielowymiarowe:
Po uruchomieniu modułu PIVOT pojawia się okno, które składa się z poniższych elementów:

Obszar roboczy do tworzenia analizy można podzielić na:
Ikona (Nazwa) | Wygląd |
Parametry wykonania | Wyświetla procedury wykonania Analizy wielowymiarowej |
Parametry | Umożliwia podgląd parametrów zestawienia, z którymi aktualna analiza została wykonana |
Eksport do pliku | Umożliwia eksport wykonanej analizy do pliku XLSX i HTML |
Podgląd wydruku | Umożliwia wydruk danych po uprzednim zdefiniowaniu parametrów wydruku |
Sortuj pionowo | Określa sposób porządkowania danych w tabeli (pionowo) |
Sortuj poziomo | Określa sposób porządkowania danych w tabeli (poziomo) |
Wyłącz sortowanie | Powoduje wyłączenie aktualnie wybranego rodzaju sortowania |
Obróć tabelę | Obracanie tabeli. Umożliwia zamianę kolumn i wierszy |
Rozwiń pola | Pozwala pokazać zawartość pól |
Zwiń pola | Pozwala ukryć zawartość pól |
Dopasuj szerokość pól | Umożliwia dostosowanie szerokości pól w tabeli |
Zwiększ precyzję | Sprowadza wartości w polach do większej liczby miejsc po przecinku |
Zmniejsz precyzję | Sprowadza wartości w polach do mniejszej liczby miejsc po przecinku |
Wykres | Tworzenie wykresu danych |
Filtr raportu | Zawęża przeglądane dane do pozycji spełniających określone warunki |
Dodaj pole | Umożliwia dodanie nowego pola wyliczeniowego do tabeli |
Pola wyliczeniowe | Umożliwia edycję nowego pola wyliczeniowego do tabeli |
Lista pól | Wyświetla listę pół w tabeli przestawnej |
Opcje wyglądu | Opcje wyglądu raportu |
Szczególy analizy | Zawiera szczegóły dotyczące analizy. Informacje odnośnie tabeli |
Wygląd standardowy | Pozwala na przywrócenie Analizy do standardowego wyglądu |
Style | Pozwala wybierać, zapisywać ustalone style Analizy |
Wczytaj styl z pliku | Umożliwia wczytanie zapisanych styli Analizy |
Zapisz styl do pliku | Umożliwia zapisywanie stylu do pliku |
Po zakupie i wgraniu licencji rozwiązania PIVOT wymagana jest aktualizacja systemu Streamsoft Pro/Prestiż w celu automatycznego zainstalowania. Dla wygody użytkowników, proces aktualizacji został zautomatyzowany i można go wykonać przy pomocy programu Aktualizacja. Wybiera się go z listy programów za pomocą przycisku.
Aktualizację można wykonać z dwóch źródeł:
1. Z Internetu – odbywa się poprzez aktywne połączenie internetowe, pliki aktualizacji pobierane są z serwera FTP firmy Streamsoft.
2. Z katalogu – należy wskazać katalog zawierający pliki aktualizacyjne. 
Po wyborze źródła aktualizacji, program pobiera informację o zmianach w systemie i wyświetla listę składników wymagających aktualizacji. Przy każdym składniku widoczna jest wersja programu, którą posiadamy, nowa wersja dostępna w aktualizacji i rozmiar pliku, którego pobranie jest konieczne do aktualizacji danego składnika systemu. Przy niektórych składnikach dostępny jest przycisk <Zmiany>, który umożliwia wyświetlenie zmian powstałych w danym składniku systemu od obecnej wersji do najnowszej.
W celu instalacji modułu PIVOT podczas aktualizacji należy zaznaczyć pole Analiza wielowymiarowa (PivotTable). 
Po określeniu składników następuje proces aktualizacji. Składa się on z trzech etapów:
1. Pobranie nowej wersji.
2. Zachowanie aktualnej wersji w formie kopii zapasowej.
3. Zamiana na nową wersję.
Podczas aktualizacji nowe składniki wgrywane są do katalogu współdzielonego. Natomiast właściwy proces aktualizacji (zmiana plików wykonywalnych w katalogu systemu) odbywa się automatycznie przy uruchomieniu systemu. W przypadku wersji sieciowej pozwala to na aktualizację tylko na stanowisku administracyjnym, a wszystkie stanowiska robocze automatycznie pobierają najnowsze składniki systemu z katalogu współdzielonego. Mechanizm ten opiera się na tym, że na stanowisku roboczym użytkownik nie uruchamia bezpośrednio programu właściwego (PcBiznes.exe), tylko program startowy (_PcBiznes.exe). Program startowy sprawdza czy w katalogu współdzielonym znajduje się nowsza wersja. Jeżeli tak to zachowując aktualną wersję z innym rozszerzeniem (PcBiznes.exeold), pobiera nową wersję, a cały proces zapisuje w pliku historii aktualizacji (_PcBiznes.log). Następnie uruchamia program właściwy PcBiznes.exe).
W wyjątkowych sytuacjach wymagana jest aktualizacja samego programu od aktualizacji. Proces ten jest automatyczny. Po aktualizacji konieczne jest powtórne uruchomienie programu.
Narzędzie PIVOT dostępne jest w każdym oknie w układzie tabelarycznym. W celu uruchomienia analizy wielowymiarowej należy uruchomić menu kontekstowe (menu pod prawym przyciskiem myszy) i wybrać opcję Analizy wielowymiarowe: 
W zestawieniach proceduralnych jest dodatkowo dostępna ikona służąca do wywołania analizy wielowymiarowej: 
Po wyborze opcji Analiza wielowymiarowa zostanie otwarte okno PIVOTA, które w zależności od miejsca, z którego zostało wywołane będzie miało inne zestawy wymiarów i miar: 
Pola umieszcza się w tabeli przestawnej za pomocą Przeciągnij i upuść, czyli klikając lewym
przyciskiem myszy na pole, przeciągamy go w odpowiednie miejsce w tabeli przestawnej: 
W polu nazwy wymiaru w tabeli dostępne są trzy zestawy opcji: 
Opcje wywoływane lewym klawiszem myszy.
1 - Nazwa pola.
2 – Opcja sortowania, w tym wypadku kolumn, po wartościach nagłówków stanowiących
jednocześnie wartości wymiaru. Strzałka skierowana w dół oznacza, że kolumny posortowane są od wartości najmniejszej do największej. Strzałka zwrócona w górę posortuje kolumny według nagłówków w przeciwnym kierunku. Aby zmienić kierunek sortowania wystarczy kliknąć lewym klawiszem myszy w strzałkę.
3 – rozwijanie zestawu opcji odpowiedzialnych za określanie zakresu wartości danego wymiary. Po kliknięciu lewym klawiszem myszy w ikonę lejka program rozwinie okienko z opcjami.
Każdy ze zdefiniowanych w ustawieniach analizy wymiarów zawiera w tabeli zestaw przypisanych do niego wartości pochodzących z okna, z którego została uruchomiona analiza wielowymiarowa. Po wygenerowaniu tabeli z danymi można ten zakres wartości wymiaru dodatkowo zawężać do wymaganego. Służy do tego zestaw opcji wywoływany z komórki zawierającej nazwę kolumny bądź wiersza. 
1 – obszar ten zawiera zestaw symboli odpowiadający poszczególnym opcjom selekcji wartości przypisanych do danego wymiaru. W skład tego pola wchodzą opcje:
2 – obszar ten zawiera prezentację pełnej listy wartości przypisanych w danej tabeli do wybranego wymiaru. Przy każdej wartości wymiaru umieszczone jest pole z opcją zaznaczenia pozwalające na wskazanie tych wartości, które mają być prezentowane w tabeli.
3 – obszar potwierdzenia/anulowania dla filtrowania.
Elementy można wyszukiwać także poprzez wpisywanie tekstu, gdy mamy uruchomione okno filtra. Program wyszukuje wtedy elementy po każdym znaku wprowadzonym z klawiatury.
Otrzymane w tabeli wartości możemy zaznaczyć za pomocą kliknięcia myszką i przeciągnięciem zaznaczenia: 
Parametry wykonania
PIVOT umożliwia wyświetlenie zapytania SQL na podstawie, którego pobierane są dane do analizy: 
Funkcja ta ułatwia ewentualną weryfikację poprawności danych. Zapytanie takie można wywołać w programie, w którym odczytywana jest baza danych.
Opcja drukowania dokumentów w module PIVOT uruchamiana jest za pomocą ikony Podgląd wydruku
. Kliknięcie na tę ikonę spowoduje uruchomienie się podglądu wydruku analizy wielowymiarowej:
Okno to składa się z paska ikon: ![]()
Do najważniejszych funkcji dostępnych w podglądzie wydruku należą:


W ustawieniach możemy dodać lub ukryć linie tabeli oraz nagłówki filtrów, danych, kolumn i wierszy. Aby dany element był widoczny należy wybrać wartość Prawda, natomiast aby go ukryć należy wskazać Fałsz.

Po wyborze typu dokumentu należy plik zapisać i następnie otworzy się nowa wiadomość e-mail z załączonym plikiem wydruku. Aby otworzyło się okno do wysyłki wiadomości e-mail, na stanowisku musi być zainstalowany program pocztowy i musi być on ustawiony jako domyślny.
Analizy PIVOT można wyeksportować do pliku. Ikona Eksportuj do pliku umożliwia zapis do dwóch formatów pliku:

Ponadto w podglądzie wydruku można wybrać inne formaty plików. W tym celu należy wybrać ikonę Drukuj
, a następnie w otworzonym podglądzie wydruku Plik/Eksportuj dokument: 
Analizę można zapisać w jednym z następujących formatów: PDF, HTML, MHT, RTF, XLS, XSLX, CSV, TXT oraz jako wydruk graficzny.
Po wybraniu odpowiedniego formatu należy wskazać lokalizację, w której plik ma zostać zapisany.
Pozwala użytkownikowi sortować rzędy w tabeli pod względem wartości poszczególnych komórek w danej kolumnie. Aby skorzystać z tej funkcjonalności należy zaznaczyć kursorem komórkę w kolumnie, według której ma być realizowane sortowanie, a następnie wybrać opcję z menu.
Pozwala na usunięcie z tabeli wszystkich zastosowanych wcześniej mechanizmów sortujących.
Gdy tabela sortowana jest według wymiaru to obok na jego nagłówku pojawia się symbol dwóch strzałek: ![]()
Umożliwia obracanie danych z wierszy do kolumn i odwrotnie. Jeśli kolumny zawierają dane, które chcemy „obrócić", tak aby rozmieścić dane w wierszach zrobimy to za pomocą funkcji obracanie tabeli.
Powyższe funkcje wyglądu danych pozwalają w znacznym stopniu dostosować wygląd analizy do potrzeb użytkownika, a także zaoszczędzić czas podczas pracy. Zwinięcie wierszy spowoduje ukrycie wierszy według wymiarów. Użytkownik w analizie widzi jedynie sumy dla wymiarów. Opcja Rozwiń pola analizy jest operacją odwrotną.
Okno pozawala na przywrócenie analizy do wyglądu początkowego.
Precyzja danych liczbowych dotyczy liczb rzeczywistych z częścią ułamkową.
Opcja Zwiększ precyzję
pozwala na zwiększenie ilości miejsc po przecinku w prezentowanych tabelach.
Opcją odwrotną do wyżej wymienionej jest opcja Zmniejsz precyzję
. Umożliwia ona zmniejszanie ilości miejsc po przecinku liczb ułamkowych.
Tworzenie wykresów dostępne jest pod ikoną Wykresy: 
Opcja umożliwia szybkie stworzenie wykresu w oparciu o dane zawarte w zestawieniu tabelarycznym. Użytkownik może umieścić wykres z prawej strony tabeli przestawnej lub pod tabelą: 
Wykres uwzględnia jedynie zaznaczone przez operatora dane. W menu kontekstowym wykresu (menu pod prawym przyciskiem myszy) możemy wybrać rodzaj wykresu oraz sposób jego prezentacji.
Aby wyłączyć wykres należy wybrać ikonę Wykres i zaznaczyć opcję Brak wykresu.
Filtr raportu
jest funkcjonalnością służącą do tworzenia zaawansowanych warunków wyświetlania danych. Filtr budowany jest w formie drzewa, co ułatwia odczytywanie zagnieżdżonych warunków. 
Za pomocą ikony
można dodawać kolejne elementy filtru. Do usunięcia wybranego warunku służy ikona
. Czerwone elementy filtru odpowiadają za warunek lub/i oraz grupowanie warunków w filtrze. Dzięki nim można tworzyć osobne grupy warunków, które mogą zawierać kolejne zależności. Czcionką niebieską oznaczone są pola, które użytkownik zamierza filtrować. Są tu dostępne wszystkie pola, które zostały wybrane do danej analizy wielowymiarowej. Z kolei na zielono wpisywane są odpowiednie warunki, które muszą spełniać pola.
Poniższa tabela zawiera wszystkie dostępne warunki filtru:
Nazwa warunku filtru | Opis |
Jest równe | Pola o dokładnie takiej samej wartości jak w warunku |
Nie jest równe | Pola o wartości innej niż podane w warunku |
Jest większe niż | Pola o wartości większej niż podana w warunku |
Jest większe lub równe | Pola o wartości większej lub równej od podanej w warunku |
Jest mniejsze niż | Pola o wartości mniejszej niż podana w warunku |
Jest mniejsze lub równe | Pola o wartości mniejszej lub równej od podanej w warunku |
Jest pomiędzy | Pola o wartości znajdującej się w zadanym zakresie |
Nie jest pomiędzy | Pola poza wskazanym zakresem |
Zawiera | Pola, których wartość zawiera się w podanej |
Nie zawiera | Pola, których wartość nie zawiera się w podanej |
Rozpoczyna się od | Pola, których wartość zaczyna się od podanej, a jej dalszy ciąg jest dowolny |
Kończy się na | Pola, których wartość kończy się na podanej, a jej dalszy ciąg jest dowolny |
Podobne do | Pola, których wartość ma wspólne elementy z podanym ciągiem |
Nie jest podobne | Pola, których wartość nie ma wspólnych elementów z podanym ciągiem |
Należy do | Wartość pola należy do danego zbioru |
Nie należy do | Wartość pola nie należy do danego zbioru |
Jest puste | Pola, które nie mają wartości |
Nie jest puste | Pola, które mają jakąś wartość |
Dodatkowo dla pól typu data dostępne są warunki dotyczące dni tygodnia, miesiąca czy roku. Warunki te sprawdzane są w odniesieniu do dnia, w którym tworzona jest analiza wielowymiarowa.
Dostępne warunki to:
Należności i zobowiązania/Przeterminowane dokumenty kontrahentów z grup 01 i 03 
Należności i zobowiązania / Zobowiązania, których termin płatności wypada w przyszłym tygodniu 
Dodatkowe możliwości zarządzania wyglądem i zawartością prezentowaną w tabeli dostępne są w postaci opcji znajdujących się w menu kontekstowym. Menu takie znajdują się przy komórkach zawierających nazwy wymiarów oraz w obszarze, którym prezentowane są wartości wyliczonych miar.
Operator, których chce nazwać wymiary lub miary swoimi nazwami może wprowadzić odpowiednie nazwy etykiet na swoich analizach i posługiwać się nimi. Opcja zmiany nazwy znajduje się w menu kontekstowym ( pod prawym przyciskiem myszy) po kliknięciu w aktualną nazwę wymiaru bądź miary: 
Analizy wielowymiarowe PIVOT umożliwiają grupowanie pól typu data według określonych przedziałów czasowych. Aby pogrupować daty należy uruchomić menu kontekstowe na wymiarze bądź mierze prawym przyciskiem myszy i wybrać opcję Rodzaj daty: 
Po wybraniu rodzaju daty pole w analizie zostanie pogrupowane.
Pola typu rzeczywistego mogą zostać sformatowane, dzięki czemu zmieni się sposób wyświetlania ich wartości w analizie!worddav3f1c25c9d9ac5921e4085301553555d5.png|height=384,width=604!
W formatowaniu można określić ilość cyfr po przecinku, sposób wyświetlania liczb ujemnych czy separatora tysięcznego. Ponadto można dopisać jednostkę, która ma być dodawana do każdej wartości np. % lub PLN
Reguły formatowania służą wyróżnianiu komórek, które spełniają określone przez użytkownika warunki. Formatowanie warunkowe umożliwia szybkie wyróżnienie ważnych informacji w analizie wielowymiarowej.
Wyróżnione komórki mogą mieć inny kolor niż pozostałe, mogą posiadać paski lub ikony. 
Reguły formatowania i wyróżniania komórek znajdują się w menu kontekstowym w obszarze
roboczym analizy. 
Większa niż… 
Po wywołaniu reguły otrzymamy wartości większe od wybranej, wyróżnione w sposób wybrany
z listy: 
Niestandardowy warunek…
Niestandardowy warunek pozwala na samodzielne tworzenie warunków wyświetlania danych w sytuacji, gdy powyższe warunki nie są w stanie spełnić potrzeb użytkownika. Zdefiniowanie warunku zależy od potrzeb danego Operatora.
Po wybraniu niestandardowego warunku pojawia się okno analogiczne jak w opcji Raport filtru: 
Analizy wielowymiarowe PIVOT umożliwiają użytkownikom oznaczenie pierwszych lub ostatnich komórek według ustalonego kryterium.
Opcja ta jest dostępna w menu kontekstowym obszaru roboczego analizy: 
Program pozwalają na ustawienie formatowania dla:
Liczbę elementów (10 pierwszych lub 10 ostatnich) można zmienić w ustawieniu formatowania komórek: 
Ponadto użytkownik może wybrać sposób oznaczenia komórek spełniających warunek poprzez kolor wypełnienia komórki czy kolor i wygląd czcionki. 
Funkcja wyczyść reguły pozwala na czyszczenie wcześniej ustalonych reguł dla wybranego obszaru lub dla całej analizy 
Paski danych, skale kolorów i zestawy ikon to formaty warunkowe, które tworzą wizualne efekty w danych. Formaty te ułatwiają jednoczesne porównywanie wartości z zakresu komórek.
Paski danych mogą ułatwić wykrywanie większych i mniejszych liczb, na przykład najlepiej i najgorzej sprzedających się kartotek w analizie sprzedaży. Dłuższy pasek odzwierciedla większą wartość, a krótszy mniejszą.

Skale kolorów ułatwiają zrozumienie rozkładu i odchyleń danych. Komórki są cieniowane przy użyciu gradacji trzech kolorów odpowiadających progom wartości minimalnej, środkowej i maksymalnej.
Komórki o największej wartości mają ciemniejsze kolory. Im mniejsza wartość komórki tym kolor komórki staje się jaśniejszy. 
Zestawy ikon pozwalają przedstawić dane w kategoriach (do pięciu) odróżnianych wartością progową. Każda ikona odzwierciedla zakres wartości, a każda komórka jest oznaczona ikoną reprezentującą ten zakres. 
Opcja Zarządzanie zasadami pozwala na dodawanie, modyfikowanie oraz usuwanie wszystkich reguł, które zostały utworzone w aktualnej analizie: 
Aby dodać nową regułę z poziomu okna Zarządzanie regułami należy wybrać przycisk Nowa reguła. Po podświetleniu istniejącej reguły uaktywnią się przyciski służące do edycji lub usunięcia aktywnej reguły.
Opcja zawierająca trzy możliwości zarządzania rzędami w wygenerowanej tabeli: 
Pozostaw zaznaczone
Zaznaczając wcześniej kursorem myszy obszar tabeli i wybierając te opcję spowodujemy zmianę w zakresie danych prezentowanych w tabeli. Zmiana polega na tym, że wszystkie inne rzędy, które nie znalazły się w zaznaczonym obszarze zostaną automatycznie wyłączone z obszaru tabeli
Ukryj zaznaczone
Zaznaczając wcześniej kursorem myszy obszar tabeli i wybierając te opcję spowodujemy zmianę w zakresie danych prezentowanych w tabeli. Zmiana polega na tym, że wszystkie rzędy, które znalazły się w zaznaczonym obszarze zostaną automatycznie wyłączone z obszaru tabeli.
Wyłącz ukrywanie
Wybierając tę opcje spowodujemy automatyczne przywrócenie w obszarze roboczym tabeli rzędów, które zostały wcześniej ukryte.
Ranking TOP pozwala na wyróżnienie określonej liczby wierszy, których suma ogółem jest największa lub których udział procentowy jest największy.
Opcja jest dostępna po kliknięciu prawym przyciskiem myszy na wybrany wymiar w analizie: 
W rankingu dostępny jest rodzaj ilościowy oraz procentowy. Użytkownik może wybrać ilość pozycji, które mają się pojawić w analizie, a pozycje, które nie spełnią warunku mogą być zsumowane do pozycji Pozostałe.

Oprócz standardowych kolumn, które można wybrać w oknie programu i które są dostępne w analizie wielowymiarowej, można utworzyć własne pola wyliczeniowe.
Pola wyliczeniowe to pola, których wartości są wyliczane podczas tworzenia analizy.
W przeciwieństwie od standardowych pól (kolumn), wartości pól wyliczeniowych nie są zapisywane w bazie danych. Są one wyliczane na podstawie wartości pól standardowych oraz funkcji dostępnych w module. Każde pole wyliczeniowe ma ustalony typ danych i sposób wyliczania.
W module PIVOT nowe pole wyliczeniowe można dodać bezpośrednio za pomocą ikony Dodaj pole
lub z okna Pole wyliczeniowe, które dostępne jest pod ikoną
.
Dodanie nowego pola wyliczeniowego można podzielić na dwa etapy:
Po wyborze opcji Dodaj pole pojawi się okno wstępnego zdefiniowania parametrów pola:
!worddave0d56a1746950a028b44030edad51c5b.png|height=185,width=389!Należy podać nazwę pola, która będzie widoczna w analizie wielowymiarowej. Następnie konieczne jest wybranie odpowiedniego typu danych. Od tego typu będzie zależał sposób wyliczenia wartości oraz prezentacja danych w tabeli. Dostępne typy dla pól wyliczeniowych to:
Sposób wyliczania:
Położenie pola dotyczy miejsca, w którym nowe pole będzie domyślnie dodawane. Po utworzeniu pola pojawi się ono w automatycznie w analizie w miejscu, które zostało określone w położeniu. Do dyspozycji użytkowników są następujące położenia:
!worddav896311d1353315961f7953cf111d99d2.png|height=228,width=558!Aby pole nie było dodawane automatycznie do tabeli przestawnej należy wybrać położenie Filtr.
Kolejnym etapem jest zapisanie wyrażenia (wzoru) na podstawie, którego będzie wyliczana wartość pola. Algorytm obliczania wartości należy podać w oknie Edytora wyrażeń: 
Wzór należy wpisać w obszarze roboczym w górnej części okna.
Użytkownik ma do dyspozycji grupy parametrów: funkcje, operatory, pola oraz stałe. Po wybraniu odpowiedniej grupy można z listy parametrów (środkowe pole) potrzebną funkcję, operator, pole lub stałą. Po podświetleniu parametru na liście parametrów z prawej strony zostanie wyświetlony szczegółowy opis. Przy tworzeniu algorytmu można korzystać z tych parametrów i wstawiać je do składni algorytmu poprzez podwójne kliknięcie lub ręczne wpisanie.
Funkcje Edytora wyrażeń można podzielić na kilka grup, w zależności od typu danych, na których się opierają.
Wiele analiz wymaga odniesienia się do konkretnej daty lub okresu. W celu wykonywania operacji na datach można skorzystać z funkcji. Do dat i czasu można dodawać lub odejmować inne daty i czas.
Ponadto można do nich dodawać bądź odejmować liczby.
Funkcja i składnia | Opis | Przykład |
AddTicks(DataCzas, Ilość) | (DataGodzina,IlośćUderzeń) Zwraca godzinę i datę (DateTime) z dodaną ilością uderzeń do podanej daty (DataCzas). Uderzenie (Tick) to 1/10000 milisekundy. | |
AddMiliSeconds(DataCzas, Ilość), AddSeconds(DataCzas, Ilość), AddMinutes(DataCzas, Ilość), AddHours(DataCzas, Ilość), AddDays(DataCzas, Ilość), | Zwraca godzinę i datę (DateTime) z dodaną ilością milisekund, sekund, minut, godzin, dni, miesięcy bądź lat do podanej daty (DataCzas). | AddMinutes('2018-01-01 14:00:00', 15) -> '2018-01-01 14:15:00' |
AddTimeSpan(DataCzas, Ilość) | Zwraca godzinę i datę (DateTime) z dodanym | |
DateDiffDay (dataPoczątkowa, dataKońcowa) | Zwraca ilość dni pomiędzy dwiema niepustymi datami. | DateDiffDay ('2018-01-01', '2018-01-20') ->19 |
DateDiffHour (dataPoczątkowa, dataKońcowa) | Zwraca ilość godzin pomiędzy dwiema niepustymi datami. | |
DateDiffMiliSecond (dataPoczątkowa, dataKońcowa) | Zwraca ilość milisekund pomiędzy dwiema niepustymi datami. | |
DateDiffMinute (dataPoczątkowa, dataKońcowa) | Zwraca ilość minut pomiędzy dwiema niepustymi datami. | |
DateDiffMiounth (dataPoczątkowa, dataKońcowa) | Zwraca ilość miesięcy pomiędzy dwiema niepustymi datami. | |
DateDiffSecond(dataPoczątkowa, dataKońcowa) | Zwraca ilość sekund pomiędzy dwiema niepustymi datami. | |
DateDiffTick (dataPoczątkowa, dataKońcowa) | Zwraca ilość ticków (tick = 1/20000 milisekundy) pomiędzy dwiema niepustymi datami. | |
DateDiffYear(dataPoczątkowa, dataKońcowa) | Zwraca ilość lat pomiędzy dwiema niepustymi datami. | |
GetDate(DzieńCzas) | Wyciąga datę z argumentu. | GetDate('2018-01-01 14:15:00') -> '2018-01-01' |
GetDay(DzieńCzas) | Wyciąga dzień z argumentu. | GetDay('2018-03-21 14:15:00') -> 21 |
GetDayOfWeek(DzieńCzas) | Wyciąga dzień tygodnia z argumentu. | GetDayOfWeek('2018-02-01 14:15:00') ->4 |
GetDayOfYear(DzieńCzas) | Wyciąga dzień roku z argumentu. | GetDayOfYear('2018-02-01 14:15:00') -> 32 |
GetHour(DzieńCzas) | Wyciąga godzinę z argumentu. | GetHour('2018-02-01 14:15:00') -> 14 |
GetMiliSeconds(DzieńCzas) | Wyciąga milisekundy z argumentu. | |
GetMinute(DzieńCzas) | Wyciąga minuty z argumentu. | GetMinute('2018-02-01 14:15:00') -> 15 |
GetMonth(DzieńCzas) | Wyciąga miesiąc z argumentu. | GetMonth('2018-02-01 14:15:00') ->2 |
GetSecond(DzieńCzas) | Wyciąga sekundy z argumentu. | GetSecond('2018-02-01 14:15:09') -> 9 |
GetTimeOfDay(DzieńCzas) | Wyciąga czas z dnia z argumentu, w Tickach (1/20000 milisekundy) | |
GetYear(DzieńCzas) | Wyciąga rok z argumentu. | GetYear('2018-02-01 14:15:00') ->2018 |
IsJanuary(DzieńCzas), IsFebruary(DzieńCzas), IsMarch(DzieńCzas), IsApril(DzieńCzas)… | Zwraca prawdę jeśli data z argumentu wypada w styczniu, lutym, marcu itd. | IsJanuary('2018-02-01 14:15:00') -> 0 IsFebruary('2018-02-01 14:15:00') -> 1 |
IsLastMonth(DzieńCzas) | Zwraca prawdę jeśli data z argumentu wypadała w poprzednim miesiącu | IsLastMonth ('2018-02-01 14:15:00') -> 1 (data dzisiejsza 2018-03-01) |
IsLastYear(DzieńCzas) | Zwraca prawdę jeśli data z argumentu wypadała w poprzednim roku | IsLastYear ('2018-02-01 14:15:00') -> 0 (data dzisiejsza 2018-03-01) |
IsNextMonth(DzieńCzas) | Zwraca prawdę jeśli data z argumentu wypada w następnym miesiącu | IsNextMonth ('2018-04-21 14:15:00') -> 1 (data dzisiejsza 2018-03-01) |
IsNextYear(DzieńCzas) | Zwraca prawdę jeśli data z argumentu wypada w następnym roku | IsNextYear ('2018-02-01 14:15:00') -> 0 (data dzisiejsza 2018-03-01) |
IsSameDay(DateTime, DateTime) | Zwraca True Jeśli określona data wypada w tym samym dniu. | IsSameDay('2018-02-01 14:15:00',' 2018-02-01 11:20:00') -> 1 |
IsThisMonth(DateTime) | Zwraca True Jeśli określona data wypada w bieżącym miesiącu. | IsThisMonth ('2018-02-01 14:15:00') -> 0 (data dzisiejsza 2018-03-01) |
IsThisWeek(DateTime) | Zwraca True Jeśli określona data wypada w ciągu bieżącego tygodnia. | IsThisWeek ('2018-02-01 14:15:00') -> 0 (data dzisiejsza 2018-03-01) |
IsThisYear(DateTime) | Zwraca True Jeśli określona data wypada w bieżącym roku. | IsThisYear ('2018-02-01 14:15:00') -> 1 (data dzisiejsza 2018-03-01) |
IsYearToDate(DateTime) | Zwraca True Jeśli określona data wypada w okresie pomiędzy pierwszym dniem bieżącego roku, a dniem dzisiejszym | IsYearToDate(DateTime) |
LocalDateTimeDayAfterTomorro w(), | Zwraca wartość daty i godziny odpowiadające: pojutrze, | Gdy aktualna data i czas to: 2018-03-01 10:30:15 |
LocalDateTimeLastMonth(), | Pierwszemu dniu poprzedniego miesiąca, | LocalDateTimeLastMonth( ) -> 2018-02-01 00:00:00 |
LocalDateTimeLastWeek(), | Pierwszemu dniu poprzedniego tygodnia, | |
LocalDateTimeLastYear(), | Pierwszemu dniu poprzedniego roku, | |
LocalDateTimeNextMonth(), | Pierwszemu dniu następnego miesiąca, | |
LocalDateTimeNextWeek(), | Pierwszemu dniu następnego tygodnia, | LocalDateTimeNextWeek() -> 2018-03-05 00:00:00 |
LocalDateTimeNextYear(), | Pierwszemu dniu następnego roku, | |
LocalDateTimeNow(), | Chwili obecnej, | |
LocalDateTimeThisMonth(), | Pierwszemu dniu bieżącego miesiąca, | |
LocalDateTimeThisWeek(), | Pierwszemu dniu bieżącego tygodnia, | |
LocalDateTimeThisYear(), | Pierwszemu dniu bieżącego roku, | |
LocalDateTimeToday(), | Dzisiaj, | |
LocalDateTimeTomorrow(), | Jutro, | LocalDateTimeTomorrow() -> 2018-03-02 00:00:00 |
LocalDateTimeTwoMonthsAway () | Pierwszemu dniu dwa miesiące wstecz, | |
LocalDateTimeTwoWeeksAway( ), | Pierwszemu dniu dwa tygodnie wstecz, | |
LocalDateTimeTwoYearsAway(), | Pierwszemu dniu dwa lata wstecz, | |
LocalDateTimeYearBeforeToday () | Pierwszemu dniu dwa miesiące wstecz, | |
LocalDateTimeYesterday() | Wczoraj | LocalDateTimeYesterday() -> 2018-02-28 00:00:00 |
Now() | Zwraca aktualną datę i czas. | |
Today() | Zwraca aktualną datę. | Today() -> 2018-03-01 00:00:00 |
UtcNow() | Zwraca aktualną datę i czas systemowy, wyrażony w UTC. | |
Now() | Zwraca aktualną datę i czas. | |
Today() | Zwraca aktualną datę. | Today() -> 2018-03-01 00:00:00 |
UtcNow() | Zwraca aktualną datę i czas systemowy, wyrażony w UTC. |
Funkcje logiczne działają w zakresie danych rzeczowych, określają, a następnie zwracają jeden z argumentów i w zależności od wartości warunku zwracają PRAWDĘ lub FAŁSZ.
Funkcja if() oszacowuje wyrażenie, a następnie w zależności od jego wartości zwraca argument pierwszy (Pozytywny) lub drugi (Negatywny). Należy zwrócić uwagę, że funkcja warunkowa najpierw oblicza wartość pierwszego argumentu, aby określić, którą część ma zwrócić. Część, która nie spełnia warunku Wyrażenie nie jest w ogóle przeliczana.
Funkcja i składnia | Opis | Przykład |
iif(Wyrażenie, Pozytywna, Negatywna) | Zwraca odpowiednią cześć Pozytywną lub Negatywną w zależności od wyniku logicznego wyrażenia | |
IsNull(wartość) | Zwraca prawdę jeżeli podana wartość jest NULL. | |
IsNullOrEmpty(Tekst) | Zwraca True (Prawda) jeżeli podany Tekst jest obiektem NULL lub jest pustym słowem, w innym przypadku zwraca False (Fałsz). |
Analizy wielowymiarowe PIVOT umożliwiają stosowanie kilku wbudowanych funkcji matematycznych. Każda funkcja ma swój zakres działania; na przykład, abs zwraca wartość
bezwzględną miary x w każdej danej rzeczowej, w której x posiada wartość.
Funkcja i składnia | Opis | Przykład |
Abs(Wartość) | Zwraca wartość bezwzględną, wartość dodatnią dla podanego wyrażenia. | abs(2) == 2; abs(-2) == 2 |
Acos(Wartość) | Zwraca acos wartości (kąta w radianach, którego kosinus jest wyrażeniem zmiennoprzecinkowym). | Acos(0.5) == 1.047198 |
Asin(Wartość) | Zwraca asin z wartosci (kąta w radianach, którego sinus jest podanym wyrażeniem zmiennoprzecinkowym). | |
Atn(Wartość) | Zwraca arctan z wartosci (kąta w radianach, którego tangens jest podanym wyrażeniem zmiennoprzecinkowym). | |
Atn2(Wartość1, Wartość) | Zwraca kąt którego tangens określają dwie wartości numeryczne w radianach. | |
BigMul(Wartość1, Wartość) | Zwraca wartość typu Int64 będąca mnożeniem dwóch wartości typu Int32. | |
Ceiling(Wartość) | Zwraca najmniejszą liczbę całkowitą, która jest większa lub równa podanemu wyrażeniu numerycznemu. | ceiling(1.9) == 2; ceiling(-1.9) == -1 |
Cos(Wartość) | Zwraca cosinus dla kąta zdefiniowanego w radianach. | Cos(0.0) == 1 |
Cosh(Wartość) | Zwraca cosinus hiperboliczny dla kąta zdefiniowanego w radianach. | |
Exp(Wartość) | Zwraca wartość ekspotencjalną z podanego wyrażenia zmienno-przecinkowego. | Exp(1.0) == 2.718282 |
Floor(Wartość) | Zwraca największą wartość całkowitą mniejszą lub równą dla zadanego wyrażenia. | floor(1.9) == 1; floor(-1.9) == -2 |
Log(Wartość), Log(Wartość, Podstawa)) | Zwraca naturalny logarytm z podanej wartości. | Log(2) == 0.693147 |
Log10(Wartość) | Zwraca logarytm o podstawie dziesiętnej z podanej wartości. | Log10(10) == 1 |
Max(wartość1, wartość2) | Zwraca maksymalną wartość z podanych. | Max(-20,15) == 15 |
Min(wartość1, wartość2) | Zwraca minimalną wartość z podanych. | Min(-20,15) == -20 |
Power(wartość, potęga) | Zwraca wartość podniesioną do określonej potęgi. | Power(2,3) == 8 |
Rnd() | Zwraca losową wartość numeryczną mniejszą od 1, ale większą lub równą 0. | |
Round(Wartość), Round(Wartość, precyzja) | Zaokrągla wartość do najbliższej wartości całkowitej. | round(1.1) == 1; round(1.8) == 2; round(1.5) == 2; round(1.535, 2) == 1.54 |
Sign(Wartość) | Zwraca pozytywna (+1), zero (0) lub negatywna (-1) znak podanego wyrażenia. | sign(120) == 1; sign(0) == 0; |
Sin(Wartość) | Zwraca sinus dla kąta zdefiniowanego w radianach. | Sin(0) == 0 |
Sinh(Wartość) | Zwraca sinus hyperboliczny dla kąta zdefiniowanego w radianach. | |
Sqr(Wartość) | Zwraca kwadrat podanej wartości. | Sqr(9) ==3 |
Tan(Wartość) | Zwraca tangens dla kąta zdefiniowanego w radianach. | |
Tanh(Wartość) | Zwraca tangens hyperboliczny dla kąta zdefiniowanego w radianach. | |
ToDecimal(Wartość) | Konwertuje wartość na równoważną liczbę dziesiętną. | |
ToDouble(Wartość) | Konwertuje wartość na równoważne 64-bitowych podwójnej precyzji zmiennoprzecinkowych numer. | |
ToFloat(Wartość) | Konwertuje wartość na odpowiednia liczba zmiennoprzecinkowa pojedyncza precyzja 32-bitowych. | |
ToInt(Wartość) | Konwertuje wartość na odpowiednik 32-bitową całkowitą podpisane. | |
ToLong(Wartość) | Konwertuje wartość równoważną 64-bitową całkowitą podpisane. |
Funkcje tekstowe operują na danych typu tekstowego. Teksty można ze sobą porównywać, operować na łańcuchach znakowych lub pojedynczych znakach. Poniższa tabela zawiera wszystkie dostępne w Edytorze wyrażeń funkcje tekstowe:
| Opis | Przykład |
Ascii(tekst) | Zwraca kod ASCII dla znaku najbardziej na lewo w wyrażeniu. | Ascii('a') -> 97 |
Char(liczba) | Zamienia liczbę całkowita na kod ASCII. | Char(65) -> A |
CharIndex(Tekst1, Tekst2) | Zwraca pozycje początkową Tekst1 w Tekst2, zaczynając od pozycji 0 do końca tekstu. | CharIndex ('Test', 'To jest Test') -> 9 |
CharIndex(Tekst1, Tekst2, PozycjaPoczątkowa) | Zwraca pozycje początkową Tekst1 w Tekst2, zaczynając | CharIndex ('Test', 'To jest Test',4) -> 5 |
Concat(Tekst1, ... , TekstN) | Zwraca tekst zawierający złączenie tekstów od Tekst1 do TekstN. | Concat ('ab', 'cd', 'ef') -> 'abcdef' |
Contains (Tekst, Podciąg) | Zwraca wartość PRAWDA (1), jeśli występuje podciąg ciągu; w przeciwnym wypadku, zwracana jest wartość False (0). | Contains ('To jest test','jest') -> 1 |
EndsWith(Tekst, Podciąg) | Zwraca wartość PRAWDA (1), jeśli koniec ciągu Tekst zawiera Podciąg; w przeciwnym wypadku, zwracana jest wartość False (0). | EndsWith('To jest test','test') ->1 |
Insert(Tekst1, PozycjaStartowa, Tekst2) | Wstawia Tekst2 w Tekst1 w pozycji określonej przez PozycjaStartowa | Insert (' nie', 3, 'To jest test') -> 'To nie jest test' |
Len(wartość) | Zwraca ilość bajtów potrzebną do przechowania podanej wartości. | Len('Test') -> 4 Len(' Test ') ->6 |
Lower(Tekst) | Zwraca tekst pisany małymi literami. | Lower('Test') -> 'test' |
PadLeft(Tekst, Długość) | Uzupełnia Tekst z lewej strony o znak odstępu (spacja), aby | PadLeft('test', 10) ->' test ' |
PadLeft(Tekst, Długość, Znak) | Uzupełnia Tekst z lewej strony o Znak, aby Tekst osiągnął podaną Długość. | PadLeft('test', 10,'') ->'_____test' |
PadRight(Tekst, Długość) | Uzupełnia Tekst z prawej strony o znak odstępu (spacja), | PadRight('test', 10) ->'test ' |
PadRight(Tekst, Długość, Znak) | Uzupełnia Tekst z prawej strony o Znak, aby Tekst osiągnął podaną Długość. | PadRight('test', 10,'') ->'test_____' |
Remove(Tekst, PozycjaStartowa) | Usuwa wszystkie znaki Tekst zaczynając od PozycjaStartowa | Remove('To jest test.',7) -> 'To jest' |
Remove(Tekst, PozycjaStartowa, Długość) | Remove('To nie jest test.',4,4) -> 'To jest test.' | |
Replace(Tekst1,Tekst2, Tekst3) | Zwraca kopię Tekst1, w której Tekst2 został zastąpiony Tekst3. | Replace('To jest test.','test', 'koniec') -> 'To jest koniec.' |
Reverse(Tekst) | Odwraca kolejność elementów w tekście. | Reverse('TEST') -> 'TSET' |
StartsWith(Tekst, Podciąg) | Zwraca wartość PRAWDA(1), | StartsWith('To jest test.', 'To') -> 1 |
Substring(Tekst, PozycjaPoczątkowa, Długość) | Zwraca podciąg z ciągu Tekst zaczynający się od pozycji PozycjaPoczątkowa o zadanej długości. | Substring('To jest test.',9,4) -> 'test' |
Substring(Tekst, PozycjaPoczątkowa) | Zwraca podciąg z ciągu Tekst zaczynający się od pozycji PozycjaPoczątkowa. | Substring('To jest test.',9) -> 'test.' |
ToStr(Wartość) | Zwraca tekst reprezentowany przez obiekt. | ToStr('2018-01-01') |
Trim(Tekst) | Usuwa wszystkie z przodu i z tyłu białe znaki (spacje) z Tekstu. | Trim (' Test ') -> 'Test' |
Upper(Tekst) | Zwraca tekst pisany wielkimi literami. | Upper('Test') -> 'TEST' |
W polach wyliczeniowych analizy wielowymiarowej są dostępne operatory, które można podzielić na trzy typy: Arytmetyczne, Porównawcze i Logiczne.
Operatory arytmetyczne służą do wykonywania operacji arytmetycznych, czyli mnożenia, dzielenia, dodawania, odejmowania itp.
Operator | Opis | Przykład |
+ | Dodaje wartość jednego z wyrażeń numerycznych do kolejnego, lub łączy dwa ciągi znaków. | 2+3 -> 5 'Ala' + ' ma ' + 'kota.' -> 'Ala ma kota.' |
Odejmowanie | 5-3 ->2 | |
*, / | Mnożenie, dzielenie. | 2*3 -> 6, 6/2 ->3 |
% | Zwraca resztę (wartość bezwzględną) z dzielenia | 5%2 -> 1 6%2 -> 0 |
Operatory porównawcze są takie same jak w większości stosowanych dzisiaj językach programowania: <, >, <=, >=, ==, != (odpowiednio mniejszy, większy, mniejszy lub równy, większy lub równy, równy, różny).
Operatory porównawcze zwracaj 1, je li wynik porównania jest prawdziwy i 0, jeśli wynik porównania jest fałszywy.
Operator | Opis | Przykład |
== | Zwraca prawdę (true) jeżeli oba argumenty mają tą samą wartość. W innym przypadku zwraca fałsz (false). | 6==2 -> 0 6==6 -> 1 |
!= |Zwraca prawdę (true) jeżeli oba argumenty nie mają tej samej wartości. W innym przypadku zwraca fałsz (false). |6!=2 -> 1 6==6 -> 0 | ||
<, <=, >=, > | Operatory większości/ mniejszości. Używane do porównania wyrażeń. | |
in | Testuje istnienie własności obiektu. | in ('abc','cba') in (1,2,3) |
like | Porównuje ciag znaków z wzorcem. Jeżeli ciąg odpowiada wzorcowi, wynik jest prawdą (true). Jeżeli ciąg nie odpowiada wzorcowi | Like '%abc%' |
between | Określa zakres do przetestowania. Zwraca prawdę (true) jeżeli wartość jest większa bądź równa pierwszemu argumentowi i mniejsza lub równa drugiemu argumentowi. | Between (1,100) Between('2018-01-01','2018-03-31') |
Pola wyliczeniowe zawierają operatory logiczne, które działają na bitach lub wartościach. Do operatorów porównujących bity argumentów należą: |, &, ^. Z kolej wyrażenia sprawdzane są przez operatory: AND, OR i NOT.
Operator | Opis | Przykład | ||
Porównuje każdy bit pierwszego argumentu z odpowiednim bitem drugiego argumentu. Jeżeli jeden z bitów | 0 | 0 ->0 0 | 1 ->1 | |
jest 1, odpowiedni bit wyniku jest ustawiany na 1. W innym przypadku odpowiedni bit wyniku jest ustawiany na 0. | 1 | 1 ->1 | ||
& | Wykonuje binarną logiczną operację I (AND) pomiędzy dwoma wartościami numerycznymi. | 0&0 ->1 0&1 ->0 | ||
^ | Wykonuje logiczne wykluczenie na dwóch wartościach logicznych, lub binarne wykluczenie na dwóch wyrażeniach numerycznych. | |||
and | Wykonuje logiczną dysjunkcję na dwóch wyrażeniach logicznych. | 20 and 100 -> 100 0 and 100 -> 0 0 and 20 -> 0 | ||
or | Wykonuje logiczną dysjunkcję na dwóch wartościach logicznych. | 20 or 100 -> 20 0 or 100 -> 100 0 or 0 -> 0 | ||
not | Wykonuje logiczną negację wyrażenia. |
Wszystkie operatory logiczne określają tylko podwyrażenia potrzebne do obliczenia końcowego wyniku. Na przykład: w wyrażeniu A and B, je li A jest równe 0, B nie jest określane, ponieważ rezultat operacji jest w pełni określony przez wartość A. Tak samo, w wyrażeniu A or B, jeżeli A nie jest równe 0, B nie jest określane, ponieważ rezultat operacji jest w pełni określony przez wartość A.
W grupie _Pola_ dostępne są wszystkie kolumny (wymiary i miary), które dla danej analizy wielowymiarowej są dostępne. Pola wpisywane są do wyrażenia w nawiasach kwadratowych \[nazwa pola\]. Przy tworzeniu algorytmu można korzystać z tych miar i wymiarów i wstawiać je do składni algorytmu poprzez podwójne kliknięcie. !worddavc4113dbfdb44a3213ce605b4fb78bc08.png|height=403,width=492! Oprócz standardowych kolumn można wybrać pola wyliczeniowe wcześniej zdefiniowane. Dzięki temu można tworzyć pola wyliczeniowe oparte o inne pola wcześniej utworzone przez użytkownika. |
W Edytorze wyrażeń są dostępne trzy typy stałych:
Za pomocą ikony Pola wyliczeniowe
można otworzyć okno z wszystkim utworzonymi polami wyliczeniowymi w danej analizie wielowymiarowej.
Do obsługi tego okna służą kolejno ikony:

W dolnej części okna dostępny jest podgląd wyrażenia dla podświetlonego pola.
Przykładowa analiza z polami wyliczeniowymi: 


Funkcjonalność tworzenia i zarządzania stylami prezentacji analiz wielowymiarowych jest narzędziem, dzięki któremu tworząc jedną definicję analizy można zbudować na niej wiele różnych zestawień raportowych, które bazując na tych samych danych źródłowych prezentują analizowany obszar z różnych perspektyw.
Zapisując dany styl można zawrzeć w jego ustawieniach konfiguracje takich elementów tabeli przestawnej jak:
Funkcje zarządzania stylami, dostępna pod ikoną Style
pozwalają użytkownikowi na zapisywanie nowych styli a także modyfikację już istniejących, usuwanie oraz ustawianie stylu domyślnego.
Podczas zapisywania stylu można określić jakie ustawienia analizy mają zostać zapisane. Ponadto można oznaczyć styl jako domyślny. Dzięki temu styl będzie włączany od razu po uruchomieniu analizy wielowymiarowej. 
Przycisk Wczytaj styl z pliku
umożliwia korzystanie z istniejących już styli, zapisanych przy innych analizach.
Funkcja Zapisz styl do pliku
pozwala użytkownikowi na automatyczne zamienienie wskazanego stylu na plik zawierający definicję ustawień i zapisanie tego pliku na dysku swojego komputera.
Opcję tę można wykorzystywać do dwóch celów. Po pierwsze można w ten sposób dodatkowo archiwizować swoje style. Po drugie plik taki może być przesłany do innego użytkownika i w ten sposób wczytany na jego komputerze.