Ibm cognos moving average


Jak obliczyć różnicę ruchomą w Cognos 8 Problem (streszczenie) W tym dokumencie opisano sposób obliczania ruchomej różnicy w Report Studio, gdy nie jest dostępna żadna funkcja różnic ruchowych. Rozwiązywanie problemu Obliczanie ruchomej różnicy w oparciu o funkcję ruchomej sumy. Kroki: Otwórz Report Studio, korzystając z pakietu Go Sprzedaż i handel detaliczny Utwórz pusty raport z tabeli krzyżowej Przeciągnij i upuść wiersz produktów w wierszach i Zamów miesiąc w kolumnach Przeciągnij Przychód w zapytaniu Utwórz inny element danych (nazwij go D1) i użyj następującego wyrażenia: moving-total (Revenue, 2 dla linii Product) Stwórz inny element danych (nazwij go D2) i użyj następującego wyrażenia: D1-Revenue Utwórz inny element danych (nazwij go moving-diff) i użyj następującego wyrażenia: Revenue-D2 Put Revenue and moving-diff jako miara w tabeli krzyżowej Numer historyczny Informacje o dokumencie Więcej wsparcia dla: Cognos 8 Business Intelligence Report Studio Wersja oprogramowania: 8.1, 8.2 System operacyjny (s): Windows Data modyfikacji: 24 2008Good Morningthe afternoon TM1 guru, Im obecnie pracuje nad sprzedażą projekt, który wymaga reguły średniej ruchomej. Wymiary to quotcustomerquot. quotLocationquot. quotMeasuresquot. quotYear, takie jak 2017,2017,2017 i quotdayquot z 365 dni w roku, który toczy się do odpowiedniego miesiąca jako rodzic (Jul, Aug, Sep.) i miesiąc do góry rodzic quotot Total Yearquot (patrz przykład poniżej) Próbuję aby wyświetlić średnią dzienną wartość sprzedaży w oparciu o 10-dniowy okres przestawiania, na przykład patrz poniżej Oznacza to, że maj-15 pokazuje avrg wartości od 15 maja do 02 maja i tak dalej. Tak więc moje pytanie brzmi: jak opracować wartość avrg wstecz w oparciu o poprzednie 10 dni, które mają wartość przeciw, jeśli nie ma wartości, a następnie ją wykluczyć. Co mam na myśli przez wartość jest coś w komórce kostki, nawet jeśli jest zero. Każda pomoc, wskazówki i wskazówki będą mile widziane. winsonlee Regular Uczestnik Posty: 180 Dołączył: Cz, lip 01, 2017 3:06 am OLAP Produkt: Cognos Express Wersja: 9.5 Excel Wersja: 2007 Lokalizacja: Melbourne, Australia Nie jestem pewien, czy można to zrobić za pomocą reguł, gdy chcesz pominąć dni, które wynosi 0. Próbowałem użyć procesu TI, aby to zrobić i jest to możliwe. Utwórz widok wszystkich dni na poziomie N elementu i lat i ustaw wartość quotSkip zero puste wartości. temp1 Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. Temp. 1 sposób, aby to zrobić za pomocą zasad, ale nie jest to całkiem ładne. Umieść atrybut na każdy dzień o nazwie quotprior dayquot i zapełnij go, wiesz co. Utwórz dodatkową miarę o nazwie quotCheckquot lub coś w tym stylu. 91Check93N: If (91Intena rzeczywistej93ltgt0,1,0) 91Avrg JOB Val93N: (DB (kostka, dim1, dim2. Dzień, wartość wejściowa) DB (kostka, dim1, dim2, Attrs (dzień, dzień, dzień wcześniejszy), wartość spożycia) DB (Cube, dim1, dim2, Attrs (dzień, Attrs (dzień, dzień, dzień wcześniejszy), dzień wcześniejszy), wartość spożycia) i tak dalej 10 razy) Tak samo jak powyżej, ale dla miary quotCheckquot. Możesz również zrobić to za pomocą dimeksu, który może wyglądać czystszy w regule, ale zależy od elementów, które się nie poruszają. Zakładając, że co najmniej jeden z 10 dni będzie miał wartość, którą prawdopodobnie powinieneś oszukać i po prostu nakarmić cały środek. Lepszym sposobem na zrobienie tego byłoby pobranie wartości do sześcianu pośredniego i użycie konsol do wykonania średnich, a następnie sprowadzenie ich z powrotem. LORR napisał: Co mam na myśli przez wartość, jest coś w komórce kostki, nawet jeśli jest to zero. Zakładam, że masz na myśli to, że zero jest znaczącą wartością, ale że mogą istnieć dni, dla których nie ma żadnej wartości. Akceptowanym sposobem wdrożenia tego w TM1 jest użycie reguły UNDEFVALS (publib. boulder. ibminfocenterctm1v9r5m0index. jsptopic2Fcom. ibm. swg. im. cognos. tm1ref.9.5.2.doc2Ftm1refid7852undefvals. html) w regule. Należy jednak pamiętać, że po umieszczeniu go w regule będzie on miał trwały wpływ na kostkę, a jego usunięcie nie spowoduje odwrócenia tego efektu. Co więcej, nie uważam, że możliwe jest już (9.5.2 i wyższe) w regule rozróżnienie między komórką, która ma zero w komórce a specjalną nieokreśloną wartością. Byłbym zachwycony tym, że udowodniono mi, że się mylę. W poprzednich wersjach porównywano ich więcej niż zero, ale już nie więcej. Biorąc wszystko pod uwagę, jeśli importujesz dane za pomocą TI, prawdopodobnie bezpieczniejszym i bardziej zrozumiałym będzie posiadanie dodatkowej miary (np. QuotHas Dataquot), którą zapełnisz 1 dla każdej wprowadzonej wartości sprzedaży. Oczywiście, jeśli wartości są wprowadzane przez użytkowników w przeglądarce kostek lub w usłudze Contributor, nie można tego zrobić. winsonlee Regular Uczestnik Posty: 180 Dołączył: Czw lip 01, 2017 3:06 am OLAP Produkt: Cognos Express Wersja: 9.5 Wersja Excel: 2007 Lokalizacja: Melbourne, Australia Wygląda na to, że jest to dobry pomysł. ale chciałbym potwierdzić o zasadach. stosowanie podanych reguł nie oznaczałoby maj-14 (maj-07 maja-08 maja-09 maja -10 maja-11 maja -14) 6 maja-05 0 maja-06 0 maja-07 187.989 maja-08 203.375 maja-09 236 468 maja-10 106 078 maja-11 426.669 maja-12 0 maja-13 0 maja-14 296,722 declanr napisał: Mogę wymyślić 1 sposób, aby to zrobić za pomocą zasad, ale nie jest to całkiem ładne. Umieść atrybut na każdy dzień o nazwie quotprior dayquot i zapełnij go, wiesz co. Utwórz dodatkową miarę o nazwie quotCheckquot lub coś w tym stylu. 91Check93N: If (91Intena rzeczywistej93ltgt0,1,0) 91Avrg JOB Val93N: (DB (kostka, dim1, dim2. Dzień, wartość wejściowa) DB (kostka, dim1, dim2, Attrs (dzień, dzień, dzień wcześniejszy), wartość spożycia) DB (Cube, dim1, dim2, Attrs (dzień, Attrs (dzień, dzień, dzień wcześniejszy), dzień wcześniejszy), wartość spożycia) i tak dalej 10 razy) Tak samo jak powyżej, ale dla miary quotCheckquot. Możesz również zrobić to za pomocą dimeksu, który może wyglądać czystszy w regule, ale zależy od elementów, które się nie poruszają. Zakładając, że co najmniej jeden z 10 dni będzie miał wartość, którą prawdopodobnie powinieneś oszukać i po prostu nakarmić cały środek. Lepszym sposobem, aby to zrobić, byłoby przeniesienie wartości do sześcianu pośredniego i użycie konsol do obliczenia średnich, a następnie sprowadzenie ich z powrotem. Winsonlee Regular Uczestnik Postów: 180 Dołączył: Czw Lip 01, 2017 3:06 am OLAP Product : Wersja Cognos Express: 9.5 Wersja programu Excel: 2007 Lokalizacja: Melbourne, Australia przy użyciu reguł definiowanych przez declanr, myślę, że jest możliwe, jeśli wymiar daty i roku zostanie połączony w jeden wymiar i użyje go do zdefiniowania dnia poprzedniego zgodnie z istnienie danych, ale będzie to wymagało również dużej ilości pracy, aby utrzymać ten atrybut również. winsonlee Regular Uczestnik Posty: 180 Dołączył: Czw lip 01, 2017 3:06 am OLAP Produkt: Cognos Express Wersja: 9.5 Wersja Excel: 2007 Lokalizacja: Melbourne, Australia, która wygląda jak rozsądne rozwiązanie, które nie wymaga wiele pracy, aby go utrzymać. ale chciałbym jeszcze bardziej podkreślić, że używając dimix, istotna jest sekwencja elementu utworzonego w wymiarze. np. jeśli Jun zostanie utworzony później przez wszystkie dni po Jul i przez wszystkie dni, dlatego dojdzie do czasu, w którym poprzedni okres lipca-01 będzie lipca. Więc zaleca się, aby najpierw utworzyć wszystkie elementy rodzica, a następnie tylko dni element, aby wszystkie dni były we właściwej kolejności. winsonlee napisał: Wygląda na dobry pomysł. ale chciałbym potwierdzić o zasadach. używanie podanych reguł nie oznaczałoby maj-14 (maj-07 maja-08 maja-09 maja-10 maja-11 maja-14) 6 ah tak, widzę, że źle przeczytałem pytanie. Przyjmuję teraz, że OP zawsze chce średnio 10 dni danych, ale będą to tylko ostatnie 10 dni, które miały w nich wartości. Gdyby tak było, nadal miałbym atrybut quotriorrior, ale zapełniam go regułą (mówię, że tak właśnie bym zrobił, w rzeczywistości użyłbym TI, ale jeśli reguła była niezbędna). Reguła będzie wyglądać następująco: Prior-PeriodS: If (DB (Cube, Dim1, Dim2, Dimnm (Dzień, Dimix (Dzień, Dzień) -1), AVG Job Val) ltgt0, Dimnm (Dzień, Dimix (Dzień, Dzień) -1), Jeśli (DB (Cube, Dim1, Dim2, Dimnm (dzień, Dimix (dzień, dzień) -2), AVG Job Val) ltgt0, Dimnm (dzień, Dimix (dzień, dzień) -2), jeśli ( DB (Cube, Dim1, Dim2, Dimnm (dzień, Dimix (dzień, dzień) -3), AVG Job Val) ltgt0, Dimnm (dzień, Dimix (dzień, dzień) -3), itd. I tak dalej i tak dalej wiele razy, jak myślisz, byłoby konieczne, aby objąć jednak wiele pustych miejsc, które mogą znajdować się w jednym rzędzie. Jeśli Dim1, Dim2 itp. wymagają innego podejścia, prawdopodobnie musielibyśmy zrobić to z pomocą niestandardowej kostki kontrolnej zamiast rzeczywistej atrybuty cube, jak już mówię, zaczyna to wyglądać na bardzo niechlujną metodę i prawdopodobnie spróbowałbym tego uniknąć samemu, ale myślę, że to zadziałałoby. Oczywiście gdybyś to zrobił, reguła z mojego poprzedniego komentarza miałaby tylko podział według 10 zamiast zmiennego mianownika. Utwórz raport średniej ruchomej z zapytaniem, aby możliwe było zwrócenie i obliczenie zakresu dat lem (Streszczenie) Utwórz raport, który zwróci dane o sprzedaży dla zakresu dat, który kończy się w Dacie wysłanej. Dane zostaną wykorzystane do stworzenia 3-miesięcznej średniej ruchomej, która będzie dynamiczna, tak aby w dowolnym momencie można było pobrać i obliczyć 3 miesiące. Chcesz mieć możliwość korzystania z raportu do generowania IQD do wykorzystania jako źródło PowerPlay Transformer. Rozwiązanie problemu Wymagane są 4 kroki 1. Utwórz typ w monicie na podstawie kolumny daty lub daty i czasu (np. Monit daty) 2. Utwórz następujące obliczenia: addmonths (prompt daty, -3) (np. 3 miesiące) 3. Utwórz filtruj za pomocą następującego wyrażenia: Kolumna z datą od 3 miesięcy do Monitu daty 4. Utwórz obliczenia dla średniej, np Łączna sprzedaż3

Comments

Popular Posts