SSAS: Calculated member wyliczany w oparciu o wymiar nie powiązany relacją

18-Kwi-2015

Problem: Mamy tabelę Variants, w której użytkownik może wpisać warianty liczników, które zostaną następnie użyte przy budowie kostki do zaprezentowania np. kilku wariantów przewidywanych miar.

Załóżmy, że tabela Variants ma następującą strukturę:

CREATE TABLE dbo.Variants
( VariantName NVARCHAR(30),
Factor Decimal(18,8))

INSERT dbo.Variants VALUES (‚50% increase’, 1.5), (‚20% increase’, 1.2), (‚no increase’,1)

Krok 1 – dodaj tabelę do Data Source View:

zauważ, że tabela nie ma relacji do pozostałych tabel

ssas01

Krok 2 – zdefiniuj wymiar:

zwróć uwagę na ukrycie kolumny Factor oraz zmiany w ValueMember i NameMember. Dzięki temu uzyskujesz ładniejsze raporty

ssas02

Krok 3 – dodaj wymiar do kostki:

ssas03

 

Krok 4 – przeprocesuj kostkę

dzięki czemu odświeżą się metadane kostki

Krok 5 – dodaj wyliczaną miarę:

[Measures].[Sales Amount]*[Variants].[Variant Name].MEMBERVALUE

ssas04

 

Krok 6 – przeprocesuj kostkę

Krok 7 – wyświetl wynik:

ssas05

Dodaj komentarz:

Autor: Rafał Kraik