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:

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 »
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!
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
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/
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ł!
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)