SAS XML mapping - с несколькими файлами XML - PullRequest
1 голос
/ 08 марта 2012

Я хотел бы знать, как использовать SAS XML Mapping с несколькими файлами XML

Приведенный ниже код используется для извлечения одного XML-файла (data1.xml) с использованием сопоставления из SAS XML Mapper (global.map). Мне удалось получить окончательный извлеченный набор данных «GlobalDecision» ...

filename  data1 'c:\data1.xml';
filename  SXLEMAP 'c:\global.map';
libname   data1 xml xmlmap=SXLEMAP access=READONLY;

proc datasets lib=data1; quit;

DATA GlobalDecision; SET data1.GlobalDecision; run;

Однако мой XML хранится в mySQL для каждого идентификатора, каждая запись имеет текст xml (несжатый) с именем «var_x», поэтому, если я хочу извлечь, скажем, 10 записей, я бы извлек свой набор данных, используя этот код ниже

proc sql; create table x as select ID, var_x from table1 limit 10 ;quit; 

У меня вопрос, как я могу включить свою таблицу x в код Mapping выше, чтобы получить финальную таблицу "GlobalDecision", которая даст мне 10 записей со всеми извлеченными значениями.

Спасибо !!

1 Ответ

0 голосов
/ 09 марта 2012

Одна строка данных ("var_x") будет иметь XML, который выглядит следующим образом

 <?xml version="1.0" encoding="utf-8"?>
    <AResponse>
      <GenerationTime>20120301120031</GenerationTime>
      <CodeVersion>4.34.1</CodeVersion>
      <RequestVersion>3.0</RequestVersion>
      <TransactionId>156368133</TransactionId>
      <TrackHash>2211bc09ee00c45fe6ffa61648f33d3e</TrackHash>
      <Id>1125051053</Id>
      <Response>   
        <GlobalDecision>
          <Decision>N</Decision>
          <Mcost>0</Mcost>
          <LC>A1</LC>
          <Check>A1</Check>
          <IDet>D6</IDet>
          <ReferBuckets>
            <Bucket>P1</Bucket>
          </ReferBuckets>
 </GlobalDecision>
  </Response>
</AResponse>
...