Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

SQL2005 SSAS tijd-dimensies

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Het volgende is mijn probleem;

(sql 2000)
Databases: Prod
Tabel: dbo.Klant
Attribuut: Stopdatum (null)

(sql 2005)
Database: ProdDW
Tabel: dbo.Time
Attribuut: PK_date (not null)

In SSAS heb ik een Cube gebouwd met als datasource: Prod en ProdDW
Ook heb ik een tijd dimensie gemaakt in een andere cube die de tabel heeft (aangemaakt) geplaatst in de ProdDW

De cube heeft een datasourceview met verschillende tabellen uit Prod. De feittabel is Klant en de dimensie is tijd. Het doel is er achter te komen hoeveel klanten gestopt zijn een klant te zijn (per jaar, maand). In de sourceview is een nieuwe relatiegemaakt van de klanttabel met de tijdtabel door de stopdatum te linken aan de PK_date. Dit is geen probleem. Als de tijd dimensie in de cube wordt aangemaakt, levert dat geen probleem op en de tijd dimensie bestaat. Als ik die wil linken in aan de cube door add cube dimension te kiezen lukt dat ook nog alleen bij het processen gaat het fout. Ik krijg de volgende errors: "Errors in the OLAP storage engine: The attribute key cannot be found: Table: dbo_Klant, Column: Stopdatum, Value: 1/30/2002 8:15:42 AM.
En:
Errors in the OLAP storage engine: The record was skipped because the attribute key was not found. Attribute: PK Date of Dimension: Time from Database: Productieopzet, Cube: prod3, Measure Group: Klant, Partition: Klant, Record: 6.

Ik heb geprobeerd om named calculations te maken om de data te converteren naar een ander formaat (de server kent waarschijnlijk 1/30/2002 8:15:42 AM niet en werkt met een andere tijd code). Dit heeft alleen geen andere uitwerking. Ik heb ook al vele websites m.b.t. dimensies, cube ontwerp en datatypes bezocht en heb onder tussen al een behoorlijk boeken collectie, maar ik vindt geen soort gelijk probleem. Als ik in de tabellen kijk van PK_date en Stopdatum dan ziet het er precies hetzelfde uit incl tijdcodes.

Waarschijnlijk zie ik dus iets over het hoofd, ik ben namelijk niet een databaseontwerper van nature en op dit gebied dus een newbie.

Ik hoop dat iemand mij verder kan helpen.

B.v.d. :)

p.s. Ik heb de tabel namen etc aangepast om niet de echte bedrijfsgegevens te gebruiken.

Verwijderd

Topicstarter
Ik dacht eerst dat het een convert probleem was. Ik wilde namelijk een named calculation maken die de tijd verwijderde van de stopdatum. De convert werkte prima, alleen toch kreeg ik die errors. Na vele formules geprobeert te hebben blijkt dat de database die aangemaakt was een verkeerde collation language had. Een simpele alter database naar de juiste taal heeft wonderen verricht.

Voor de gene die geintereseerd zijn in hoe je dat doet:

ALTER DATABASE <<database_naam>> COLLATE <<language>>
GO

De collation language kun je hier vinden:
http://msdn.microsoft.com/en-us/library/aa258233.aspx


Opgelost dus!

Bedankt! :)