Använda en omvandling för att beräkna 5 senaste värden inom en SQL-fråga
25 december
Här är en av mina senaste intressanta uppgifter:
Beräkna vissa mått bara för de objekt som är i hög efterfrågan. Ett objekt är "en stor efterfrågan", om dess försäljningen var högre än den ständiga X i varje av de senaste 5 månader (inbegripet innevarande månad).
Lösning
Första inställningen igen av uppgifter:
En artikel A som gäller under M som en artikel med stora efterfrågan, om dess Abverkäufe i alla de senaste 5 månader (inbegripet innevarande månad) var större en fast konstant X (t.ex. var X = 100). Vi vill hitta och i en rapport utgör så effektivt som möjligt alla att en sådan kombination A och M (som vi vid behov än en Metric filter för att använda senare för att kunna).
Här är min lösning är att använda endast en omvandling. Jag ser fördelen med denna lösning i det faktum att endast en gång i allmänhet mycket stora faktiskt lägger fram en åtkomst.
För alla exempel jag kommer att använda enligt standard installeras projektet i min blogg Microstrategy Tutorial. Därför kan du mina exempel kopiera enkelt och prova. Dessutom är det möjligt att jämföra olika lösningar på ett problem direkt.
Som jag redan svikit, använder jag en förändring i min lösning. Därför en Transformations syfte måste definieras som den första. Datakällan för projektet "Microstrategy Tutorial" är en Access-databas TUTORIAL_DATA_7200.mdb.
Vi lägger på följande View:
VÄLJ t1.MONTH_ID, t2.MONTH_ID AS PREV_MONTH_ID, DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE) AS MONTH_DIFF
FRÅN LU_MONTH AS T1, LU_MONTH AS t2
WHERE (((DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE)) mellan 0 och 4))
ORDER BY t1.MONTH_ID, t2.MONTH_ID;
VB-funktion DateDiff levererar här det antal hela månader, som ligger mellan de överlämnade datumvärden. Utgifterna för View ser då om på ett sådant sätt:
Vi utse Visa "MONTH_TO_5_LAST_MONTHS". Nu Se på lagret katalogen är importerad, varefter den nya logiska tabellen följande objekt definieras:
Transformation "5 belastning Months"
Attributet "Months Diff"

