J'ai une requête XMLA qui retourne l'Etat et date de dernier traitement d'un cube Analysis Services en XML, comme suit:Utilisez les résultats d'une requête XMLA dans Integration Services
Requête:
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_METADATA</RequestType>
<Restrictions >
<RestrictionList xmlns="urn:schemas-microsoft-com:xml-analysis">
<DatabaseID>SSAS - Premium and Claims V2</DatabaseID>
<CubeID>PDW04 1</CubeID>
<ObjectExpansion>ReferenceOnly</ObjectExpansion>
</RestrictionList>
</Restrictions>
<Properties />
</Discover>
Résultat :
<return xmlns="urn:schemas-microsoft-com:xml-analysis">
<root xmlns="urn:schemas-microsoft-com:xml-analysis:rowset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:schema targetNamespace="urn:schemas-microsoft-com:xml-analysis:rowset" xmlns:sql="urn:schemas-microsoft-com:xml-sql" elementFormDefault="qualified">
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="row" type="row" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="uuid">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="xmlDocument">
<xsd:sequence>
<xsd:any />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="row">
<xsd:sequence>
<xsd:element sql:field="METADATA" name="METADATA" type="xmlDocument" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<row>
<xars:METADATA xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:xars="urn:schemas-microsoft-com:xml-analysis:rowset">
<Cube>
<Name>Premium</Name>
<ID>PDW04 1</ID>
<CreatedTimestamp>2008-11-23T22:31:06</CreatedTimestamp>
<LastSchemaUpdate>2009-01-22T00:50:13</LastSchemaUpdate>
<LastProcessed>2009-01-07T22:28:34</LastProcessed>
<State>Processed</State>
</Cube>
</xars:METADATA>
</row>
</root>
</return>
Je voudrais être en mesure d'utiliser cette requête XMLA dans un package Integration services, l'analyse et le stockage du résultat dans une table de base de données SQL Server. Cependant, la seule tâche qui semble exécuter une requête XMLA est la tâche "Analysis Services Execute DDL", qui n'a pas de méthode pour renvoyer les résultats de la requête autant que je peux le dire.
Est-ce que quelqu'un a des suggestions sur la façon de réaliser cela?
L'option 2 semble également être le meilleur moyen de consommer des données Hyperion Essbase via SSIS. Vous pouvez également utiliser des tâches de script et des sources de script au lieu de la tâche de service Web, car la tâche de service Web ne fonctionne pas particulièrement bien. –