Korzystanie z przekształcenia oblicza 5 ostatnich wartości w ciągu jednego zapytania SQL

Oto jeden z moich ostatnich zadań interesujące:

Obliczanie niektórych parametrów tylko do przedmiotów, które cieszą się dużą popularnością. Przedmiot jest duże zapotrzebowanie, jeśli jego wartość sprzedaży była wyższa od stałej X w każdym z ostatnich 5 miesięcy (w tym bieżącego miesiąca).

Rozwiązanie

Pierwszy raz ustalania zadań:

Artykuł jest ważna w miesiącu M jak artykuł z dużym popytem, jeśli jego Abverkäufe w każdy z ostatnich 5 miesięcy (włącznie z bieżącego miesiąca) były większe ustalone stałe X (np. był X = 100). Chcemy znaleźć w sprawozdaniu stanowią jak najefektywniej wszystkim takie połączenie i M (które w razie potrzeby niż filtr Metric do wykorzystania później się stanie).

Oto moje rozwiązanie jest tylko jedną transformację. Widzę Zaletą tego rozwiązania w tym, że tylko raz na ogół bardzo duży stół rzeczywiście jedno odwiedziny.

Dla wszystkich przykładach będę używał zgodnie z normą zainstalowane projektu w moim blogu MicroStrategy samouczek. Możesz więc moje przykłady łatwo kopiować i wypróbować. Ponadto możliwe jest porównanie kilku rozwiązań problemu bezpośrednio.

Jak już zdradził, używam przemiany w moim rozwiązaniem. Dlatego widok Przekształcenia muszą być zdefiniowane jako pierwszy. Źródłem danych dla projektu "MicroStrategy Wychowawczy" jest ACCESS bazy danych TUTORIAL_DATA_7200.mdb.

Stawiamy na następujących Zobacz:

SELECT t1.MONTH_ID, t2.MONTH_ID AS PREV_MONTH_ID, DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE) AS MONTH_DIFF
Z LU_MONTH jak T1, LU_MONTH AS t2
WHERE (((DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE)) od 0 do 4))
ORDER BY t1.MONTH_ID, t2.MONTH_ID;

VB-DateDiff funkcji dostaw tutaj liczby pełnych miesięcy, które mieszczą się pomiędzy przekazane wartości daty. Wydatki Zobacz wygląda to o tak:

Image 1

Mamy wyznaczenia Zobacz "MONTH_TO_5_LAST_MONTHS". Teraz Zobacz w katalogu Magazyn jest sprowadzony, następnie na nowej tabeli logiczne definiowane są następujące obiekty:

Przekształcenie "obciążenie 5 Months"

Image 2

Atrybut "Miesiące Diff"

Month Diff

Month Diff

Oprócz postaci atrybut Miesiąc @ Identyfikator powinien być automatycznie przedłużony w dziedzinie MONTH_ID nową tabelę:

Month@ID

Teraz chcemy budować Metrik, które "bit-mapy z 5 cyfr oznacza" do formularza *****. Każdy gwiazdkę odpowiada w ten sposób jeden miesiąc: linkste gwiazdką odnosi się do miesiąca, w linii uznać sprawozdania następna gwiazdka do miesiąca poprzedniego (w stosunku do linii uznać sprawozdania), itp.

W miejsce każdego gwiazdka chcemy wskazać oznaczenie "X", jeśli Abverkaufswert artykułu były większe w linii uznać sprawozdania w tej pozycji gwiazdka miesiąca odpowiadającego 100. W przeciwnym razie możemy wskazać na miejsce gwiazdką wskazania do O.

Jeśli zatem do artykułu miesięcy bit-map jest wskazany do 200804 "OXXOO oznacza to, że ten artykuł był Abverkaufswerte tylko w miesiącach 200803 i 200802 więcej w dużej mierze 100. Zgodnie z definicją z ustalania zadań, takich artykułu nie mają dużego popytu na miesiąc 200.804. "Tylko kombinacje artykuły i miesiąc odpowiadać na ogromne zainteresowanie, dla których bit-map jest obliczana.

A oto definicja Metriks jest bit-sprzedaży map> 100 w obciążeniu 5 miesięcy:

Metric condition

Wielowymiarowości i Konditionalität z Metrik nie ulegają zmianie. Tylko transformacji "obciążenie 5 Months" przypisano Metrik.

Formuła Metrik wygląda następująco:

ApplyAgg ( "max (IIF ((# 0 = 0 # 1> 100), 'X', 'O')) & Max (IIF ((# 0 = 1 i # 1> 100)," X "," O ')) & Max (IIF ((# 0 = 2 i # 1> 100),' X ',' O ')) & Max (IIf ((# 0 = 3 # 1> 100), "X", 'O')) & Max (IIF ((# 0 = 4 i # 1> 100), "X", "O'))"; [Zróżnicowane miesięcy] @ ID; [sprzedanych sztuk])

