Wsparcie techniczne
Zrób to sam
Dla aktywnych
Nasze dokumenty
Architektura SAS® 9
FAQ
Hotline
Kilka słów o nas
 

FAQ - SAS® Data Integration Studio

  • Co nowego w DI Studio 4.3?
  • Gdzie znajduje się dokumentacja do DI Studio 4.3?
  • Czy DI Studio 4.3 może współpracować z serwerem metadanych 9.1.3 lub 9.2?
  • Dlaczego na serwerze ciągle działa proces, chociaż zadanie uruchomione w DI Studio zakończyło się?
  • Czy można uruchomić różne zadania w jednej sesji workspace serwera?
  • Czy ta sama tabela może być użyta kilka razy w tym samym zadaniu?
  • Co zrobić, żeby przy ładowaniu tabeli był wykorzystany bulkload?
  • Jak przy eksporcie do pliku tekstowego NIE umieszczać wartości numerycznych w cudzysłowach?
  • Jak przy eksporcie do pliku tekstowego umieścić nazwy kolumn w pierwszym wierszu?
  • Czy transformacja może wyniki zapisywać bezpośrednio do docelowego zbioru?
  • W metadanych została zarejestrowana biblioteka, w EG widać w niej zbiory, a w DI Studio zbiorów nie ma. Dlaczego?
  • Jak najprościej dodać do zadania polecenie zawiadamiania użytkownika, że zadanie/transformacja zakończyło się?
  • Jak automatycznie zapisywać informacje o czasie przetwarzania zadania?
  • Jak przy wczytywaniu danych z pliku tekstowego za pomocą własnego kodu, odwoływać się do wynikowej tabeli?
  • Przy przetwarzaniu batchowym zadania stworzonego w DI Studio pojawia się błąd:
    ERROR: The PERFINIT macro has not been run.
    
  • W kodzie generowanym przez DI Studio domyślnie włączana jest opcja MPRINT. Czy można ją wyłączyć?
  • Gdzie mogę znaleźć informacje na temat poprawy wydajności procesów ETL?
  • Jak otworzyć zbiór, w którym są wykorzystywane formaty zdefiniowane przez użytkownika?
  • Jak powinien wyglądać plik zawierający definicję kolumn dla danych wczytywanych z pliku tekstowego?
  • Czy można zmienić nazwę i lokalizację logu DI Studio?
  • Jak zwiększać poziom debugowania dla DI Studio?
  • Jak w zadaniu skorzystać z danych, które znajdują się na zdalnym komputerze?
  • Jak w DI Studio skonfigurować wersjonowanie?
  • Które transformacje wspierają mechanizm Explicit SQL Pass-Through?

    Wersja 3.4

    Wersja 4.2

  • Co nowego w DI Studio 4.3?

    Informacje na temat nowości w SAS DI Studio 4.3 można znaleźć m.in. w dokumentacji What's New in SAS Data Integration Studio 4.3, oraz w prezentacji z SAS Global Forum What's New in SASR Data Integration.

  • Powrót na górę

  • Gdzie znajduje się dokumentacja do DI Studio 4.3?

    Dokumentacja do DI Studio 4.3 jest dostępna na amerykańskich stronach Wsparcia Technicznego: SAS® Product Documentation - SAS Data Integration Studio

  • Powrót na górę

  • Czy DI Studio 4.3 może współpracować z serwerem metadanych 9.1.3 lub 9.2?

    Nie. Z powodu zmian, jakie zaszły w protokole używanym do łączenia z serwerami SAS, DI Studio 4.3 nie może współpracować ani z serwerem metadanych 9.1.3 ani 9.2.

  • Powrót na górę

  • Dlaczego na serwerze ciągle działa proces, chociaż zadanie uruchomione w DI Studio zakończyło się?

    W momencie, kiedy z DI Studio uruchamiane jest zadanie, powoływana jest sesja workspace serwera, na którym wykonywany jest kod. Zakończenie przetwarzania nie kończy sesji workspace serwera, który działa do czasu zamknięcia zadania tak, aby kolejne jego uruchomienie było wykonywane przez tę samą sesję SASa. Dopiero zamknięcie Job Editora powoduje zakończenie sesji.

    Podobnie jest w przypadku uruchamiania kodu własnego z Code Editora. Pierwsze uruchomienie powoduje powołanie sesji workspace serwera na serwerze. Działa on do czasu zamknięcia okna Code Editora.

  • Powrót na górę

  • Czy można uruchomić różne zadania w jednej sesji workspace serwera?

    W DI Studio dla każdego uruchamianego kodu (albo z okna Job Editor albo Code Editor) powoływana jest niezależna sesja SASa (workspace serwer). Nie jest możliwe, żeby nowe zadanie uruchomić w ramach już istniejącego procesu.

  • Powrót na górę

  • Czy ta sama tabela może być użyta kilka razy w tym samym zadaniu?

    Tak. Tabela może być użyta w zadaniu wiele razy zarówno jako źródło danych, jak i jako wynik zadania. Ponieważ niektóre zadania mogą kasować tabelę wynikową przed wykonaniem przetwarzania, należy uważać żeby nie skasować tabeli w przypadku, gdy ta sama tabela jest jednocześnie źródłem danych jak i wynikiem zadania.

  • Powrót na górę

  • Co zrobić, żeby przy ładowaniu tabeli był wykorzystany bulkload?

    W przypadku dwóch baz danych: Teradaty i Oracle'a istnieją specjalne transformacje (Teradata Loader i Oracle Loader), które pozwalają wybrać sposób ładowania danych oraz ustawić dodatkowe opcje z nim związane.
    Dla innych baz danych we właściwościach tabeli, na zakładce Physical Storage pod przyciskiem Table Options należy dodać opcję:

       BULKLOAD=YES
    
    Innym sposobem jest we właściwościach transformacji, która ładuje dane, zdefiniować opcję BULKLOAD dla zbioru wynikowego (zakładka Table Options).
  • Powrót na górę

  • Jak przy eksporcie do pliku tekstowego NIE umieszczać wartości numerycznych w cudzysłowach?

    Przy zapisie do pliku tekstowego należy we właściwościach pliku, na zakładce File Parameters zaznaczyć opcję Treat consecutive delimiters as a single delimiter.

  • Powrót na górę

  • Jak przy eksporcie do pliku tekstowego umieścić nazwy kolumn w pierwszym wierszu?

    We właściwościach pliku, na zakładce File Parameters w zaawansowanych opcji zdefiniować Start record równe 2. W pierwszym wierszu będą wtedy umieszczone nazwy kolumn, a wypisywanie danych rozpocznie się od drugiego wiersza.

  • Powrót na górę

  • Czy transformacja może wyniki zapisywać bezpośrednio do docelowego zbioru?

    Tak. W wielu zadaniach transformacja Table Loader nie jest konieczna, a wyniki transformacji można zapisywać bezpośrednio do zbioru wynikowego zamiast tworzenia tymczasowego obiektu.

    Trzeba jednak pamiętać, że w większości przypadków metoda ta jest użyteczna przy prostym ładowaniu zbiorów SAS (zamiana zbioru na nowy). Przy bardziej skomplikowanym ładowaniu danych, np. do zewnętrznych baz danych, stworzenie struktury pośredniej i użycie transformacji Table Loader może się okazać konieczne.

  • Powrót na górę

  • W metadanych została zarejestrowana biblioteka, w EG widać w niej zbiory, a w DI Studio zbiorów nie ma. Dlaczego?

    DI Studio udostępnia wyłacznie tabele, które zostały zarejestrowane w metadanych. Natomiast EG, w zależności od sposobu podpięcia biblioteki, może wyświetlać tabele, które fizycznie znajdują się w bibliotece, a nie zostały zarejestrowane w metadanych.

  • Powrót na górę

  • Jak najprościej dodać do zadania polecenie zawiadamiania użytkownika, że zadanie/transformacja zakończyło się?

    Do powiadamiania użytkownika, że zadanie lub transformacja w ramach zadania została wykonana, służy zakładka Status Handling, dostępna we właściwościach zadania oraz niektórych transformacji. W zależności od wybranego obiektu (zadanie lub konkretna transformacja), dostępne są różne warunki i akcje, które będą wykonane, jeżeli warunek będzie spełniony.

    Przykładowe warunki:

    • Successful - zadanie/transformacja zakończyło się bez błędu
    • Warnings - w trakcie wykonywania zadania/transformacji pojawiło się ostrzeżenie
    • Errors - w trakcie przetwarzania pojawiły się błędy
    • Table Does not Exist - tabela nie istnieje
    • Data Modified - dane zostały zmodyfikowane
    • Send Job Status - zapisanie statusu zadania do zbioru.
    Przykładowe akcje:
    • Abort - przetwarzanie zostanie przerwane
    • Send Email - pod wskazany adres zostanie przesłany email
    • Send Entry to Text File - do wskazanego pliku tekstowego zostanie zapisana podana informacja wraz z dokładnym czasem zapisu
    • Send Entry to Dataset - do wskazanego zbioru zostanie dopisana podana informacja z dokładnym czasem zapisu
    • Custom - wywołane zostanie macro wskazane przez użytkownika.
    Jeżeli transformacja nie ma zakładki Status Handling wówczas można wykorzystać dodatkową transformację Return Code Check.
  • Powrót na górę

  • Jak automatycznie zapisywać informacje o czasie przetwarzania zadania?

    Jeżeli zadanie jest uruchamiane w ramach DI Studio, statystyki dotyczące jego wykonania są wyświetlane w ramach zadania, na zakładce Statistics. Informacje o uruchamianych zadaniach w DI Studio są równiez dostępne w oknie Runtime Manager (wywoływanym z menu View -> Runtime Manager). Wyświetlane są w nim zadania aktualnie otwarte w DI Studio, a dla każdego z nich:

    • nazwa zadania
    • status zadania
    • data i czas rozpoczęcia zadania
    • data i czas zakończenia zadana
    • wykorzystywany serwer aplikacji.
    Podstawowe statystyki z wykonania zadania można również automatycznie zapisywać w zbiorze, korzystając z zakładki Status Handling we właściwościach zadania. Należy tam stworzyć nową pozycję i wybrać:
    • Code condition: Send Job Status
    • Action: Send Job Status
    oraz podać nazwę biblioteki i zbioru, do którego będą wpisywane informacje o zadaniu.

    Uwaga! Biblioteka musi być dostępna dla serwera aplikacji. Jeżeli zbiór istnieje, to obserwacja zostanie dopisana na jego koniec. W przeciwnym przypadku zbiór zostanie stworzony.

    W zbiorze będą zapisywane następujące informacje:

    • nazwa zadania
    • status zadania
    • kod zakończenia zadania
    • liczba rekordów w ostatniej ładowanej tabeli przed załadowaniem
    • liczba rekordów w ostatniej ładowanej tabeli po załadowaniu
    • biblioteka i nazwa ostatniej tabeli ładowanej w zadaniu
    • użytkownik, który zadanie uruchamiał
    • czas rozpoczęcia i zakończenia działania
  • Powrót na górę

  • Jak przy wczytywaniu danych z pliku tekstowego za pomocą własnego kodu, odwoływać się do wynikowej tabeli?

    Przy definiowaniu dostępu do danych zapisanych w pliku tekstowym, dostępna jest opcja User written. Użytkownik może wtedy podać własny kod (DATA step), który będzie wczytywał dane. DATA step powinien tworzyć zbiór wynikowy, który będzie wejściem dla kolejnych transformacji. Żeby zapewnić ciągłość przetwarzania, DI Studio nazwę tego zbioru zapisuje na makrozmiennej _output, wystarczy więc odwołanie do tej makrozmiennej podać jako zbiór wynikowy w DATA stepie.

  • Powrót na górę

  • Przy przetwarzaniu batchowym zadania stworzonego w DI Studio pojawia się błąd:

    ERROR: The PERFINIT macro has not been run.
    

    DI Studio w trakcie wykonywania zadania wykorzystuje mechanizm ARM do zbierania informacji o użytych zasobach. Mechanizm ten jest domyślnie włączony dla workspace serwera, który te zadania wykonuje.
    Natomiast zadania batchowe są uruchamiane na DATA Step Batch serwerze, który mechanizm ARM ma domyślnie wyłączony. Stąd powyższy komunikat.
    Błąd nie będzie się pojawiał, kiedy przy generowaniu kodu, makra związane z ARMem nie będą umieszczane w kodzie (Tools --> Options/General - "Override and disable performance statistics when a job is deployed") lub gdy DATA Step Batch serwer będzie miał włączony mechanizm ARM (zgodnie z Collecting ARM Log Information for SAS Data Integration Studio Jobs).

  • Powrót na górę

  • W kodzie generowanym przez DI Studio domyślnie włączana jest opcja MPRINT. Czy można ją wyłączyć?

    W kodach generowanych przez DI Studio włączenie opcji MPRINT uzależnione jest od wartości makrozmiennej %etls_debug:

    %global etls_debug;
    %macro etls_setDebug;
      %if %str(&etls_debug) ne 0 %then
        OPTIONS MPRINT%str(;);
    %mend;
    %etls_setDebug; 
    
    Ponieważ na ogół nie jest ona zdefiniowana, więc opcja MPRINT zostaje ustawiona, co może spowodować duże rozmiary plików z logami.

    Najprościej ustawić wartość makrozmiennej w autoexecu workspace serwera:

    OPTIONS NOMPRINT;
    %let etls_debug=0; 
  • Powrót na górę

  • Gdzie mogę znaleźć informacje na temat poprawy wydajności procesów ETL?

    Informacje na temat wydajności procesów ETL zostały zebrane w dokumencie: ETL Performance Tuning Tips.

  • Powrót na górę

  • Jak otworzyć zbiór, w którym są wykorzystywane formaty zdefiniowane przez użytkownika?

    Jeżeli w DI Studio będzie wykorzystywany zbiór, który zawiera formaty zdefiniowane przez użytkownika, formaty muszą zostać udostępnione serwerowi, który dane będzie przetwarzał. Można to zrobić na poziomie zadania, dodając opcję FMTSEARCH w kodzie uruchamianym na początku zadania (pre-process), ale będzie to działało tylko dla jednego zadania.
    Dlatego lepiej jest udostęnić format na poziomie serwera. Instrukcje, jak to zrobić, znajdują się w SAS Intelligence Platform: Data Administration Guide.

  • Powrót na górę

  • Jak powinien wyglądać plik zawierający definicję kolumn dla danych wczytywanych z pliku tekstowego?

    Przy wczytywaniu danych z pliku tekstowego należy zdefiniować strukturę wynikowego obiektu. Jedną z możliwości jest import kolumn i ich atrybutów z pliku tekstowego. Plik ten powinien mieć na początku zdefiniowane, jakie atrybuty i w jakiej kolejności będą podawane, a w kolejnych wierszach wymienione zmienne.
    Przykładowy plik:

    # This is a simple External Format File
    # Header follows
    SASColumnName,SASColumnType,BeginPosition,EndPosition,SASColumnLength,SASInformat,SASFormat
    # Column definition records follow
    # SASColumnLength is expressed in bytes
    NAME,C,1,8,8,$8.,$8.
    INITIALS,C,9,10,2,$2.,$2.
    BIRTH,N,12,19,8,yymmdd8.,ddmmyy10.
  • Powrót na górę

  • Czy można zmienić nazwę i lokalizację logu DI Studio?

    SAS DI Studio tworzy log o nazwie DataIntegrationStudio_Log.txt w katalogu C:\Documents and Settings\<userid>\Application Data\SAS\SASDataIntegrationStudio\4.3\DataIntegrationStudio_Log.txt (lub C:\Users\<userid>\AppData\Roaming\SAS\SASDataIntegrationStudio\4.3 na Windows 7). Log ten zawiera komunikaty z działania DI Studio i za każdym uruchomieniem aplikacji jest tworzony na nowo. W celu zmiany nazwy lub położenia logu, DI Studio powinno być uruchomione z opcją -logfile:

     
    distudio -logfile '<filepath\filename>'
    
  • Powrót na górę

  • Jak zwiększać poziom debugowania dla DI Studio?

    W tym celu w pliku <folder intalacyjny SAS-a>\SASDataIntegrationStudio\4.3\distudio.ini należy dodać na koniec ustawienia MainClass opcje:

    -debug –serverlog
    
    Logi powstaną w katalogu C:\Documents and Settings\<userid>\Application Data\SAS\SASDataIntegrationStudio\4.3\DataIntegrationStudio_Log.txt (na Windows 7 będzie to C:\Users\<userid>\AppData\Roaming\SAS\SASDataIntegrationStudio\4.3), gdzie <userid> jest identyfikatorem użytkownika Windows uruchamiającego DI Studio. Plik jest nadpisywany za każdym razem, gdy startuje DI Studio.

    Uwaga! Przed modyfikacją pliku distudio.ini należy stworzyć jego kopię.

    Uwaga! Zwiększanie poziomu debugowania powinno nastąpić po konsultacji ze wsparciem technicznym.

  • Powrót na górę

  • Jak w zadaniu skorzystać z danych, które znajdują się na zdalnym komputerze?

    Do odczytu danych, które znajdują się na zdalnym komputerze potrzebny jest zainstalowany na nim moduł SAS/CONNECT. W metadanych należy zdefiniować serwer SAS/CONNECT (w kontekście serwera związanym ze zdalną maszyną) oraz CONNECT spawner, które będą działać na zdalnym komputerze. Potrzebna jest także definicja biblioteki, która będzie wykorzystana przez sesję CONNECT do odczytu danych (będzie to lokalna biblioteka dla zdalnej sesji).
    Uruchomiona sesja workspace serwera będzie powoływać zdalną sesję CONNECTową, która będzie podpinać bibliotekę i oferować dostęp do danych oraz możliwośc ich przetwarzania lub przesyłania do sesji workspace serwera. Taka konfiguracja wymaga, żeby lokalnie również był zainstalowany moduł SAS/CONNECT, dzięki któremu powołanie zdalnej sesji będzie możliwe.
    Szczegółowe informacje na temat takiej konfiguracji są opisane w SAS 9.3 Intelligence Platform: Desktop Application Administration Guide

  • Powrót na górę

  • Jak w DI Studio skonfigurować wersjonowanie?

    Przed konfiguracją wersjonowania w DI Studio, musi być zainstalowany serwer wersjonujący (np. Concurrent Versions System server - CVS lub Apache Subversion server - SVN). DI Studio korzysta z klienta do kontroli wersji. Zarówno serwer jak i klient muszą być dostępne dla DI Studio.
    Do konfiguracji DI Studio potrzebny jest dodatek pozwalający na podanie parametrów potrzebnych do połączenia. Domyślnie w ramach instalacji są dostępne 2 dodatki: CVS plug-in i SVN plug-in. Ponieważ możliwe jest połączenie tylko z jednym serwerem wersjonującym, więc tylko jeden z tych dodatków powinien znajdować się w katalogu instalacyjnym. Drugi należy usunąć.
    Konfiguracja odbywa się poprzez wybór z menu Tools --> Options i zakładki odpowiadającej używanemu systemowi do wersjonowania.

    Dostępne jest również API, pozwalające na współpracę z innym system do wersjonowania.

  • Powrót na górę

  • Które transformacje wspierają mechanizm Explicit SQL Pass-Through?

    Explicit SQL Pass-Through to mechanizm, który pozwala w procedurze SQL wpisywać kod, który będzie w cąłości przesłany do bazy danych. W wielu przypadkach przyspiesza to przetwarzanie danych. W DI Studio następujące transformacje mogą generować kod Explicit SQL Pass-Through (w zalezności od ustawionych opcji):

    • SQL Join
    • Teradata Loader
    • SCD Type 2 Loader
    • Table Loader
    • Oracle Bulk Loader.
  • Powrót na górę

    Data ostatniej aktualizacji dokumentu: 26.10.2011

     

  • Citat
    Warsztaty SAS® 9 dla Administratorów
    Rodzaje serwerów SAS® 9
    Przypisywanie bibliotek SAS® 9
    Pozycja 'SAS' w menu MS Excel
    SAS Dates, Times, and Datetimes
    SAS Free Tutorials
    Hotline NEWS






    Kontakt
    Wsparcie techniczne
    +48-22-5604666
    od poniedziałku do pi±tku w godzinach od 8.30 do 16.30.
     
    support@spl.sas.com