Hi,
I am trying to understand the XMLV2 LIBNAME engine. I have got the code to work with a custom XML map, but the dataset is empty.
My XML file:
<?xml version="1.0" encoding="UTF-8"?> <ODM xmlns="http://www.cdisc.org/ns/odm/v1.3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:nciodm="http://ncicb.nci.nih.gov/xml/odm/EVS/CDISC" xs:schemaLocation="http://www.nci.nih.gov/EVS/CDISC ../schema/controlledterminology1-0-0.xsd" FileType="Snapshot" FileOID="CDISC_CT.SDTM.2020-12-18" Granularity="Metadata" CreationDateTime="2020-12-17T14:45:28" AsOfDateTime="2020-12-18T00:00:00" ODMVersion="1.3.2" Originator="CDISC XML Technologies Team (Terminology2ODM converter)" SourceSystem="NCI Thesaurus" SourceSystemVersion="2020-12-18"> <Study OID="CDISC_CT.SDTM.2020-12-18"> <GlobalVariables> <StudyName>CDISC SDTM Controlled Terminology</StudyName> <StudyDescription>CDISC SDTM Controlled Terminology, 2020-12-18</StudyDescription> <ProtocolName>CDISC SDTM Controlled Terminology</ProtocolName> </GlobalVariables> <MetaDataVersion OID="CDISC_CT_MetaDataVersion.SDTM.2020-12-18" Name="CDISC SDTM Controlled Terminology" Description="CDISC SDTM Controlled Terminology, 2020-12-18"> <CodeList OID="CL.C66742.NY" Name="No Yes Response" DataType="text" nciodm:ExtCodeID="C66742" nciodm:CodeListExtensible="No"> <Description> <TranslatedText xml:lang="en">A term that is used to indicate a question with permissible values of yes/no/unknown/not applicable.</TranslatedText> </Description> <EnumeratedItem CodedValue="N" nciodm:ExtCodeID="C49487"> <nciodm:CDISCSynonym>No</nciodm:CDISCSynonym> <nciodm:CDISCDefinition>The non-affirmative response to a question. (NCI)</nciodm:CDISCDefinition> <nciodm:PreferredTerm>No</nciodm:PreferredTerm> </EnumeratedItem> <EnumeratedItem CodedValue="NA" nciodm:ExtCodeID="C48660"> <nciodm:CDISCSynonym>NA</nciodm:CDISCSynonym> <nciodm:CDISCSynonym>Not Applicable</nciodm:CDISCSynonym> <nciodm:CDISCDefinition>Determination of a value is not relevant in the current context. (NCI)</nciodm:CDISCDefinition> <nciodm:PreferredTerm>Not Applicable</nciodm:PreferredTerm> </EnumeratedItem> <EnumeratedItem CodedValue="U" nciodm:ExtCodeID="C17998"> <nciodm:CDISCSynonym>U</nciodm:CDISCSynonym> <nciodm:CDISCSynonym>UNK</nciodm:CDISCSynonym> <nciodm:CDISCSynonym>Unknown</nciodm:CDISCSynonym> <nciodm:CDISCDefinition>Not known, not observed, not recorded, or refused. (NCI)</nciodm:CDISCDefinition> <nciodm:PreferredTerm>Unknown</nciodm:PreferredTerm> </EnumeratedItem> <EnumeratedItem CodedValue="Y" nciodm:ExtCodeID="C49488"> <nciodm:CDISCSynonym>Yes</nciodm:CDISCSynonym> <nciodm:CDISCDefinition>The affirmative response to a question. (NCI)</nciodm:CDISCDefinition> <nciodm:PreferredTerm>Yes</nciodm:PreferredTerm> </EnumeratedItem> <nciodm:CDISCSubmissionValue>NY</nciodm:CDISCSubmissionValue> <nciodm:CDISCSynonym>No Yes Response</nciodm:CDISCSynonym> <nciodm:PreferredTerm>CDISC SDTM Yes No Unknown or Not Applicable Response Terminology</nciodm:PreferredTerm> </CodeList> </MetaDataVersion> </Study> </ODM>
This is my XML map:
<?xml version="1.0" encoding="UTF-8"?> <SXLEMAP version="1.2" name="SXLEMAP"> <TABLE name="EnumeratedItem"> <TABLE-DESCRIPTION>Terminology EnumeratedItem</TABLE-DESCRIPTION> <TABLE-PATH syntax="XPath"> /ODM/Study/MetaDataVersion/CodeList/EnumeratedItem </TABLE-PATH> <COLUMN name="CL_NAME"> <PATH syntax="XPath">/ODM/Study/MetaDataVersion/CodeList/@OID</PATH> <TYPE>character</TYPE> <DATATYPE>string</DATATYPE> <LENGTH>100</LENGTH> </COLUMN> </TABLE> </SXLEMAP>
When I look at the IN library, I see the EnumeratedItems dataset, but it is empty. The log is clean, so not sure what I am missing.
This is the SAS code used
filename in_map "C:\Documents\Example.map";
libname in xmlv2 "C:\Documents\Example.xml" xmlmap=in_map;
Try it with the map file included below.
<?xml version="1.0" encoding="windows-1252"?>
<!-- ############################################################ -->
<!-- 2021-03-12T14:34:43 -->
<!-- SAS XML Libname Engine Map -->
<!-- Generated by XML Mapper, 904700.0.0.20200715190000_v940m7 -->
<!-- ############################################################ -->
<!-- ### Validation report ### -->
<!-- ############################################################ -->
<!-- XMLMap validation completed successfully. -->
<!-- ############################################################ -->
<SXLEMAP name="AUTO_GEN" version="2.1">
<NAMESPACES count="4">
<NS id="1" prefix="">http://www.cdisc.org/ns/odm/v1.3</NS>
<NS id="2" prefix="xs">http://www.w3.org/2001/XMLSchema-instance</NS>
<NS id="3" prefix="nciodm">http://ncicb.nci.nih.gov/xml/odm/EVS/CDISC</NS>
<NS id="4" prefix="xml">http://www.w3.org/XML/1998/namespace</NS>
</NAMESPACES>
<!-- ############################################################ -->
<TABLE description="ODM" name="ODM">
<TABLE-PATH syntax="XPathENR">/{1}ODM</TABLE-PATH>
<COLUMN class="ORDINAL" name="ODM_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="ODM_schemaLocation">
<PATH syntax="XPathENR">/{1}ODM/@{2}schemaLocation</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>73</LENGTH>
</COLUMN>
<COLUMN name="ODM_FileType">
<PATH syntax="XPathENR">/{1}ODM/@FileType</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>8</LENGTH>
</COLUMN>
<COLUMN name="ODM_FileOID">
<PATH syntax="XPathENR">/{1}ODM/@FileOID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>24</LENGTH>
</COLUMN>
<COLUMN name="ODM_Granularity">
<PATH syntax="XPathENR">/{1}ODM/@Granularity</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>8</LENGTH>
</COLUMN>
<COLUMN name="ODM_CreationDateTime">
<PATH syntax="XPathENR">/{1}ODM/@CreationDateTime</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>datetime</DATATYPE>
<FORMAT width="19">IS8601DT</FORMAT>
<INFORMAT width="19">IS8601DT</INFORMAT>
</COLUMN>
<COLUMN name="ODM_AsOfDateTime">
<PATH syntax="XPathENR">/{1}ODM/@AsOfDateTime</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>datetime</DATATYPE>
<FORMAT width="19">IS8601DT</FORMAT>
<INFORMAT width="19">IS8601DT</INFORMAT>
</COLUMN>
<COLUMN name="ODM_ODMVersion">
<PATH syntax="XPathENR">/{1}ODM/@ODMVersion</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>5</LENGTH>
</COLUMN>
<COLUMN name="ODM_Originator">
<PATH syntax="XPathENR">/{1}ODM/@Originator</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>55</LENGTH>
</COLUMN>
<COLUMN name="ODM_SourceSystem">
<PATH syntax="XPathENR">/{1}ODM/@SourceSystem</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>13</LENGTH>
</COLUMN>
<COLUMN name="ODM_SourceSystemVersion">
<PATH syntax="XPathENR">/{1}ODM/@SourceSystemVersion</PATH>
<TYPE>numeric</TYPE>
<DATATYPE>date</DATATYPE>
<FORMAT width="10">IS8601DA</FORMAT>
<INFORMAT width="10">IS8601DA</INFORMAT>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="Study" name="Study">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study</TABLE-PATH>
<COLUMN class="ORDINAL" name="ODM_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="Study_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="Study_OID">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/@OID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>24</LENGTH>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="GlobalVariables" name="GlobalVariables">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}GlobalVariables</TABLE-PATH>
<COLUMN class="ORDINAL" name="Study_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="GlobalVariables_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}GlobalVariables</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="StudyName">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}GlobalVariables/{1}StudyName</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>33</LENGTH>
</COLUMN>
<COLUMN name="StudyDescription">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}GlobalVariables/{1}StudyDescription</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>45</LENGTH>
</COLUMN>
<COLUMN name="ProtocolName">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}GlobalVariables/{1}ProtocolName</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>33</LENGTH>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="MetaDataVersion" name="MetaDataVersion">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion</TABLE-PATH>
<COLUMN class="ORDINAL" name="Study_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="MetaDataVersion_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="MetaDataVersion_OID">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/@OID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>40</LENGTH>
</COLUMN>
<COLUMN name="MetaDataVersion_Name">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/@Name</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>33</LENGTH>
</COLUMN>
<COLUMN name="MetaDataVersion_Description">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/@Description</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>45</LENGTH>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="CodeList" name="CodeList">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList</TABLE-PATH>
<COLUMN class="ORDINAL" name="MetaDataVersion_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="CodeList_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="CodeList_OID">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/@OID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>12</LENGTH>
</COLUMN>
<COLUMN name="CodeList_Name">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/@Name</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>15</LENGTH>
</COLUMN>
<COLUMN name="CodeList_DataType">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/@DataType</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>4</LENGTH>
</COLUMN>
<COLUMN name="CodeList_ExtCodeID">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/@{3}ExtCodeID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>6</LENGTH>
</COLUMN>
<COLUMN name="CodeList_CodeListExtensible">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/@{3}CodeListExtensible</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>2</LENGTH>
</COLUMN>
<COLUMN name="CDISCSubmissionValue">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{3}CDISCSubmissionValue</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>2</LENGTH>
</COLUMN>
<COLUMN name="CDISCSynonym1">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{3}CDISCSynonym</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>15</LENGTH>
</COLUMN>
<COLUMN name="PreferredTerm">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{3}PreferredTerm</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>64</LENGTH>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="Description" name="Description">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description</TABLE-PATH>
<COLUMN class="ORDINAL" name="CodeList_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="Description_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="TranslatedText" name="TranslatedText">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description/{1}TranslatedText</TABLE-PATH>
<COLUMN class="ORDINAL" name="Description_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="TranslatedText_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description/{1}TranslatedText</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="TranslatedText_lang">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description/{1}TranslatedText/@{4}lang</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>2</LENGTH>
</COLUMN>
<COLUMN name="TranslatedText">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}Description/{1}TranslatedText</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>100</LENGTH>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="EnumeratedItem" name="EnumeratedItem">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem</TABLE-PATH>
<COLUMN class="ORDINAL" name="CodeList_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="EnumeratedItem_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="EnumeratedItem_CodedValue">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/@CodedValue</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>2</LENGTH>
</COLUMN>
<COLUMN name="EnumeratedItem_ExtCodeID">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/@{3}ExtCodeID</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>6</LENGTH>
</COLUMN>
<COLUMN name="CDISCDefinition">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/{3}CDISCDefinition</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>70</LENGTH>
</COLUMN>
<COLUMN name="PreferredTerm">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/{3}PreferredTerm</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>14</LENGTH>
</COLUMN>
</TABLE>
<!-- ############################################################ -->
<TABLE description="CDISCSynonym" name="CDISCSynonym">
<TABLE-PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/{3}CDISCSynonym</TABLE-PATH>
<COLUMN class="ORDINAL" name="EnumeratedItem_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN class="ORDINAL" name="CDISCSynonym_ORDINAL">
<INCREMENT-PATH beginend="BEGIN" syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/{3}CDISCSynonym</INCREMENT-PATH>
<TYPE>numeric</TYPE>
<DATATYPE>integer</DATATYPE>
</COLUMN>
<COLUMN name="CDISCSynonym">
<PATH syntax="XPathENR">/{1}ODM/{1}Study/{1}MetaDataVersion/{1}CodeList/{1}EnumeratedItem/{3}CDISCSynonym</PATH>
<TYPE>character</TYPE>
<DATATYPE>string</DATATYPE>
<LENGTH>14</LENGTH>
</COLUMN>
</TABLE>
</SXLEMAP>
The map-file was created using the automap with XML feature in the SAS XLM Mapper.
Thanks for getting back to me, oddly this partially worked. I only get one table out "EnumeratedItem", however looking at the map you provided I have a few questions
1. What about the other tables defined in the map, where are they? (GlobalVariables, MetadataVersion, CodeList, etc.)
2. How do you control the column names in the tables, e.g. the column names in the EnumeratedItem are called CL_NAME, CL_LABEL, CL_CODE, etc.
Thanks
Craig
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.