Co zrobić, gdy przy próbie stworzenia kostki pojawia się komunikat:
Cube "xxx" exists. Use the DELETE option in PROC OLAP to remove the cube and
its registration.
Przed stworzeniem kostki należy usunąć fizyczne pliki kostki. Powyższy komunikat świadczy o tym, że nie zostały one usunięte. Należy to zrobić używając opcji DELETE procedury OLAP, np.
proc olap cube=nazwa_kostki delete;
metasvr host="" port=8561 protocol=bridge
userid="" pw="" repository="Foundation"
olap_schema="SASMain - OLAP Schema";
run;
lub opcji DELETE_PHYSICAL, np.:
proc olap cube=nazwa_kostki delete_physical;
metasvr host="" port=8561 protocol=bridge
userid="" pw="" repository="Foundation"
olap_schema="SASMain - OLAP Schema";
run;
Należy pamiętać, że opcja DELETE usuwa zarówno fizyczne pliki, jak i rejestrację kostki w metadanych, a więc po takiej operacji kostka będzie tworzona od nowa. Jeżeli chcemy zachować np. uprawnienia nałożone na kostkę, należy wykorzystać opcję DELETE_PHYSICAL, która usunie jedynie fizyczne pliki, a następnie uruchomić skróconą wersję proc OLAP:
proc olap cube=nazwa_kostki;
metasvr host="" port=8561 protocol=bridge
userid="" pw="" repository="Foundation"
olap_schema="SASMain - OLAP Schema";
run;
Ta druga możliwość jest stosowana w SAS OLAP Cube Studio przy ponownym tworzeniu kostki.

|
|
|
Co można zrobić, gdy w czasie przeglądania kostki w EG lub AMO dostaję błąd:
"The number of components in the set exceeds the MAX SET SIZE limit".
Błąd wynika z ustawienia maksymalnej liczby kombinacji krotek w zapytaniu, które może obsłużyć serwer OLAP.
Takie domyślne ograniczenie ma zapobiec sytuacji, w której wszystkie zasoby pamięciowe zostaną wykorzystane przez jedno zapytanie.
Aby zdjąć to ograniczenie należy:
1. W SMC, rozwinąć
Server Manager -> SASApp -> SASApp - Logical OLAP Server -> SASApp - OLAP Server
2. Spod menu dostępnego pod prawym przyciskiem wybrać 'Properties'.
3. Wybrać zakładkę options -> kliknąć na 'Advanced Options'.
4. Ustawić wartość '0'(zero) dla opcji 'Maximum number of tuples in a set'.
5. zrestartować serwer OLAP
|

|
|
|
Czy jest możliwość podglądu zapytań MDX przesyłanych przez WRS do serwera OLAP?
Aby zobaczyć jakie zapytania mdx są generowane w czasie pracy na kostkach (np. w WRS) należy aktywować logi 'jurnal files'.
Dokładny opis jak to zrobić znajduje się w nocie:
38429
|

|
|
|
Czy jest możliwość odebrania użytkownikowi uprawnień do oglądania poszczególnych kolumn w tabeli drill-through na raporcie WRS?
Taka funkcjonalność jest dostępna od wersji SAS9.2M2.
Wystarczy w konsoli metadanych, na wybranej kolumnie odebrać użytkownikowi prawo 'readmetadata'.
Wybrana kolumna/y nie będą dla niego widoczne w tabeli drill-through.
|

|
|
|
Czy dla serwera OLAP jest dostępny mechanizm load balancing?
Od wersji 9.2 jest możliwość wykorzystania techniki 'load balancing' dla serwera OLAP w celu podniesienia wydajności.
Można zarówno dodać nową instancję serwera na tym samym środowisku jak i utworzyć ją na innym niezależnym host'cie.
Dokładny opis techniki znajduje się w rozdziale
Understanding Server Load Balancing, w podręczniku użytkownika:
SAS 9.2 Intelligence Platform: Application Server Administration Guide
|

|
|
|
Czy istnieją ograniczenia w nazewnictwie kostek OLAP i elementów z nimi związanych?
Kostki: nazwa jest ograniczona do 32 znaków i musi być zgodna z nazewnictwem SAS.
Jeżeli chcemy w nazwie kostki użyć znaków specjalnych (tj. spacje, nawiasy, ampersandy etc) należy ustawić opcję VALIDVARNAME=ANYdla workspace serwera.
Należy pamiętać, że między innymi ze względu na specyfikację języka MDX, używanie znaków specjalnych - []/\
w nazwie kostek nie jest dopuszczalne w żadnej sytuacji (również gdy używamy opcji VALIDVARNAME=ANY).
Wymiary, hierarchie, poziomy i miary: 32 znaki, zgodne z nazewnictwem SAS
Agregaty: 32 znaki. Można stosować znaki []/\ przy użyciu opcji VALIDVARNAME=ANY.
|

