Avatar billede komputerdk Mester
26. oktober 2015 - 18:07 Der er 5 kommentarer og
1 løsning

Analysis services - cube mangler dimensioner

Hi

jeg skal have en del data over i Excel pivottabel (2007) og jeg har en SQL server 2008 - men det driller :(

jeg har en tabel med:

ID
Arbejdsdato m. klokkeslet
Produkt
Mængde
Tidsforbrug
Forretningsenhed (alle org. felter har et tilsvarende navnefelt)
Område
fabrik
Afdeling
team

Jeg har lavet tre tabeller af denne,

Dim_tid
Arbejdsdato m. klokkeslet
arbejdsdato (kun dato)
arbejdsmåned
arbejdsuge

dim_org
Forretningsenhed
Område
fabrik
Afdeling
team

measures_fact
ID
Arbejdsdato m. klokkeslet
Produkt
Mængde
Tidsforbrug
Forretningsenhed
Område
fabrik
Afdeling
team



men i BI developer når jeg laver kuben (er noob) så laver den godt nok data, men når jeg laver linket fra excel pivot, så er der kun 1 dimension pr. dimensionstabel.

Nogen tips - det burde jo være lige til med en tidsdimension, en organisationsdimension og så en measure tabel..


TAAAK
Avatar billede Slettet bruger
26. oktober 2015 - 19:51 #1
Er dine Arbejdsdato m klokkeslet unik? og er din forretningsenhed unik?

Normalt linker man facttabeller og dimensioner med surrogatnøgler
Avatar billede komputerdk Mester
26. oktober 2015 - 22:45 #2
Jeg tror at jeg er kommet et skridt nærmere, da jeg ikke havde bygget hierarkiet i dimensionen (og så har rettet  blanke felter til i dimensionerne).

Nu skal jeg nok have lavet en produktdimension og set om man kan optimere hastigheden... Skal der være primære nøgler. / indeks i tabellerne (kuben skal kun dannes manuelt)
Avatar billede Slettet bruger
27. oktober 2015 - 09:05 #3
Hvis du har en Primærnøgle på din dimension vil den automatisk lave en clustered index, så ja det er en fordel.


Hvis du har nogle where betingelser kan du alternativ lave et non clustered index ved siden af med include af dine where kolonner
Avatar billede Slettet bruger
27. oktober 2015 - 09:14 #4
Hvis jeg  var dig. Ville jeg lave en surrogatnøgle i hver dimension (Indetity(1,1) som ID

Når jeg laver min fact så vil jeg

left joine dimensionerne på igennem Businesskeys (Arbejdsdato og Forretningsenhed) Men returnerer IDerne


Svært at skrive men lidt ala.

Dim_tid
TidID Identity(1,1)
Arbejdsdato m. klokkeslet
arbejdsdato (kun dato)
arbejdsmåned
arbejdsuge

dim_org
ForretningsenhedID identity(1,1)
Forretningsenhed
Område
fabrik
Afdeling
team

measures_fact
TidID,
ForretningsenhedID
Produkt (Forventer en produktdimension) Den skal også have et ID
Mængde
Tidsforbrug
--Der er ingen grund til at have de atributter med som du har i din dimension, da du alligevel linker dem sammen gennem IDet i kuben


Joinet vil se nogenlunde sådna her ud

Select  Mængde,Tidsforbrug,ISNULL(T.TidID,'-1') as TidID,ISNULL(F.ForretningsenhedID,'Ukendt') as ForretningsEnhedID

From Measures_fact a
Left join DimTid  T on a.Arbejdsdato = t.ArbejdsDato
Left join DimForretningsenhed F on a.Forretningsenhed = F.Forretningsenhed

ISNULL kan erstattes af noget som også håndtere blanke (kender ikke dit datagrundlag)

Håber du kan følge mig.
Avatar billede komputerdk Mester
07. december 2015 - 07:03 #5
Jeg endte med at lave mit data med at putte overliggende afdeling ind på de blanke felter i mit org. Hierarki.

Så nu spiller det , da jeg fik lavet dimensionerne i bids :)

Tak for hjælpen

Plaiddk svar til point?
Avatar billede komputerdk Mester
06. marts 2016 - 08:09 #6
Luk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester