Bruke en transformasjon til å beregne 5 siste verdier innenfor en SQL-spørring

Her er en av mine siste interessante oppgaver:

Beregn noen beregninger bare for at elementene er i høy etterspørsel. Et element er "i høy etterspørsel", hvis salgsverdi var større enn den konstante X i hver av de siste 5 måneder (inkludert gjeldende måned).

Løsning

Første gang innstilling av oppgaver:

En artikkel A er gyldig i måneden M som en artikkel med stor etterspørsel, hvis dens Abverkäufe i alle av de siste 5 måneder (inkludert inneværende måned) var større en fast konstant X (f.eks var X = 100). Vi ønsker å finne og i en rapport representerer så effektivt som mulig for alle slik kombinasjon A og M (som vi om nødvendig enn en beregning som skal brukes senere for å kunne).

Her er min løsning bruker bare en transformasjon. Jeg ser fordelen med denne løsningen i det faktum at bare én gang den generelt svært stor faktum bordet en tilgang.

For alle eksemplene jeg vil bruke i henhold til standard installert prosjektet i bloggen min Microstrategy opplæring. Derfor kan du mine eksempler enkelt kopiere og prøve ut. I tillegg er det mulig å sammenligne flere løsninger på et problem direkte.

Som jeg allerede har forrådt, jeg bruker en transformasjon i løsningen min. Derfor et Transformasjoner visning må defineres som den første. Datakilden for prosjektet "Microstrategy opplæring" er en Access database TUTORIAL_DATA_7200.mdb.

Vi legger på følgende oppsett:

SELECT t1.MONTH_ID, t2.MONTH_ID AS PREV_MONTH_ID, DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE) AS MONTH_DIFF
FRA LU_MONTH AS T1, LU_MONTH AS t2
WHERE (((DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE)) Mellom 0 og 4))
ORDER t1.MONTH_ID BY, t2.MONTH_ID;

VB-funksjonen DateDiff rekvisita her antall hele måneder, som ligger mellom overlevert datoverdier. De utgifter av Se ser da omtrent slik:

Image 1

Vi angi View "MONTH_TO_5_LAST_MONTHS". Nå Vis i galleriet katalogen er importert, senere, på den nye logiske tabellen følgende objekter er definert:

Transformation "5 load Months"

Image 2

Attributt "Months Diff"

Month Diff

Month Diff

I tillegg attributtet skjemaet Måned @ ID bør utvides automatisk til feltet MONTH_ID den nye tabellen:

Month@ID

Nå ønsker vi å bygge en Metrik som "litt-kart med 5 siffer representerer" til skjemaet *****. Hver stjerne tilsvarer dermed en måned: de linkste stjerne refererer til måned i regnet rapporten linjen, det neste stjerne til forrige måned (i forhold til de betraktet rapporten linje), osv.

I stedet for hver stjerne vi ønsker å indikere indikasjon "til X", hvis Abverkaufswert av artikkelen var større i regnet rapporten linjen i at stjernen stilling tilsvarende måned 100. Ellers kan vi angir i stedet for stjernen indikasjonen til O.

Hvis dermed for en artikkel i den måneden den bit-kartet er angitt å 200804 "OXXOO, som betyr at denne artikkelen hadde Abverkaufswerte bare i månedene 200803 og 200802 flere hovedsak 100. I henhold til definisjonen fra innstilling av oppgaver som en artikkel ville ikke ha stor etterspørsel i måneden 200804. "Bare kombinasjoner av artiklene og månedene tilsvarer den store etterspørselen, der bit-kartet er beregnet.

Og her definisjonen av Metriks er bit-kart Salg> 100 i The last 5 Måneder:

Metric condition

The dimensionality og Konditionalität av Metrik er ikke endret. Bare transformasjon "5 laste Months" er tildelt Metrik.

Formelen for Metrik ser ut som følger:

ApplyAgg ( "max (IIf ((# 0 = 0 og # 1> 100), 'X', 'O')) og Max (IIf ((# 0 = 1 og # 1> 100), 'X', ' O)) og Max (IIf ((# 0 = 2 og # 1> 100), 'X', 'O')) og Max (IIf ((# 0 = 3 og # 1> 100), 'X', 'O')) og Max (IIf ((# 0 = 4 og # 1> 100), 'X', 'O'))"; [Måneder Diff] @ ID; [solgte enheter])