|
|
|
Czy są jakieś ograniczenia/zalecenia co do rozmiaru kostki?
Ograniczenia wynikają z limitów dopuszczalnej liczby wymiarów/hierarchii oraz poziomów, które można zdefiniować w ramach kostki.
Zgodnie z zaleceniami SAS nie jest dobrym rozwiązaniem definiowanie kostek z liczbą wymiarów większą niż kilkanaście/kilkadziesiąt sztuk. Limit - 128 wymiarów dla kostki jest jedynie wyznaczeniem górnej granicy, która nie powinna być celem projektanta kostki.
Zalecenia wiążą się między innym z ograniczeniami 32-bitowych systemów operacyjnych w stosunku do ilości pamięci jaką można przydzielić procesom oraz z bardzo dużą ilością pamięci jakiej przypuszczalnie będzie potrzebował serwer OLAP obsługując zapytania MDX przesłane do takiej kostki.
|

|
|
|
Ile wymiarów i hierarchii można zdefiniować dla jednej kostki?
Łączna liczba hierarchii zdefiniowanych dla wszystkich wymiarów nie może przekraczać 128, tzn. kostka może mieć zdefiniowanych:
128 wymiarów z 1 hierarchią
127 wymiarów, z których jeden ma 2 hierarchie, pozostałe po jednej
64 wymiary z 2 hierarchiami
itp.
|

|
|
|
Ile poziomów można zdefiniować dla 1 hierarchii?
Hierarchia może mieć maksymalnie 19 poziomów.
|

|
|
|
Ile maksymalnie poziomów może być zdefiniowanych dla kostki?
Kostka może mieć maksymalnie 256 poziomów.
|

|
|
|
Ile miar można maksymalnie zdefiniować w kostce?
1024
|

|
|
|
Ile elementów może być zdefiniowane dla hierarchii?
Maksymalnie 2^32 per hierarchia.
|

|
|
|
W mapie informacyjnej opartej o kostkę zdefiniowano filtry. Nie są one jednak widoczne w SAS Web Report Studio. Dlaczego?
Filtry zdefiniowane w mapie zbudowanej na kostce nie są widoczne w WRS. Dokumentuje to nota
SN-12960
|

|
|
|
Jak można tworzyć elementy wyliczane dla kostek?
Jest kilka metod tworzenia elementów wyliczanych:
- OLAP Cube Studio
- Enterprise Guide - można wykorzystać istniejący kreator albo edytor MDX
- Proc OLAP - globalne elementy wyliczane mogą być tworzone podczas tworzenia kostki, albo dla kostki istniejącej poprzez instrukcję
DEFINE MEMBER
'kostka.nazwa' AS
'wyrażenie_MDX
<,<format_string="">
<solve_order=>>';
- Proc SQL - globalne, dostępne w obrębie sesji oraz tymczasowe; po nawiązaniu połączenia z serwerem OLAP należy wykonać instrukcję:
execute ( member
kostka.nazwa as
'wyrażenie_MDX
<,<format_string="">
<solve_order=>>'
) by olap;
- Information Map Studio - elementy wyliczane dostępne jedynie poprzez mapy informacyjne
|

|
|
|
Jak usunąć definicję globalnego elementu wyliczanego?
Globalny element wyliczany może być usunięty za pomocą:
- proc OLAP
UNDEFINE MEMBER
'kostka.nazwa';
- proc SQL, po nawiązaniu połączenia z serwerem OLAP:
execute (
drop member kostka.nazwa
)by olap;
- OCS lub edytor MDX w EG
|

|
|
|
W SAS OLAP Cube Studio został zdefiniowany nowy element wyliczany. Nie jest on jednak widoczny w żadnej aplikacji klienckiej. Dlaczego?
Po zdefiniowaniu elementu wyliczanego w OCS należy odświeżyć kostkę, gdyż dopiero wtedy elementy wyliczane będą widoczne z poziomu innych aplikacji.
Zadanie odświeżenia kostki jest dostępne w SAS Management Console w ramach SAS OLAP Server Monitor.
|

