Udostępnij za pośrednictwem


Rozszerzenia Personalizacja usług analiz

SQL Server Analysis Services personalizacji rozszerzenia są podstawą pomysł wykonawczych architektury dodatku typu plug-in.W architekturze dodatku typu plug-in mogą tworzyć nowe obiekty moduł i funkcji dynamicznie i łatwe współużytkowanie ich z innymi deweloperami.W związku Analysis Services rozszerzenia personalizacji zapewniają funkcje, które sprawiają, że do osiągnięcia następujących czynności:

  • Dynamiczne projektowania wdrożyć   Natychmiast po zaprojektowanie wdrożyć Analysis Services rozszerzenia personalizacji, użytkownicy mają dostęp do obiektów i funkcji na początku następnej sesja użytkownika.

  • Interfejs niezależności   Niezależnie od interfejs, który służy do tworzenia Analysis Services rozszerzenia personalizacji, użytkownicy mogą używać dowolnego interfejsu dostęp do obiektów i funkcji.

  • Session context   Analysis Services personalization extensions are not permanent objects in the existing infrastructure and do not require the cube to be reprocessed.Stają się dostępne i utworzone dla użytkownika w czasie, gdy użytkownik łączy się z bazą danych, i pozostają dostępne do długości tej sesja użytkownika.

  • Szybkie dystrybucji    UdostępnianiaAnalysis Services personalizacji rozszerzenia z innymi deweloperami oprogramowania bez konieczności przechodzenia do szczegółowe wymagania dotyczące miejsca lub znajdowanie to rozszerzone funkcje.

Analysis Services rozszerzenia personalizacji mają wiele zastosowań.Na przykład firma prowadzi sprzedaż, które mogą obejmować różne waluty.Można utworzyć obliczany element członkowski zwraca skonsolidowanych sprzedaży w walucie lokalnej, osoby, która uzyskuje dostęp do moduł.Ten element członkowski jest tworzona jako rozszerzenie personalizacji.Następnie udostępnić ten obliczany element członkowski do grupy użytkowników.Po udostępnieniu tych użytkowników mają natychmiastowy dostęp do obliczany element członkowski tak szybko, jak będą łączyć się z serwerem.Mają dostęp, nawet jeśli nie korzystają z tego samego interfejs jako ten, który został użyty do utworzenia obliczany element członkowski.

Analysis Services personalization extensions are a simple and elegant modification to the existing managed assembly architecture and are exposed throughout the Analysis ServicesMicrosoft.AnalysisServices.AdomdServer object model, Multidimensional Expressions (MDX) syntax, and schema rowsets.

Architektura logicznych

Architektura dla Analysis Services rozszerzenia personalizacji opiera się na architekturę zarządzanego wirtualny plik dziennika i cztery podstawowe elementy:

  • Niestandardowy atrybut [PlugInAttribute]
    Podczas uruchamiania usługa, Analysis Services ładuje wymagane zespołów i określa, które mają PlugInAttribute Atrybut niestandardowy.

    Uwaga

    The .NET Framework defines custom attributes as a way to describe your code and affect run-czas behavior. Aby uzyskać więcej informacji zobacz temat „Omówienie atrybutów, "w .NET Framework Przewodnik dla deweloperów w witrynie MSDN.

    Dla wszystkich klas z PlugInAttribute Atrybut niestandardowy Analysis Services wywołuje konstruktorów ich domyślne. Wywoływanie wszystkich konstruktorów podczas uruchamiania udostępnia jednej lokalizacji, z których można tworzyć nowe obiekty i jest niezależny od żadnych działań użytkownika.

    Oprócz tworzenia małej pamięci podręcznej informacji dotyczących tworzenia i zarządzania nimi personalizacji rozszerzenia, konstruktora klasy zazwyczaj subskrybuje do SessionOpened() i SessionClosing() zdarzenia. Niepowodzenie subskrybować zdarzenia te mogą powodować klasy niewłaściwie charakteryzuje się do czyszczenia modułu zbierającego wspólne języka (CLR) w czasie wykonywania operacji wyrzucania elementów.

  • Kontekst sesja
    Dla tych obiektów, które są oparte na rozszerzenia personalizacji Analysis Services tworzy środowisko wykonywania podczas sesja klient i dynamicznie tworzy większość z tych obiektów w tym środowisku. Podobnie jak każdy inny wirtualny plik dziennika CLR to środowisko wykonywania ma również dostęp do innych funkcji i procedur przechowywanych.Kończy sesja użytkownika, Analysis Services Usuwa obiekty dynamicznie utworzony i zamyka środowiska wykonania.

  • Zdarzenia
    Tworzenie obiektów zostanie wywołany przez zdarzenia sesja On-Cube-OpenedCubeOpened i On-Cube-ClosingCubeClosing.

    Komunikacja między klient a serwerem odbywa się przez określone zdarzenia.Zdarzenia te należy pamiętać o sytuacjach, które mogą prowadzić do obiektów klient konstruowany klient.Środowiska klient dynamicznie tworzy się przy użyciu dwóch zestawów zdarzeń: Sesja wydarzenia i wydarzenia moduł.

    Zdarzenia sesja są skojarzone z obiektem serwera.Gdy klient loguje się na serwerze Analysis Services tworzy sesja i wyzwalaczy SessionOpened() zdarzenie. Kiedy klient kończy sesja na serwerze Analysis Services Wyzwalacze SessionClosing() zdarzenie.

    Moduł zdarzenia są skojarzone z obiektem połączenia.Nawiązywanie połączenia z wyzwalaczami moduł CubeOpened() zdarzenie. Zamykanie połączenia z kostką, przez zamknięcie moduł lub zmieniając inną kostką, wyzwala CubeClosing() zdarzenie.

  • Możliwości śledzenia i obsługa błędów
    Wszystkie operacje wykonywane jest powiązane przy użyciu SQL Server Profiler. Nieobsługiwany błędy są zgłaszane w dzienniku zdarzeń systemu Windows.

