Znikający Named Set w Analysis Services

Dziś odkryłem coś co może być dla was całkiem interesujące jeśli pracujecie z technologią Microsoft Business Intelligence. W moim projekcie Analysis Services w skrypcie kalkulacyjnym miałem kilka Nazwanych Zestawów (ang. Named Set) – po ich napisaniu chciałem je oczywiście przetestować. Wszystko wyglądało w porządku dopóki nie zorientowałem się, że część zestawów nie było widocznych w narzędziu klienckim. Aby odwzorować tą sytuację użyjmy przykładu na podstawie kostki AdventureWorks (do pobrania tutaj)

Powiedzmy, że chcemy stworzyć set, który zawiera tylko aktywne promocje, a nasza firma ma takowe tylko przez pierwsze cztery miesiące roku. Kod MDX z definicją takiego zestawu został przedstawiony powyżej. Po implementacji takiego zestawu i podłączeniu się do kostki przez Management Studio zauważymy coś czego z całą pewnością się nie spodziewaliśmy:

1

Gdzie jest nasz Named Set?

Może powinniśmy napisać zapytanie MDX aby pobrać dane z naszego zestawu? Wykonajmy poniższe polecenie:

Rezultatem tego zapytania będzie pusty zestaw lub tylko nazwa miary którą wybraliśmy.

1

Kiedy użyjemy Excela jako narzędzia klienckiego rezultat będzie całkowicie odmienny:

1

Zdefiniowany zestaw jest widoczny i może być używany kiedy tylko chcemy (bez względu na fakt czy jest on pusty czy też nie). Zachowanie narzędzi klienckich jest bardzo interesujące i każdy deweloper powinien zdawać sobie z tego sprawę, że – niektóre narzędzia klienckie ukrywają zestawy które są puste! Oczywiście nawet jeżeli narzędzie klienckie ukrywa takie obiekty (jak Management Studio) są one w pełni dostępne poprzez kod MDX.

Jeżeli chcemy przetestować opisywane zachowanie kostki i upewnić się, że nie jest ono dziełem przypadku możemy w narzędziu klienckim użyć poniższego kodu MDX . Spowoduje ono, że powyższy zestaw nie będzie już pusty.

1

Teraz możemy zauważyć, że zestaw jest dostępny z poziomu interfejsu graficznego. Jak widać Management Studio czasem próbuje być dla nas miłe co nie zawsze mu wychodzi.

Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

2 Comments

  1. Piotr Ziuziański

    Rzekłbym, że zachowanie SSMS jest bardzo nieprofesjonalne 😉 Czy tak samo wygląda to w wersji 2016? Czy można zmienić jakimś ustawieniem takie zachowanie SSMS?

    Reply
    1. Adrian ChodkowskiAdrian Chodkowski (Post author)

      Musimy niestety traktować go jako “ficzer”, a nie “bug” i raczej nie zostanie to naprawione 🙂 W 16 nadal występuje 🙂

      Reply

Leave a Comment

Your email address will not be published. Required fields are marked *