|
|
|
Jak w EG stworzyć pozycje wyliczane w innej hierarchii niż Measures?
Kreator elementów wyliczanych dostępny w EG pozwala na zdefiniowanie nowego elementu w dowolnym wymiarze, ale tylko na najwyższym poziomie. Jeżeli chcemy stworzyć element wyliczany na jakimś innym poziomie należy wykorzystać edytor MDX i wpisać kod definiujący nowy element, np.:
create member [Czas].[Cały rok].[2003].[1-półrocze] as
'[Czas].[Cały rok].[2003].[1]+[Czas].[Cały rok].[2003].[2]'
|

|
|
|
Jak zdefiniować format dla elementu wyliczanego?
Dla zmiennych wyliczanych format definiuje się przy ich definicji:
- W proc OLAP:
define member
"[kostka].[Measures].[Revenue]" as
'[Measures].[Revenue]/1000000,
format_string="Dollar10.2"';
- W proc SQL (lub w edytorze MDX EG):
create <global> member
"[kostka].[Measures].[Revenue]" as
'[Measures].[Revenue]/1000000,
format_string="Dollar10.2"';
- W OCS:
kreator ma domyślnie ustawiony format, który można zmienić poprzez rozwijane menu
|

|
|
|
Czy można użyć formatu zdefiniowanego przez użytkownika dla miar w kostkach?
Formaty użytkownika zdefiniowane dla miar są wspierane od wersji SAS9.3. Dla wersji poprzednich można zastosować obejście które dokumentuje to nota
SN-11390
|

|
|
|
Jak w MDX ograniczyć dane do kilku wybranych wartości wymiaru?
Zgodnie ze specyfikacją MDXa w wyrażeniu WHERE można podawać tylko krotkę (tuple), a nie set. Można to jednak obejść stosując funkcje agregujące i zmienne wyliczane, np.:
WITH MEMBER Geografia.Total AS
'AGGREGATE(
{Geo.[All Geo].[Mazowieckie],
Geo.[All Geo].[Podkarpackie]})'
SELECT
{Measures.aktualnaSum} ON COLUMNS,
Czas.[All Czas].Children ON ROWS
FROM Sport
WHERE (Geografia.Total)
|

|
|
|
Jak można stworzyć zbiory mianowane (named sets) dla kostki?
Zbiory mianowane dla kostki można stworzyć za pomocą:
- proc OLAP - globalne zbiory mianowane; można tworzyć w trakcie budowy kostki lub dla kostki już istniejącej
DEFINE SET 'kostka.nazwa'
AS 'wyrażenie_mdx' ;
- proc SQL, po nawiązaniu połączenia z serwerem OLAP:
execute (
create <global> set
kostka.nazwa as
'wyrażenie_mdx'
) by olap;
- edytor MDX w EG
|

|
|
|
Jak usunąć definicję globalnego zbioru mianowanego?
Zbiór mianowany można usunąć za pomocą:
|

|
|
|
|
Jaka jest różnica między stosowaniem apostrofu i cudzysłowu w definicji elementów wyliczanych?
Przy tworzeniu elementów wyliczanych lub zbiorów mianowanych dla kostek OLAP należy podać formułę wyliczającą wartości. Formuła będzie różnie traktowana, w zależności od tego, czy będzie wpisana w apostrofach, cudzysłowie, czy też po prostu jako tekst.
Czysty tekst i apostrofy powodują, że formuła jest wykonywana przy odwołaniu do danego elementu. Cudzysłów oznacza, że formuła będzie traktowana jako tekst.
|

|
|
|
|
W jaki sposób mogę ograniczyć użytkownikom możliwość przeglądania kostki tylko do wybranych wymiarów, poziomów etc.?
Można to zrobić poprzez SMC przy użyciu języka MDX. Szczegółowy opis, wraz z przykładami zapytań MDX znajduje się w dokumentacji:
OLAP Member-Level Permissions
|

|
|
|
Na raporcie WRS nie mam możliwości podglądu faktów dla poszczególnych wartości, mimo iż w definicji kostki jest zdefiniowana tabela drill-through.
W zaistniałej sytuacji należy sprawdzić czy na mapie w IMS jest wybrana wartość 'yes' przy opcji 'allow drill-through to detail data' w panelu właściwości mapy.
|

|
|
Data ostatniej aktualizacji dokumentu: 01.12.2011
|