SSAS: Różnice między Cube ID a Cube Name

2013-01-16

Kostkę chcę przeprocesować w aparciu o skrypt. Skrypt wygląda tak:

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
   <Parallel>
      <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <DatabaseID>Adventure Works OLAP</DatabaseID>
         <CubeID>Adventure Works DW</CubeID>
         <MeasureGroupID>Reseller Sales</MeasureGroupID>
         <PartitionID>Reseller Sales</PartitionID>
         <Object>
         </Object>
         <Type>ProcessFull</Type>
         <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
      </Process>
   </Parallel>
</Batch>

Chociaż moja kosta nazywa się inaczej, procesując ją muszę używać identyfikatora! Dlaczego identyfikator jest inny niż nazwa? Przecież to nieintuicyjne!

Odpowiedź kryje się w skrypcie tworzącym OLAP-ową bazę danych. To tutaj kryją się nazwy i identyfikatory baz danych:

By Rafał Kraik in SQL

CTE – generowanie listy dat z zakresu od-do

2013-01-16

Ładny przykład na CTE znalazłem:

http://blog.justinstolle.com/sql-turn-a-date-range-into-a-list-of-dates/

Przykład ma wygenerować listę dat w oparciu o zapisany w rekordzie przedział dat. Na wszelki wypadek przeklejam przykład poniżej: Czytaj dalej »

By Rafał Kraik in SQL

SQL Search – dodatek dla zagubionych w swojej bazie danych

2013-01-15

Pod adresem http://www.red-gate.com/products/sql-development/sql-search/ dostępny jest darmowy programik SQL Search pozwalający na szybkie wyszukiwanie obiektów wbazie danych. Przydaje się zwłaszcza w pracy z dużą lub nieznaną bazą. Podajesz czego szukasz i otrzymujesz listę obiektów, których nazwa spełnia zadane warunki.

Polecam i przy okazji dziękuję Pawłowi, który wskazał mi to narzędzie!

By Rafał Kraik in SQL

SQL: Jak odnaleźć tabele wykorzystujące kolumny wyliczane?

2013-01-15

Prosto. Będą w określonej bazie danych wykonaj:

SELECT OBJECT_NAME(s.object_id) 'Table name’,name AS 'Column name’, s.is_computed

FROM sys.columns s

WHERE s.is_computed=1

 

By Rafał Kraik in SQL

SSAS: Automatyczny deployment projektu na serwer

2013-01-15

1. Zbuduj chociaż raz projekt w Business Inteligence Development Studio

2. Uruchom:

Microsoft.AnalysisServices.Deployment.exe <ścieżka do pliku *.asdatabase>/a

3. Uruchom

Microsoft.AnalysisServices.Deployment.exe <ścieżka do pliku *.asdatabase> /d /o:<nazwa pliku z nowo generowanym skryptem>

4. W pliku powstanie skrypt MDX pozwalający na automatyczny deployment projektu na serwer SSAS.

 

Źródła:

http://blog.kejser.org/2006/11/28/automating-build-of-analysis-services-projects/

http://msdn.microsoft.com/en-us/library/ms162758.aspx

http://www.mssqltips.com/sqlservertip/1883/using-the-sql-server-analysis-services-ssas-deployment-wizard/

By Rafał Kraik in SSAS

SSAS: Bład podczas procesowania: errors in the olap storage engine a duplicate attribute key has been found when processing

2013-01-12

Przyczyna: Miałem zdefiniowaną relację: Kraj -> Wojewodztwo -> Miasto -> Kod Pocztowy -> Klient.

SSAS zakłada, że jeżeli miasto ma być unikalne. Zakłada, że miasto będzie unikalne w ramach całej tabeli (całego wymiaru!) , co nie zawsze jest prawdą. Dlatego dla problemowego atrybutu (w komunikacie the attribute is:…) należy zmienić klucz.

W moim przypadku klucz to Kraj+Województwo+Miasto. Pamiętaj, że jeżeli zdefiniujesz kompozytowy klucz, to koniecznie atrybut musi posiadać wypełnioną właściwość Name. Name zazwyczaj odpowiada temu atrybutowi, czyli u mnie miasto.

Rozwiązanie znalazłem tu:

http://ms-olap.blogspot.com/2009/11/duplicate-attribute-key-has-been-found.html

Dziękuję, że ktoś to tak solidnie opisał!

 

By Rafał Kraik in SSAS

Udanego 2013-go

2012-12-30

Czytelnikom mojego bloga życzę udanego Nowego Roku!

Żadnych błędów, żadnych bugów, żadnych wirusów!

Żadnych kłopotów i zawsze działającego soft- i hard-ware.

Niech wszelkie bugi giną!

(Peter-worm was catched)

By Rafał Kraik in Aktualności