Dessutom attributet form Month @ ID ska förlängas automatiskt till fältet MONTH_ID den nya tabellen:
Nu vill vi bygga en Metrik, som "lite-karta med 5 siffror representerar" till formuläret *****. Varje asterisk motsvarar därmed en månad: den linkste asterisk hänvisar till den månad i den betraktas rapportraden, nästa asterisk med föregående månad (i förhållande till den betraktas rapportraden), etc.
I stället för varje asterisk vi vill ange anvisningen "X", om Abverkaufswert av artikeln var större i den betraktas rapportraden i asterisk position motsvarande månad 100. Annars kan vi visar i stället för asterisk indikationen till O.
Om alltså en artikel i månaden bit-kartan anges till 200.804 "OXXOO, det betyder att artikeln hade Abverkaufswerte endast under månaderna 200.803 och 200.802 fler i stort sett 100. Enligt definitionen från fastställande av uppgifter en sådan artikel skulle inte ha stora efterfrågan i månaden 200.804. "Endast de kombinationer av artiklar och månader motsvarar den stora efterfrågan, som bit-kartan beräknas.
Och här definitionen av Metriks är bit-map Försäljning> 100 i Belastningen 5 Månader:
De olika dimensionerna och Konditionalität av Metrik inte ändras. Endast transformation "5 load Months" tillskrivs Metrik.
Formeln för Metrik ser ut enligt följande:
ApplyAgg ( "max (IIF ((# 0 = 0 och # 1> 100), 'X', 'O')) & Max (IIF ((# 0 = 1 och # 1> 100)," X "," O)) & Max (IIF ((# 0 = 2 och # 1> 100), 'X', 'O')) & Max (IIF ((# 0 = 3 och # 1> 100), "X", 'O')) & Max (IIF ((# 0 = 4 och # 1> 100), "X", "O'))"; [Months Diff] @ ID; [sålda enheter])
På grund av funktionen ApplyAgg ett måste ange logiken i VisualBasic syntax (IIF för konditionale undersökning och & för Konkatenierung). Förmodligen det skulle fungera men också utan ApplyAgg funktion, med Microstrategy funktioner IF och Concat. Logiskt sätt bör generera dock Microstrategy i detta fall en väldigt liknande fråga.
Här är skärmdump av en rapport, som använder det metriska lite Sales karta> 100 i Belastningen 5 Månader:
Den ursprungliga artikeln i tyska språket kan läsas här.
Lösning inte går att lägga tabeller i Warehouse Catalog
18 december
Upplaga: Inte kunna lägga till tabeller / vyer till schemat i Warehouse Catalog
Fel: "Fel vid tillägg tabell (er) på schemat. Denna nyckel är redan kopplad till en del av denna samling "
Lösning MStr 9:
1) Öppna "Arkitekt",
2) Högerklicka på tabellen <table namn>
3) Lägg till projektet
4) en gång att den tillför, Right tabellen i vänstra panelen och uppdatera struktur
5) Spara och stäng (det kommer att begära Update Schema, så gör samma
6) Nu öppnar Warehouse Catalog
7) kan du se tabellen / view läggas till schema
Object Tracking Tool - med vissa uppdateringar
11 december
Efter lång gap utstationering "Object Tracking Tool" med några uppdateringar.
1) Verktyget testades i system där I-Server är installerad (inte fick en chans att prova utan I-Server)
2) Testad i XP, 2003, Vista, 7
3) För de testning med läraren; objektet ID för vissa objekt kanske ser ut som samma ... men egentligen finns det ett antal skillnader mellan varje ID. Utgå inte ifrån att den skall upprepa samma ID.
4) Alla förslag / kommentarer är välkomna
Anmärkning: Snart verktyget kommer att integreras med andra verktyg också.
Hämta verktyget här.
Obs: Det här programmet tillhandahålls i "befintligt skick" och jag lämnar inga garantier, vare sig uttryckliga eller underförstådda, med avseende på alla som objekt, inklusive alla garantier för säljbarhet, lämplighet för ett särskilt ändamål, korrekta, systemintegration, titel, tillfredsställande kvalitet och icke-överträdelse. Jag garanterar inte att använda den som poster eller någon del därav är avbrottsfri eller felfri eller att de tillhandahållna varor eller någon del av detta kommer att möta något behov eller krav på licensinnehavaren.
Intressant Metadata fråga
11 december
I MStr 9, finns en ny funktion som kallas Multisource där användaren kan ansluta flera DB instans.
Vi använde samma och tack vare ny licensmodell vi tvungna att byta tillbaka till samma DB instans. Så vi har samtliga BF exempel att samma ODBC-anslutning (logiskt att en DB connection)
Upplaga: Även om alla DB exempel som pekar på samma ODBC, MStr tanke på att så många DB instans. Så när användaren utan Multisource licens logga in på MStr och försöker köra en rapport, kastar ett misstag att säga att "detta är kräver multisource license". Intressanta är, tabeller för rapporten kommer från samma DB instans.
Lösning: Det har blivit en kritisk fråga under SIT grund av kundens licens förändringar ... bla .... Blah.
Tog lite risk alternativ och det är den enda lösningen ... Byta BF kansli för alla attribut i Metadata tabeller. (Alternate alternativ, redigera alla attribut och ändra tabellen pekar enda DB exempel där enorm uppgift - [400 attribut].
Gjorde en analys på MD tabeller, relationer, osv ... Jag har ändrat alla BF exempel 32-bitars ID enda BF exempel 32-bitars ID (måste vara mycket försiktig vid radering av rader, ändra kolumnvärden i Metadata DB.
Jag är fortfarande gör dokumentation om förändrade DB exempel på metadata direkt och tillsammans med att planera för att dokumentera eller nya verktyg för "" Sök och ersätt objekt i någon definition ".
Om någon kommit över denna typ av frågor som "Object ID kan inte hittas" och även frågor som SCANMD, läkare MD inte lyckats lösa, kommer att försöka hjälpa dig att fastställa samma.
Snart kommer att lägga upp dokument och verktyg för samma ... ...






























Recent Comments