www.artofit.se 12010-10-27
Business Ojects Universe
Malin Johansson
malin@artofit.se
0735-11 12 12
www.artofit.se 2010-10-27 2
Kursens mål
• Business Objects Universe
– Best Practice
– Checklista
• Varbergs Kommun:s Universe
– Arbetsprocess
– Förbättringsåtgärder
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
www.artofit.se 2010-10-27 4
Syfte med 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
www.artofit.se 2010-10-27 5
Varför må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
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 …
www.artofit.se 2010-10-27 7
Användare av 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
www.artofit.se 2010-10-27 8
Användare driver 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 9
•Sales
• Fact
•Orders
• Fact
•Salary
•Fact
•Human Resources
•Customer Service
•Marketing
•Universe•Universe
Användargrupper
www.artofit.se 2010-10-27 10
Större universe
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
www.artofit.se 2010-10-27 11
Fokuserade universe
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 12
Nödvändig balansering
Underhåll Användarvänlig
het
www.artofit.se 2010-10-27 13
Universe utveckling
Följ en iterativ process…
www.artofit.se 2010-10-27 14
Universe:
Vad tillå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 15
Universe:
Var kan du använda det?
www.artofit.se 2010-10-27 16
7 principer 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!
www.artofit.se 2010-10-27 17
Anslutningar
Använd leverantö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.
www.artofit.se 2010-10-27 18
Universe utveckling
• 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.
www.artofit.se 2010-10-27 19
Lägga till 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.
www.artofit.se 2010-10-27 20
Klasser och 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.
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
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 23
Objekt exempel
www.artofit.se 2010-10-27 24
Definiera objekt
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.
www.artofit.se 2010-10-27 25
Definiera objekt 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!
www.artofit.se 2010-10-27 26
Tips 1: Undvik WHERE-satser
Problem: Hur separeras kreditfakturor från andra fakturor till 2 separata
objekt?
www.artofit.se 2010-10-27 27
Undvik WHERE-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 28
Använd CASE-satser istället
www.artofit.se 2010-10-27 29
CASE-sats
www.artofit.se 2010-10-27 30
Tips 2: Skapa egna
värdelistorVilket är bäst?
eller
www.artofit.se 2010-10-27 31
Värdelistor forts.
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 32
Skapa egna värdelistor demo
www.artofit.se 2010-10-27 33
Objektformattering
Sätt ett default format på objektet
• Ex. ”Antal” skall inte ha några decimaler
Högerklicka på
Objektnamnet!
www.artofit.se 2010-10-27 34
Objektformattering forts.
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 35
Objektformattering forts.
Formattering dessa 3 objekt sparar en användare ca 15 klick
www.artofit.se 2010-10-27 36
Tips 3: 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
www.artofit.se 2010-10-27 37
Skräddarsy objekt
Ö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
www.artofit.se 2010-10-27 38
Datum
Överväg att 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
www.artofit.se 2010-10-27 39
Tips 4: 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 40
Relativa datum forts.
Vilket är mest användarvänligt
www.artofit.se 2010-10-27 41
Relativa datum 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
www.artofit.se 2010-10-27 42
Villkor
Skapa så 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”.
www.artofit.se 2010-10-27 43
Villkor forts.
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
www.artofit.se 2010-10-27 44
Villkor forts.
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 45
Tips 6: Använd dynamisk HTML
i objekt
www.artofit.se 2010-10-27 46
Dynamisk HTML demo
www.artofit.se 2010-10-27 47
Loopar
Definition:
• Mer än en ”väg” för
SQL-frågan
Problem:
• Business Objects
kommer inte att veta
vilken ”väg” den skall
välja
www.artofit.se 2010-10-27 48
Lösa loopar 1
3 möjliga lösningar:
• Tabort en join
www.artofit.se 2010-10-27 49
Lösa loopar 2
3 möjliga lösningar:
• Tabort en join
• Lägg till en aliastabell
www.artofit.se 2010-10-27 50
Alias tabeller
• 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 51
Lösa loopar 3
3 möjliga lösningar:
• Tabort en join
• Lägg till en aliastabell
• Lägg till en kontext
www.artofit.se 2010-10-27 52
Lösa loopar 3 forts.
3 möjliga lösningar:
• Tabort en join
• Lägg till en aliastabell
• Lägg till en kontext
www.artofit.se 2010-10-27 53
Strukturpanel
• Lägg till etiketter till
strukturen i stora
universe för
lättare/snabbare analys
och underhåll
www.artofit.se 2010-10-27 54
Feltolerant
• Förstå fan & chasm fällor från utbildning och användarmanualen. Lär di
att upptäcka och lösa dem…
Chasm
Fan
www.artofit.se 2010-10-27 55
Var inte rädd att använda
Context
www.artofit.se 2010-10-27 56
Undvik automatiska val
Undvik de flesta automatiska val
• Extrahera kopplingar med tabeller
• Identifiera kardinalitet i kopplingar
• Skapa standardklasser och –objekt
från tabeller
www.artofit.se 2010-10-27 57
Parameter angivelse
Ö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
www.artofit.se 2010-10-27 58
Tabell radrä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
www.artofit.se 2010-10-27 59
Antal rader 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 60
Målgrupp?
www.artofit.se 2010-10-27 61
Fokuserat syfte
Ett univere skall vara ett fokuserat verksamhetsorienterad data representation
definerad för en specifik grupp av användare.
www.artofit.se 2010-10-27 62
Hämta data 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
www.artofit.se 2010-10-27 63
Samarbeta med 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 64
Kontrollera ditt arbete!
Spara dig problem – gör ALLTID en ”Validitetskontroll” innan du exporterar
universet
www.artofit.se 2010-10-27 65
7 principer 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
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
www.artofit.se 2010-10-27 67
www.artofit.se 2010-10-27 68
FRÅGOR ?