Ze względu na funkcję ApplyAgg trzeba wpisać kod w VisualBasic składni (IIF na badania i konditionale i dla Konkatenierung). Prawdopodobnie będzie ono działać jednak również bez ApplyAgg funkcji, z funkcji MicroStrategy IF i Concat. Logiczny sposób powinny generować MicroStrategy jednak w tym przypadku bardzo podobne zapytania.

Oto zrzut ekranu z raportu, który wykorzystuje nieco Metric-sprzedaży map> 100 w obciążeniu 5 miesięcy:

Final Report

Oryginalnego artykułu w języku niemieckim można przeczytać tutaj.

Roztwór do nie mogli dodawać tabel w hurtowni katalogowy

Problem: Nie można dodać tabele / widoki na schemacie w hurtowni katalogowy

Błąd: "Błąd podczas dodawania tabeli (s) do schematu. Ten klucz jest już powiązany z elementem tej kolekcji "

Rozwiązanie w MSTR 9:

1) Otwórz "Architekt",

2) Kliknij prawym przyciskiem myszy tabelę <Nazwa

3) Dodaj do projektu

4) po jej dodaje, Prawo tabeli w lewym okienku i aktualizacja struktury

5) Zapisz i zamknij (będzie prosić o aktualizacji schematu, więc to samo

6) Teraz otwórz katalog hurtowni

7) można znaleźć w tabeli / widoku dodane do schematu

Object Tracking Tool - z niektórych aktualizacji

Po długich luki delegowania "Object Tracking Tool" z niektórych aktualizacji.

1) Narzędzie testowane w systemie, w którym I-Server jest zainstalowany (nie miałem okazji testować bez I-Server)

2) Testowano XP, 2003, Vista, 7

3) W przypadku testowania, samouczek, ID obiektu dla niektórych obiektów może wygląda tak samo ... ale w rzeczywistości nie istnieje jeden numer różnica między każdym ID. Nie zakładaj, że powtarzanie tego samego identyfikatora.

4) Wszelkie sugestie / komentarze mile widziane

Uwaga: Wkrótce narzędzie będzie zintegrowany z innymi narzędzie również.

Pobierz narzędzie tutaj.

Uwaga: Ta aplikacja jest dostarczane "tak jak jest" i zrzekają się wszelkich gwarancji, wyraźnych lub dorozumianych, w odniesieniu do wszystkich przedmiotów przewidzianych w tym wszystkim gwarancji przydatności handlowej, przydatności do określonego celu, dokładności, integracji systemów, tytuł, zadowalającej jakości i nienaruszalności. I nie gwarantujemy, że zastosowanie pod warunkiem, przedmiotów lub jakiejkolwiek jego części będzie nieprzerwane lub wolne od błędów, lub że przedstawione elementy lub jakiejkolwiek jego części będzie spełniać wszelkie potrzeby i wymagania licencji.

Ciekawe metadanych problem

W MSTR 9, pojawia się nowa funkcja o nazwie Multisource gdzie użytkownik może połączyć przykład wiele DB.

We used to samo i ze względu na nowy model licencjonowania jesteśmy zmuszeni do zmiany z powrotem do jednej instancji DB. Tak więc przypomnieć wszystkim przykład DB do samego połączenia ODBC (logicznie jej jedno połączenie DB)

Problem: Mimo wszystkich instancji DB wskazując tym samym ODBC MSTR uznając, że w wielu instancji DB. Dlatego, gdy użytkownik bez logowania Multisource licencji MSTR i spróbuj uruchomić dowolny raport, to wyrzuca błąd mówiąc, że "to wymaga licencji Multisource. Interesujące jest to, stoły do tego raportu pochodzą z jednej instancji DB.

Rozwiązanie: Stało się kluczową kwestię podczas SIT z powodu klienta licencji zmian ... bla .... Blah.

Wziął trochę ryzyko opcji, a także to jedyne rozwiązanie ... Zmiana DB Instancji dla wszystkich atrybutów w tabeli metadanych. (Inną opcję, edytować i zmieniać wszystkie atrybuty tabeli wskazuje na jednej instancji DB, który jest wielkim zadaniem - [400 atrybuty].

Czy niektóre analizy MD tabel, relacji, itd. ... zmieniłem wszystkie przykład DB 32 bit ID do jednej instancji DB 32-bitowy identyfikator (trzeba być bardzo ostrożnym podczas usuwania wierszy, zmiana wartości kolumny w metadanych DB.

Jestem nadal robi dokumentację dotyczącą zmiany np. DB w metadanych bezpośrednio i wraz z tym planuje dokument lub nowe narzędzie "" znaleźć i zamienić obiekt w żadnej definicji.

Jeśli ktoś przyjść cross tego rodzaju kwestie, jak "Object ID nie można znaleźć", a także kwestie jak SCANMD, lekarz nie MD stanie rozwiązać, postara się pomóc Ci rozwiązać sam.

Wkrótce po dokumencie i narzędzia dla samego ... ...