対話Webサービスで行ったリクエストには、EQLの文を入れることができます。
対話サービスのEQLConfig型を使用すると、EQL文を使用する問合せを作成できます。
RETURN SalesTransactions AS SELECT SUM(FactSales_SalesAmount) WHERE (DimDate_FiscalYear=2008) AS Sales2008, SUM(FactSales_SalesAmount) WHERE (DimDate_FiscalYear=2007) AS Sales2007, ((Sales2008-Sales2007)/Sales2007 * 100) AS pctChange, COUNTDISTINCT(FactSales_SalesOrderNumber) AS TransactionCount GROUP
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.endeca.com/MDEX/conversation/3/0" xmlns:typ="http://www.endeca.com/MDEX/lql_parser/types"> <soapenv:Header/> <soapenv:Body> <ns:Request> <ns:Language>en</ns:Language> <ns:State/> <ns:EQLConfig Id="EQLRequest" <ns:EQLQueryString> RETURN SalesTransactions AS SELECT SUM(FactSales_SalesAmount) WHERE (DimDate_FiscalYear=2008) AS Sales2008, SUM(FactSales_SalesAmount) WHERE (DimDate_FiscalYear=2007) AS Sales2007, ((Sales2008-Sales2007)/Sales2007 * 100) AS pctChange, countDistinct(FactSales_SalesOrderNumber) AS TransactionCount GROUP </ns:EQLQueryString> </ns:EQLConfig> </ns:Request> </soapenv:Body> </soapenv:Envelope>
EQLQueryString要素の内容は、1つの有効なEQL文であることが必要です。
<cs:EQL Id="EQLRequest"> <cs:ResultRecords NumRecords="1" Name="SalesTransactions"> <cs:DimensionHierarchy/> <cs:AttributeMetadata name="Sales2007" type="mdex:double"/> <cs:AttributeMetadata name="Sales2008" type="mdex:double"/> <cs:AttributeMetadata name="TransactionCount" type="mdex:long"/> <cs:AttributeMetadata name="pctChange" type="mdex:double"/> <cs:Record> <Sales2007 type="mdex:double">2.79216705182E7</Sales2007> <Sales2008 type="mdex:double">3.62404846965997E7</Sales2008> <TransactionCount type="mdex:long">3796</TransactionCount> <pctChange type="mdex:double">29.793397114178</pctChange> </cs:Record> </cs:ResultRecords> </cs:ContentElement>
言語IDが指定されていない場合は、en(英語)がデフォルトになります。
前述のEQLQueryStringの例では、リクエストのどの部分でEQL解析エラー・メッセージのためのLanguage要素を指定するかを示しています。