På grunn av den funksjonen ApplyAgg må man oppgi logikken i VisualBasic syntaks (IIf for konditionale eksamen og og for Konkatenierung). Sannsynligvis ville det fungerer imidlertid også uten ApplyAgg funksjon, med Microstrategy funksjonene HVIS og concat. Logisk måte skal generere imidlertid Microstrategy i dette tilfellet en svært lik Query.

Her er Skjermbilde av en rapport, som bruker Metric bit-kart Salg> 100 i The last 5 Måneder:

Final Report

Den originale artikkelen i tysk språk kan leses her.

Løsning for ikke kunne legge til tabeller i galleri Catalog

Utgivelsesdato: Ikke i stand til å legge til tabeller / utsikt til skjema i galleriet Catalog

Feil: 'En feil oppstod tabell (er) til skjemaet. Denne nøkkelen er allerede tilknyttet et element av denne samlingen '

Løsning i MSTR 9:

1) Åpne "Arkitekt"

2) Høyreklikk på tabellen <tabellnavn>

3) Legg til prosjektet

4) når det ble lagt, Høyre tabellen i venstre rute og oppdatere struktur

5) Lagre og lukk (det vil be om oppdatering av skjema, så gjør det samme

6) Nå åpner galleri Produktkatalog

7) kan du se tabell / view lagt til skjema

Object Tracking Tool - med enkelte oppdateringer

Etter lange gapet oppslaget 'Object Tracking Tool' med noen oppdateringer.

1) Verktøyet testet i systemet der jeg-Server er installert (ikke fikk en sjanse til å teste uten I-Server)

2) Testet i XP, 2003, Vista, 7

3) For dem testing ved bruk av opplæring; objektet ID for enkelte objekter kan se ut samme ... men faktisk det er en rekke differansen mellom hver ID. Ikke anta at gjenta samme ID.

4) Alle forslag / kommentarer er velkomne

Merk: Snart verktøyet vil bli integrert med andre verktøy også.

Last ned verktøyet her.

Merk: Dette programmet er forutsatt "as is" og jeg fraskriver seg ethvert ansvar, enten uttrykkelig eller underforstått, med hensyn til alle elementer som tilbys, herunder alle garantier om salgbarhet, egnethet for et bestemt formål, nøyaktighet, systemintegrasjon, tittel, tilfredsstillende kvalitet og non-infringement. Jeg garanterer ikke at bruken av de oppgitte elementer eller noen del av dette vil være uavbrutt eller feilfritt, eller at den angitte elementer eller noen del derav vil tilfredsstille alle behov eller krav om rettighetshaver.

Interessante Metadata problem

I MSTR 9, det er en ny funksjon kalt Multisource hvor brukeren kan koble flere DB forekomst.

Vi brukte den samme, og på grunn av ny lisens modellen vi er tvunget til å bytte tilbake til enkelt DB forekomst. Så vi pekte alle DB eksempel til samme ODBC-tilkobling (logisk sin en DB-tilkobling)

Problem: Selv om alle DB eksempel peker til samme ODBC, MSTR tanke på at for eksempel flere DB forekomst. Så da bruker uten Multisource lisens logikk å MSTR og prøve å kjøre en rapport, kaster det en feilmelding som sier at "dette er krever multisource lisens. Interessante ting er tabellene for rapporten kommer fra én DB forekomst.

Løsning: Det er blitt kritisk problem under SIT skyldes kundens lisens endringer ... bla .... Blah.

Tok litt risiko mulighet og det er den eneste løsningen ... Skiftende DB Instance for alle attributtene i Metadata tabeller. (Alternative alternativ, redigere alle attributter og endre tabellen peker til én DB forekomst som er enorm oppgave - [400 attributter].

Har noen analyse på MD tabeller, relasjoner, osv. ... Jeg har forandret alt DB eksempel 32 bit ID til én DB eksempel 32 bit ID (må være svært forsiktig under sletting av rader, endring kolonnen verdiene i Metadata DB.

Jeg er fortsatt gjør dokumentasjon om endring av DB eksempel i Metadata direkte og sammen med at planleggingen for å dokumentere eller nye verktøy for å «finne og erstatte objekt i enhver definisjon.

Hvis noen kommer krysse denne type problemstillinger som "Objekt-ID kan ikke funnet ', og også problemer som SCANMD, DOCTOR MD ikke klarer å løse, Vil prøve å hjelpe deg å fikse det samme.

Snart vil legge dokumentet og verktøy for samme ... ...