www.artofit.se 2010-10-27 2
Kursensmål
• Business Objects Universe
– Best Practice
– Checklista
• Varbergs Kommun:s Universe
– Arbetsprocess
– Förbättringsåtgärder
3.
www.artofit.se 2010-10-27 3
Vadär ett Universe?
• Ett semantiskt lager som innehåller metadata (data om data)
• Översätter komplexiteten hos en databas till verksamhets-vänliga
termer för slutanvändare
• Tillåter omvandling av SQL-generering
• Tillåter manipulering av data baserad på metadata och på den tillagda
versamhets logiken i Univeret
4.
www.artofit.se 2010-10-27 4
Syftemed Universe?
IT
• Ersätta standardrapporter ifrån verksamhetssystem
• Inga fler skräddarsydda rapporter
• Göra tillgängligt för användare
Verksamhetsmål
• Bättre uppföljning av verksamheten
• Totalgrepp om verksamheten
• Enhetsmål som effektivitet, förre dagar för fakturoe
5.
www.artofit.se 2010-10-27 5
Varförmål med Universe?
• Fokusera på verksamheten istället för tekniken
• Erbjuda fler specialinriktade universe
• Lättare att marknadsföra BO användning
• Förbättrar avkasining:
• Enligt IDC förbättras ROI när BI implementeras tilsammans med
förbättrade verksamhetsprocesser
6.
www.artofit.se 2010-10-27 6
Förståmålen
• Verksamhetens uppdrag
• Verksamhetens intranet
• Prata med verksamhetens projektledare
• Vilken data använder du?
• Hur mäter du era framsteg?
• Titta på verksmahetsplaner för varje avdelning
But I’m just the
universe
designer …
7.
www.artofit.se 2010-10-27 7
Användareav Universe
• It-personal
• IT utvecklar skräddarsydda rapporter
• Analytiker
• Rapportbyggare utvecklar majoriteten av rapporterna för
verksamheten
• Adhoc frågor av ett fåtal superanvändare
• Vanliga användare
• Reapportanvändare modifierar standard rapporter
Kultur, verksamhetsmål, IT-relation, datorer och data läs och
skrivförmåga avgör vilka som använder universet
8.
www.artofit.se 2010-10-27 8
Användaredriver utvecklingen
It-personal
Analytiker 0ch
Vanliga användare
•Stora, komplexa
univera kan vara ok
•Mindre universe
•Objekt beskrivningar
•Skräddarsydda
värdelistor
•Objekt använder set
www.artofit.se 2010-10-27 10
Störreuniverse
Förelar
• Ett universe att underhålla
• En förekomst av vanliga
objekt
Nackdelar
• Överväldfigande för de flesta
användare
• Inkompatibla objekt
• Många liknande objekt med
utydligt skillnad
• Möjlighet till inkorrekt
frågeresultat
• Många kontext
• Central universe designer
• Minskad
uppdateringsfrekvenk
11.
www.artofit.se 2010-10-27 11
Fokuseradeuniverse
Förelar
• Lättare att bygga rapporter
• Objektanvändning tydlkig
• Korrekt frågeresultat
• Desentarliserad
universeunderhåll
• Enklare universe att
underhålla
Nackdelar
• Tidskrävande länkning av
universe
• Många universe att
underhålla
• Flera förekomster av vanliga
objekt – värdelistor och
underhåll
Tips: Länkade univers kan förättra
sammanhanget och hjälpa att minska
underhållsansträngningen
www.artofit.se 2010-10-27 14
Universe:
Vadtillåter det dig att göra
• Enkel, intuitiv data analys
• Skapande av rapporter om använder verksamhetsbegrepp istället för
SQL
• Återanvändning av verksamhetslogik
• Automatisk rapport drillning (genom definerade hierarkier)
• Synkronisering av flera data providers
www.artofit.se 2010-10-27 16
7principer för Universe Design
1. Rättvis användning: Designen är användbar och marknadsföringsbar
till användare med olika kunskaper
2. Flexibelt att använda: Designen anpassar sig till ett stort område av
individuella krav och kunskaper.
3. Enkelt och Intuitivt: Användningen av designen är lätt att förstå,
oberoende av användarnas erfarenhet, kunskap, språkkunskaper
eller nuvarande inriktningsnivå
4. Perceptiv Information: Designen kommunicerar nödvändig
information effektivt till användaren, oberoende av omgivande
förhållande eller användarens känsla.
5. Tolerant för fel: Designen minimerar risk och felaktiga konsekvenser
av olyckliga eller oavsiktliga handlingar.
6. Låg psykisk anträngning: Designen kan användas, praktiskt, och med
ett minimum av utmattning
7. Storlek och utrymme för tillträde: Lämplig storlek och utrymme för
tillgång
Arkitekturella principer gäller även för Univere design!
17.
www.artofit.se 2010-10-27 17
Anslutningar
Användleverantörsspecifika anslutningar
• Använd alltid leverantörsspecifika anslutningar där det är möjligt.
Undvik att använda generella drivrutiner, tex. ODBC för Oracle. Du får
alltid bettre prestanda och fler parametrar när du använder
leverantörernas egna drivrutiner.
Undvik ODBC
• När du ansluter till Microsoft SQL Server databaser använd en OLEDB
anslutning hellre än en ODBC –anslutning. Nslutningen är snabbare.
OLEDB anslutningar lagrar deras parametrar i anslutnings
definitionen, medan en ODBC anslutning refererar till fördefinerade
ODBC anslutnings namn som måste defineras på varje PC och server.
18.
www.artofit.se 2010-10-27 18
Universeutveckling
• De första 3 stegen: Dataanalys, Användarkrav och Design är de
viktagaste stegen i design av ett lyckat Universe. Användare skall vara
inblandade i stora delar av utvecklingen. Använd sakkunninga
personer.
• Man uppskattar att ca 80% av tiden som avsatts för utveckling av ett
Universe skall spenderas på de första 3 stegen.
• Om detta är grundligt gjort kommer implementationen och
underhållet att bli snabbt och lätt.
19.
www.artofit.se 2010-10-27 19
Läggatill Tabeller & kopplingar
Bygg ditt universe bit-för-bit
• Lägg till en tabell i taget, på så vis blir det förståeligt
• Använd inte Guiden Snabbdesign. Genom att använda denna wizard
kommer ett universe du inte förstår att byggas
• Ta en tabell i taget, koppla, bestäm kardinalitet etc.
20.
www.artofit.se 2010-10-27 20
Klasseroch Subklasser
Klasser
• Varje klass skall ha ett unikt namn
och en ändamålsenlig
verksamhetsbeskrivning.
Subklasser
• Försök inte nästla subklasser för
djupt – minska navigeringen och
användningen
• Men, överväg att organisera
subklasser så att användare inte
behöver scrolla ner i frågepanelen
när de öppnar en klass.
21.
www.artofit.se 2010-10-27 21
Objekt
Objekt
•Alla objekt skall ha ett enikt namn och ha en ändamålsenlig verksamhets
beskrivning
• Konsekventa namngivningsregler – verksamhetsnära
• Överväg hur långt namnet er ut i frågepanelen och hur lätt det är att hitta det i
listan.
• Om det finns behov att ha mer än ett av ”samma” objekt som ”År”, ge det ett
mer beskrivande namn tex. ”Order År”; ”Leverans År”
• Använd tydliga, intuitiva begrepp
• Beskrivningsövervägande:
o Beskriv objekt i versamhetstermer
o Beskriv SQL:en
o Beskriv föreslagen användning
o Beskriv vilken inmatningsbild det kommer ifrån
o Ge exempel på format, tex.: FY07-08
22.
www.artofit.se 2010-10-27 22
Objekt– fokusera på målen
• Inkludera mål i Universe
Parametrar eller InfoView:s
startsida
• Bygg objekt som stödjer målen:
• Låt inte datalagret vara en
begränsning
• Dagar Försenad, #On-time
Ordrar
• Bygg rapporter för att mäta
framsteg
www.artofit.se 2010-10-27 24
Definieraobjekt
Namngivning av objekt och klasser
• Använd verksamhetsbegrepp vid namngivning
• Kom-i-håg: du försöker skapar för icke-tekniska användare som skall
bygga sina egna rapporter
Använd objekt-formattering
• När det finns ett behov att formattera ett objekt på samma sätt varje
gång det används.
25.
www.artofit.se 2010-10-27 25
Definieraobjekt forts.
Använd komplexa objekt
• Slå-i-hop beskrivningar
• Översätt koder
• Bygg gemensamma beräkningar i universet varje gång det är möjligt
• Bygg in logik i dina objekt
Använd villkorsobjekt
• Användare tycker inte om att bygga villkor i frågan
Definiera mätobjekt korrekt
• Varje numerisk värde är inte ett mätvärde!
26.
www.artofit.se 2010-10-27 26
Tips1: Undvik WHERE-satser
Problem: Hur separeras kreditfakturor från andra fakturor till 2 separata
objekt?
27.
www.artofit.se 2010-10-27 27
UndvikWHERE-satser forts.
2 Objekt: USA Sales och Germany Sales
Vad händer om användaren drar båda objekten till en fråga?
WHERE sales.country = ‘USA’ AND sales.country =
‘Germany’
www.artofit.se 2010-10-27 31
Värdelistorforts.
Skapa värdelistor för objekt som har:
• Relativt statiska unika värden
• Få – överkomligt antal av unika värden, tex. Upp till 100 värden
För objekt med fler värden, överväg en skräddarsydd värdelista med
promptade/hierarkiska värdelistor
• Kontrollera att ”Export med universum” är i kryssad för
skräddarsydda värdelistor
Men, för att snabba upp Rapport utvecklingstiden, överväg att ta bort
värdelistor för:
• Mätvärden (default)
• Datum
• Meningslösa värden – ID:en, perioder, Y/N indikatorer etc.
www.artofit.se 2010-10-27 34
Objektformatteringforts.
Format
• Valuta för belopp. Överväg om ören skall vara med eller inte
• Antal: som #,##0 och inga decimaler.
• Datum: formattera utan timestamp
• ID:en: ange 0 fr objekt av numerisk typ där objektet skall visa heltal, tex.
Kostnadställe eller kundID värden.
www.artofit.se 2010-10-27 36
Tips3: Använd aggregering i
alla mätobjekt
SELECT invoices.amount vs. SELECT sum(inovoices.amount)
Använd alltid aggregering i ett mätvärde. Varför?
• Mätvärden är av definition aggregerade.
• Fastän WebIntellingence aggregerar mätobjekt lokalt är databasen mycket
kraftfullare.
• Om objektet inte innehåller en SQL-aggregerings funktion som SUM i dess
SELECT sats, kommer inte en GROUP BY genereras
37.
www.artofit.se 2010-10-27 37
Skräddarsyobjekt
Överväg att skapa gemensamma rapportkrav som:
• MTD, QTD och YTD mätvärden
• Innevarande och Föregående Period mätvärden
• Innevarande Period och Samma Period Föregående år mätvärden
38.
www.artofit.se 2010-10-27 38
Datum
Övervägatt införa en Datumtabell i varje universe
• Alias och använd igen och igen
• Faktiskt datum som kan länkas till andra datum
• Skapa en uppsättning datumobjekt
• Idag
• Imorgon
• Denna månaden
• Förra månaden
• Idag minus 10 dagar
• Första dagen i månaden
• Sista dagen i månaden
39.
www.artofit.se 2010-10-27 39
Tips4: Använd relativa datum
• Användare tycker inte
om att fylla i datum
varje gång de kör en
rapport
• Schemaläggning kan bli
komplicerat
www.artofit.se 2010-10-27 41
Relativadatum forts.
SELECT 'Last 7 Days' AS Date_Range,
CONVERT(smalldatetime, { fn curDATE() }) - 6 AS
Begin_Date,
CONVERT(smalldatetime, { fn curDATE() }) AS
End_Date
FROM dbo.syscolumns
•Actual
42.
www.artofit.se 2010-10-27 42
Villkor
Skapaså många villkorsobjekt som är nödvändigt – det skall vara
undantag att användaren skall bygga ett villkor manuellt
• Interaktiva filter kommer att använda promptfunktionen som att
användaren matade in information, tex. ”Vilket år?”.
• Statiska filter kommer att användas som en begränsning utan ågon
synlig interaktion, tex. ”Innevarande år”.
43.
www.artofit.se 2010-10-27 43
Villkorforts.
Använd fördefinerade villkor istället för att använda WHERE-satsen på
objekt
Överväg promptade fördefinerade villkor istället fö multipla
fördefinerade villkor… inkludera ett ”Alla” -val
44.
www.artofit.se 2010-10-27 44
Villkorforts.
Ange bra beskrivningar för varje fördefinerat villkor.
Om villkor resulterar i en prompt, kontrollera att associerat
dimensionsobjekt har en värdelista
www.artofit.se 2010-10-27 50
Aliastabeller
• Aliastabeller skall
namnges med ett
passande funktionell
användning
• Överväg att lägga
”föräldrarlösa”
Aliastabeller överst i
strukturpanelen och
märka de för lättare
underhåll
www.artofit.se 2010-10-27 56
Undvikautomatiska val
Undvik de flesta automatiska val
• Extrahera kopplingar med tabeller
• Identifiera kardinalitet i kopplingar
• Skapa standardklasser och –objekt
från tabeller
57.
www.artofit.se 2010-10-27 57
Parameterangivelse
Överväg att modifiera dessa universeparametrar
• Slå på automatisk sortering av värdelistor
• Slå på ANSI92 SQL – Flyttarjoins från FROM-satsen, vilket kan minska
kvantiteten data som skickas av databasen
58.
www.artofit.se 2010-10-27 58
Tabellradräkning
Visa tabells radräkning
• Om data saknas från en specifik tabeller så är det lätt att se
• Om du använder valideringsverktyg (som Check Integrity) behöver det
radräkningen för att kontrollera kardinaliteten på joinen
59.
www.artofit.se 2010-10-27 59
Antalrader i en tabell
Antal rader i en tabell - Frågeoptimering
• Höger-klicka på bakgrundsfönstret för att visa storleken på tabellerna i din
struktur
• Denna information används av BO fa. sortera flera joins i frågor, från högsta
antal rader begränsande radantal 8stora tabeller) till lägsta begränsade
radantal (små tabeller)
• Modifiera manuellt att tvinga BO att skräddarsy ordningen på joins i WHERE-
satsen. Prata med DBA för att bestämma bästa ordning.
www.artofit.se 2010-10-27 61
Fokuseratsyfte
Ett univere skall vara ett fokuserat verksamhetsorienterad data representation
definerad för en specifik grupp av användare.
62.
www.artofit.se 2010-10-27 62
Hämtadata effektivt
• BO fungerar med antingen en normaliserad transaktionsdatabas eller ett
datalager ”Stjärna”. Som med alla frågesystem fungerar det bäst med
stjärnor
• Om en rapport tar för lång tid att köra, överväg att bygga ett datalager
63.
www.artofit.se 2010-10-27 63
Samarbetamed din DBA
En DBA kan en del tricks för att optimera dina frågor
• Query Analyzer: talar om hur lång tid din fråga tar och peka ut var du behöver
index
• Index: tillhandahåller snabba pekare till specifik data för snabbare slagning på
vanligt använda objekt
• Partitionering: arkiverad data används inte lika ofta som aktuell data.
Partitionering av tabeller tillåter dig att söka endast i senaste data för
snabbare svar, men tillåter även tillgång till arkiverad data
En DBA är din bästa vän!
www.artofit.se 2010-10-27 65
7principer för Universe Design
1. Solidariskt
2. Flexibelt
3. Enkelt och intuitivt
4. Perceptiv information
5. Feltolerant
6. Låg psykisk ansträngning
7. Storlek och utrymme för tillvägagångssätt och användning
66.
www.artofit.se 2010-10-27 66
Slutsats
•Universet är ett kraftfult semantiskt lager som översätter databaser
till versksamhetsvänliga begrepp.
• Det är kärnan till allaBusiness Objects Information och Leverans
verktyg
• Tid skall läggas på att bygga dessa korrekt enligt best practises
• Leverera kraften av ett Universe för att bygga komplexa objekt som
förenklar användar upplevelsen allt mer