XML for Analysis

industristandard basert på XML, SOAP og HTTP for dataaksess i analytiske systemer

XML for Analysis (XMLA) er en industristandard for dataaksess i analytiske systemer, som for eksempel online analytisk prosessering (OLAP) og datautvinning. XMLA er igjen basert på andre industristandarder som XML, SOAP og HTTP. XMLA vedlikeholdes av XMLA Council som består av Microsoft, Hyperion og SAS Institute som også grunnla XMLA Council.

Historie rediger

XMLA-spesifikasjonen ble først foreslått av Microsoft som en etterfølger for OLE DB for OLAP i april 2000. I januar 2001 begynte Hyperion også å støtte XMLA. 1.0-versjonen av standarden ble utgitt i 2001 april, og i 2001 september ble XMLA Council dannet. I 2002 april ble SAS også med i XMLA Council. [1] Med tiden har mer enn 25 selskaper sluttet seg til standarden.[trenger referanse]

API rediger

Programmeringsgrensesnittet til XMLA består av kun av de to SOAP-metodene execute og discover,[2] og ble designet slik for å være enkel.

Execute rediger

Execute-metoden har to parametre:

  • Command: Kommandoen som skal utføres (dette kan være MDX, DMX eller SQL)
  • Properties: En XML-liste over kommandovalg, som timeout, katalognavn, og så videre

Resultatet av en execute-kommando kan være et flerdimensjonalt datasett eller tabulært radsett.

Discover rediger

Discover-metoden ble designet for å modellere alle de ulike utforskningsmetodene som er mulig i OLEDB, inkludert ulike skjemaradsett, egenskaper, nøkkelord, og så videre. Discover-metoden lar brukerne spesifisere både hva som skal oppdages og mulige restriksjoner eller egenskaper. Resultatet av Discover-metoden er et radsett.

Spørrespråk rediger

XMLA spesifiserer MDXML som spørrespråk. I XMLA 1.1-versjonen er den eneste konstruksjonen i MDXML en MDX-setning innenfor <Statement>-taggen.[3]

Eksempel rediger

Nedenfor er et eksempel på en XMLA Execute-forespørsel med MDX-spørring i kommandoen.

<soap:Envelope>
 <soap:Body>
 <Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
  <Command>
  <Statement>SELECT Measures.MEMBERS ON COLUMNS FROM Sales</Statement>
  </Command>
  <Properties>
  <PropertyList>
   <DataSourceInfo/>
   <Catalog>FoodMart</Catalog>
   <Format>Multidimensional</Format>
   <AxisFormat>TupleFormat</AxisFormat>
  </PropertyList>
  </Properties>
 </Execute>
 </soap:Body>
</soap:Envelope>

Sesjonshåndtering rediger

XMLA har en sesjonstilstand som vedlikeholdes gjennom forhåndsdefinerte SOAP-meldingshoder:

  • BeginSession: For å starte en ny økt
  • EndSession: For å avslutte eksisterende økt
  • UseSession: For å bruke eksisterende økt (SessionId-attributtet tidligere returnert for BeginSession skal brukes)

Referanser rediger

  1. ^ «XML for Analysis gathers steam». Arkivert fra originalen 28. mai 2008. 
  2. ^ «XML for Analysis Specification». 
  3. ^ «MDX / mdXML». Arkivert fra originalen 7. september 2008.