Wszystkie tworzenia obiektów i zarządzania jest niezależna od tej architektury i wyłączną odpowiedzialność deweloperzy obiektów.

Podstaw infrastruktury

Analysis Services personalizacji rozszerzenia są oparte na istniejących składników.Poniżej przedstawiono podsumowanie usprawnienia, zapewniające funkcje rozszerzeń personalizacji.

Zestawy

Atrybut niestandardowy PlugInAttribute, można dodać do swojego zestawów niestandardowych do identyfikacji Analysis Services klasy rozszerzenia personalizacji.

Zmiany w modelu obiektów AdomdServer

Następujące obiekty w Microsoft.AnalysisServices.AdomdServer model obiektowy zostały udoskonalone lub dodawane do modelu.

Nowe klasy AdomdConnection

The AdomdConnection class is new and exposes several personalization extensions through both properties and events.

Właściwości

  • SessionID(), wartość ciąg tylko do odczytu, reprezentujący sesja identyfikator bieżącego połączenia.

  • ClientCulture(), tylko do odczytu odwołania do kultury klient skojarzonych z bieżącą sesja.

  • User(), tylko do odczytu odwołania do interfejs tożsamości reprezentujących bieżącego użytkownika.

Zdarzenia

  • CubeOpened()

  • CubeClosing()

Nowe właściwości w klasie kontekstu

The Context class has two new properties:

  • Server(), tylko do odczytu odwołania do nowego obiektu serwera.

  • CurrentConnection(), tylko do odczytu odwołania do nowej AdomdConnection obiekt.

Nowa Klasa serwera

The Server class is new and exposes several personalization extensions through both class properties and events.

Właściwości

  • Name(), wartość tylko do odczytu typu ciąg znaków reprezentujący nazwa serwera.

  • Culture()Tylko do odczytu odwołanie do globalnej kultury skojarzonych z serwerem.

Zdarzenia

  • SessionOpened()

  • SessionClosing()

Klasa AdomdCommand

MDX rozszerzenia i ulepszenia

Polecenie CREATE Członkowskich została rozszerzona o caption Właściwość display_folder Właściwość, a także associated_measure_group Właściwość.

UPDATE Członkowskich zostanie dodane w celu uniknięcia odtworzenia element członkowski, jeśli aktualizacja jest wymagana przy utracie następstwie pierwszeństwa w rozwiązaniu obliczeń.Aktualizacje nie może zmienić zakres obliczany element członkowski, przenoszenie obliczany element członkowski do innego elementu nadrzędnego lub określić inną solveorder.

Polecenie CREATE zestaw została rozszerzona o caption Właściwość display_folder Właściwość i nowy STATIC | DYNAMIC słowo kluczowe. Statyczne oznacza, że zestaw jest obliczane tylko na tworzenie czas.Dynamiczne oznacza, że zestaw jest obliczane za każdym razem, zestaw jest używany w kwerendzie.Wartością domyślną jest STATIC w przypadku pominięcia słowa kluczowego.

Polecenia CREATE KPI i KPI DROP są dodawane do składni języka MDX.Kluczowe wskaźniki wydajności mogą być tworzone dynamicznie dowolny skrypt MDX.

Rozszerzenia schematu zestawów wierszy

Na MDSCHEMA_MEMBERS scope Kolumna zostanie dodana. Zakres wartości są następujące: MDMEMBER_SCOPE_GLOBAL = 1, MDMEMBER_SCOPE_SESSION = 2.

Na MDSCHEMA_SETS set_evaluation_context Kolumna zostanie dodana. zestaw wartości kontekstu oceny przedstawiają się następująco: MDSET_RESOLUTION_STATIC = 1, MDSET_RESOLUTION_DYNAMIC = 2.

Kolumna zostanie dodana w odniesieniu do zakres MDSCHEMA_KPIS.Zakres wartości są następujące: MDKPI_SCOPE_GLOBAL = 1, MDKPI_SCOPE_SESSION = 2.