XML for Analysis ( XMLA ) es un estándar de la industria para el acceso a datos en sistemas analíticos, como el procesamiento analítico en línea (OLAP) y la minería de datos . XMLA se basa en otros estándares de la industria como XML , SOAP y HTTP . XMLA es mantenido por el XMLA Council, y Microsoft , Hyperion y SAS Institute son los miembros fundadores del XMLA Council.
La especificación XMLA fue propuesta por primera vez por Microsoft como sucesora de OLE DB para OLAP en abril de 2000. En enero de 2001, Hyperion se unió a ella y respaldó XMLA. La versión 1.0 del estándar se publicó en abril de 2001 y en septiembre de 2001 se formó el Consejo XMLA. En abril de 2002, SAS se unió a Microsoft e Hyperion como miembro fundador del Consejo XMLA. [1] Con el tiempo, más de 25 empresas se unieron con su apoyo al estándar.
XMLA consta de solo dos métodos SOAP : ejecutar y descubrir. [2] Fue diseñado de tal manera que se preservara la simplicidad.
El método de ejecución tiene dos parámetros:
El resultado del comando Ejecutar podría ser un conjunto de datos multidimensionales o un conjunto de filas tabulares .
El método Discover fue diseñado para modelar todos los métodos de descubrimiento posibles en OLEDB, incluidos varios conjuntos de filas de esquemas, propiedades, palabras clave, etc. El método Discover permite a los usuarios especificar tanto lo que se necesita descubrir como las posibles restricciones o propiedades. El resultado del método Discover es un conjunto de filas.
XMLA especifica MDXML como lenguaje de consulta. En la versión XMLA 1.1, la única construcción en MDXML es una declaración MDX incluida en la etiqueta <Statement>. [3]
A continuación se muestra un ejemplo de una solicitud de ejecución XMLA con una consulta MDX en el comando.
<soap:Envelope> <soap:Body> <Execute xmlns= "urn:schemas-microsoft-com:xml-analysis" > <Comando> <Instrucción> SELECT Medidas.MIEMBROS EN COLUMNAS DE Ventas </ Instrucción> </Comando> <Propiedades> <ListaDePropiedades> <DataSourceInfo/> < Catálogo > FoodMart </Catálogo > <Formato> Multidimensional </Formato> <AxisFormat> TupleFormat </AxisFormat> </ListaDePropiedades> </Propiedades> </Ejecutar> </soap:Body> </soap:Envelope>
XMLA tiene una noción de estado de sesión . Se mantiene mediante encabezados SOAP predefinidos.