POWRÓT DO ARTYKUŁÓW

PBI - praktyczne wykorzystanie funkcji "userelationship" do elastycznego przechodzenia między relacjami.


Czasami w naszej pracy możemy zetknąć się z sytuacją, że dana miara może być analizowana wg różnych dat. W poniższym przykładzie mamy 2 kolumny dat dot. wartości zamówień. Data A może być np datą złożenia zamówienia, zaś data B datą wysyłki zamówienia lub otrzymania płatności. Jeśli byśmy analizowali dane wg lat, jedyna różnica (aczkolwiek istotna) występuje na przełomie roku 2019 i 2020 (patrz zaznaczenie).


przykład

Jeśli mamy tabelę dat (kalendarz) i tabelę faktów (zamówienia) to pomiędzy tymi tabelami może istnieć tylko jedna aktywna relacja. Druga relacja będzie zawsze nieaktywna.


przykład

Jak zatem pokazać w raporcie wartość zamówień zarówno wg daty A, jak i daty B, skoro aktywną jest tylko jedna relacja dat. Mamy na to kilka sposobów. Możemy zwyczajnie powielić tabelę kalendarza, lub stworzyć na jej bazie nowa tabelę kalkulowaną. Wówczas dla pierwotnej tabeli dat utrzymujemy wcześniejszą relację, zaś dla jej kopii aktywujemy relację z inną datą.


przykład

Już teraz możemy stworzyć 2 wizualizacje, bazujące na 2 tabelach kalendarza, jak poniżej. Aby nie było niedomówień, wystarczy tylko zmienić nazwę miary, aby wiedzieć, że jest to wartość zamówień wg daty A lub daty B.


przykład

W powyższym przykładzie nie osiągniemy zamierzonego rezultatu na jednej wizualizacji. Ponadto nasz model się rozrasta, ponieważ zduplikowaliśmy tabele, co może mieć wpływ na wydajność. Dużo lepszym rozwiązaniem jest zastosowanie funkcji "userelationship", która zapewni nam większą elastyczność. Najpierw jednak musimy sprawdzić, czy między tabelą faktów, a oryginalną tabelą kalendarza są zdefiniowane wszystkie wymagane relacje. Tylko jedna z nich będzie aktywna, ale do działania funkcji nie ma znaczenia, że pozostałe relacje są nieaktywne.


przykład

Miary przy użyciu funkcji "userelationship" definiujemy osobno dla daty A i daty B. Po prostu wskazujemy, jak ma wyglądać relacja brana do liczenia miary. Później w ramach jednej wizualizacji możemy przedstawić wyniki.


przykład


przykład


przykład