Selektierte Excel Daten mit Add-In for Microsoft Office im Stored Process verarbeiten

Mit SAS AMO (=SAS Add-In for Microsoft Office) lassen sich die Daten der aktuell markierten Excelzellen verarbeiten. Leider gelingt mir dies nur mit den im Menü SAS - Analyze Data vordefinierten Prozeduren, nicht jedoch mit einem selbst erstellten Stored Process.

Im Fall der funktionieren SAS Tasks wird z.B. folgender Quellcode erzeugt.

PROC SQL;
%_SASTASK_DROPDS(WORK.SORTTempTableSorted);
QUIT;

/* -------------------------------------------------------------------
   Data set WORK._EXCEL_ does not need to be sorted.
   ------------------------------------------------------------------- */
PROC SQL;
    
CREATE VIEW WORK.SORTTempTableSorted
        
AS SELECT * FROM WORK._EXCEL_;
QUIT;

Offenbar werden die selektierten Exceldaten in das data set WORK._EXCEL_ auf dem Server überführt.

Leider klappt dies nicht, wenn ich dies in einem eigenen Stored Process anwenden will. Das Makro _SASTASK_DROPDS wird nicht gefunden und WORK._EXCEL_ existiert nicht.

Woran liegt das?
Kennt jemand eine Lösung?

Stored Processes

Ihre Beobachtung kann ich nur bestätigen. Grund für dieses Verhalten ist, dass die Stored Processes in einer anderen SAS-Sitzung abgearbeitet werden als in der, die mit Ihrem Excel-Addin verbunden ist.

Ich sehe folgende Lösungen:

  • Einfach und unbequem: Die Excel-Datei auf dem Server speichern und anschließend im Stored Process einlesen, diesem muss der Speicherort der Datei bekannt gemacht werden, zum Beispiel über einen Parameter.
  • Aufwändig und komfortabel: Ein Add-In für SAS Enterprise Guide schreiben (das dann auch im Office Addin verfügbar wird), mit dem man Stored Processes direkt in der SAS-Workspace-Sitzung ausführen kann. Dieses kann dann wie eine in SEG eingebaute Anwendungsroutine aufgerufen werden und work._excel_ wäre dann verügbar.