BO universe

  • 1.
    www.artofit.se 12010-10-27 Business OjectsUniverse Malin Johansson malin@artofit.se 0735-11 12 12
  • 2.
    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
  • 9.
    www.artofit.se 2010-10-27 9 •Sales •Fact •Orders • Fact •Salary •Fact •Human Resources •Customer Service •Marketing •Universe•Universe Användargrupper
  • 10.
    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
  • 12.
    www.artofit.se 2010-10-27 12 Nödvändigbalansering Underhåll Användarvänlig het
  • 13.
    www.artofit.se 2010-10-27 13 Universeutveckling Följ en iterativ process…
  • 14.
    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
  • 15.
  • 16.
    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
  • 23.
  • 24.
    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’
  • 28.
  • 29.
  • 30.
    www.artofit.se 2010-10-27 30 Tips2: Skapa egna värdelistorVilket är bäst? eller
  • 31.
    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.
  • 32.
    www.artofit.se 2010-10-27 32 Skapaegna värdelistor demo
  • 33.
    www.artofit.se 2010-10-27 33 Objektformattering Sättett default format på objektet • Ex. ”Antal” skall inte ha några decimaler Högerklicka på Objektnamnet!
  • 34.
    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.
  • 35.
    www.artofit.se 2010-10-27 35 Objektformatteringforts. Formattering dessa 3 objekt sparar en användare ca 15 klick
  • 36.
    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
  • 40.
    www.artofit.se 2010-10-27 40 Relativadatum forts. Vilket är mest användarvänligt
  • 41.
    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
  • 45.
    www.artofit.se 2010-10-27 45 Tips6: Använd dynamisk HTML i objekt
  • 46.
  • 47.
    www.artofit.se 2010-10-27 47 Loopar Definition: •Mer än en ”väg” för SQL-frågan Problem: • Business Objects kommer inte att veta vilken ”väg” den skall välja
  • 48.
    www.artofit.se 2010-10-27 48 Lösaloopar 1 3 möjliga lösningar: • Tabort en join
  • 49.
    www.artofit.se 2010-10-27 49 Lösaloopar 2 3 möjliga lösningar: • Tabort en join • Lägg till en aliastabell
  • 50.
    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
  • 51.
    www.artofit.se 2010-10-27 51 Lösaloopar 3 3 möjliga lösningar: • Tabort en join • Lägg till en aliastabell • Lägg till en kontext
  • 52.
    www.artofit.se 2010-10-27 52 Lösaloopar 3 forts. 3 möjliga lösningar: • Tabort en join • Lägg till en aliastabell • Lägg till en kontext
  • 53.
    www.artofit.se 2010-10-27 53 Strukturpanel •Lägg till etiketter till strukturen i stora universe för lättare/snabbare analys och underhåll
  • 54.
    www.artofit.se 2010-10-27 54 Feltolerant •Förstå fan & chasm fällor från utbildning och användarmanualen. Lär di att upptäcka och lösa dem… Chasm Fan
  • 55.
    www.artofit.se 2010-10-27 55 Varinte rädd att använda Context
  • 56.
    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.
  • 60.
  • 61.
    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!
  • 64.
    www.artofit.se 2010-10-27 64 Kontrolleraditt arbete! Spara dig problem – gör ALLTID en ”Validitetskontroll” innan du exporterar universet
  • 65.
    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
  • 67.
  • 68.