30日間の無料評価版をお試しいただけます。

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

 

こちらでは、全体的な管理レポートwebサービスについて紹介します。

 

 

基礎的な関数

こちらの関数は、レポートwebサービスが機能しているかをテストするために使用します。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。TEST」に設定します。
OrgRefStringクライアント組織内部参照IDです。(オプション設定)

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteReportCall>
        <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>TEST</reportRequest>          
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

返される応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

 

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <canDrill>false</canDrill>
            <dashboardEnabled>false</dashboardEnabled>
            <errorCode>0</errorCode>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Connection Tested Successfully</messages>
            <messages>Unknown Or Unsupported Request: TEST</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <sessionId>f78fe29edb19bbfe45626c2203249f4b</sessionId>
            <statusCode>SUCCESS</statusCode>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("TEST");
  • 特定のクライアント組織を指定する必要がある場合は、こちらのコードを追加します。

     

    rsr.setOrgRef("org1");      // search for the report in this client org
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、StatusCodeパラメーターが含まれます詳細は、応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_test_reportservices.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_test_reportservices.jsp」を実行します。

<%          
/*              ws_test_reportservices.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
     
 
    ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
    ReportServiceRequest rsr = new ReportServiceRequest();
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    rsr.setReportRequest("TEST");
    rsr.setOrgRef("1");
     
     
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    if ("SUCCESS".equals(rs.getStatusCode())) {
          JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
            JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
            m.marshal(rootElement,out);
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
%>

こちらのwebサービスは、指定したレポートの詳細を取得します。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestString

webサービス関数です。「INFO」に設定します。

OrgRefStringクライアント組織内部参照IDです。(オプション設定)
ReportIdInteger特定のレポートを検索するために、レポートIDを提供することができます。

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteReportCall>
        <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>INFO</reportRequest>
            <reportId>60712</reportId>       
         </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
ReportNameString

指定したレポートの名前です。

ReportDescriptionString指定したレポートの説明です。
ReportUUIDInteger指定したレポートの一意のID(または、UUID)です。
HitCountIntegerレポートがアクセスされた回数です。
FormatCodeStringレポートの書式コードです。
AverageRunTimeIntegerレポートの平均実行時間です。
CategoryStringレポートが保存されているカテゴリーです。
SubCategoryStringレポートのサブカテゴリーです。
ReportUsageIntegerレポートが使用、またはアクセスされた回数です。
ViewNameStringビューの名前です。
DatasourceStringデータソースの名前です。
AuthorStringレポートを作成したユーザーです。
AuthoringModeStringレポートが作成されたモードです。
ReportTemplateStringレポートのテンプレートです。
DataOutputStringデータ出力です。例:カラム(列)
DashboardEnabledBooleanダッシュボードが有効化されている場合はTrueです。
LastModifiedDateDateレポートが最後に変更された日付です。

 

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Tutorial</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>0</hitCount>
            <lastModifiedDate>2017-06-26</lastModifiedDate>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 60712 Successfully</messages>
            <messages>Collating Report Information</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Company Name</span>
In List
<span class="rptFilterLogicIdentifier">[User Prompt]</span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription>Top N Agencies compared to all other Agencies by demographic</reportDescription>
            <reportId>60712</reportId>
            <reportName>Agency Benchmark</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>c83357db-8aef-4ec7-ab72-fce34de9ee77</reportUUID>
            <reportUsage>0</reportUsage>
            <sessionId>900e9dfabd21bdef75410fa88fe501dd</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Marketing &amp; Booking</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("INFO");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。

     

    rsr.setOrgRef("org1");      // search for the report in this client org
  • どのレポートのコメントのステータスを変更するか指定することができます。

     

    rsr.setReportId(60712);
  • レポートのクライアント参照ID、またはセッションIDを指定することもできます。

    rsr.setReportClientReferenceId("1");
    rsr.setSessionId("18607a5670842650d512976b5d7ccddd");
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_info_report.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_info_report.jsp」を実行します。

<%          
/*              ws_info_report.jsp              */
%>
  
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
 
ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
    ReportServiceRequest rsr = new ReportServiceRequest();
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    rsr.setReportRequest("INFO");
 
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    rsr.setSessionId("18607a5670842650d512976b5d7ccddd");
 
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    if ("SUCCESS".equals(rs.getStatusCode())) {
          JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
            JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
            m.marshal(rootElement,out);
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
%>

こちらのwebサービスは、レポートのカラム(列)やフィルターのメタデータを含む、指定したレポートのスキーマ情報を返します。レポートは、そのレポートID、またはwebサービス名を提供することで指定しなくてはいけません。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「SCHEMA」に設定します。
OrgRefStringクライアント組織内部参照IDです。(オプション設定)
ReportIdInteger特定のレポートを検索するための内部レポートIDです。レポートIDは、レポートが編集される度に変更されます。ヒント:関連するレポートIDを取得するために、GETIDFROMUUID関数を使用することができます。
ObjectNameString(オプション設定)レポートのwebサービス名です。レポートIDが提供されている場合、こちらは必要ありません。

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>SCHEMA</reportRequest>
            <reportId>60712</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービスリクエストのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

Columns

ReportSchema[]

レポート結果セット内の各カラム(列)と、レポートにユーザープロンプトフィルターのデータを渡す必要があるかの情報(メタデータ)を含むReportSchemaオブジェクトの配列です。より詳細な情報は、以下のを参照してください。

Author

String

レポートを作成したユーザーの名前です。

AuthoringMode

String

 

AverageRunTime

Integer

 

CanDrill

Boolean

レポートのドリル可否です。

Category

String

レポートが保存されているフォルダーの名前です。

SubCategory

String

レポートが保存されているサブフォルダーの名前です。

DashboardEnabled

Boolean

 

DataOutput

String

以下のいずれかになります。

  • COLUMN
  • ROW
  • PIVOT

Datasource

String

レポートが依存するデータソースの名前です。

DrillCode

String

レポートで利用可能な場合のドリルタイプです。以下のいずれかになります。

  • DRILLDOWN
  • DRILLTHROUGH
  • DRILLANYWHERE

FormatCode

String

指定したレポートの書式コードです。以下のいずれかになります。

  • REPORTANDCHART
  • CHART
  • REPORT

HitCount

Integer

指定したレポートがアクセスされた回数です。

LastModifiedDate

String

レポートが最後に変更された日付です。

LastRunDuration

Integer

 

PreRunFilterString

String

 

Private

Boolean

レポートが非公開、または公開のどちらであるかを定義します。(レガシーサービスの場合は非公開です)

ReportDescription

String

指定したレポートの説明です。

ReportId

Integer

指定したレポートのIDです。 

ReportName

String

指定したレポートの名前です。

ReportTemplate

String

レポートに適用するテンプレートです。以下のいずれかになります。

  • REPORTANDCHART
  • CHART
  • REPORT

ReportUUID

String

レポートのUUIDです。

ReportUsage

Integer

 

ViewName

String

レポートが依存するビューの名前です。

Tags

String

 

ErrorCode

Integer

webサービスが失敗した場合のエラーのコード番号です。

Messages

String[]

レポートがサーバ上で実行されている時のデバッグ情報を示す文字列の配列です。デバッグとエラーのトレーシングに使用されます。

ReportSchemaオブジェクトは、レポートカラム(列)の情報を含む、以下のパラメーターを返します。

パラメーター説明

ColumnName

String

レポートカラム(列)の名前です。

DisplayName

String

カラム(列)の表示名です。

ColumnLength

String

レポートカラム(列)の長さです。

FieldId

Integer

カラム(列)のフィールドIDです。

DataType

String

レポートカラム(列)のデータ型です。

SortOrder

Integer

カラム(列)を並べかえる順序です。

Hidden

Boolean

レポートでのカラム(列)表示有無です。

NumberOfDecimals

Integer

 

OutputLocation

String

 

AllowPrompt

Boolean

フィルターのみの設定です。

CachedValues

Boolean

フィルターのみの設定です。フィルターのキャッシュ値使用有無です。

FilterDisplayType

String

フィルターのみの設定です。カラム(列)がフィルタの場合のフィルター表示タイプです。

FilterId

String

フィルターのみの設定です。カラム(列)がフィルターの場合のフィルターIDです。

FilterOmittable

Boolean

フィルターのみの設定です。

FilterType

String

フィルターのみの設定です。フィルタータイプと、プロンプトに投入する必要のあるデータを決定します。

DefaultValue1

String

フィルターのみの設定です。フィルターが設定されている場合の最初のデフォルト値です。

DefaultValue2

String

フィルターのみの設定です。フィルターが設定されている場合の二番目のデフォルト値です。

FilterTypeCode

String

フィルターのみの設定です。

FilterUUID

String

フィルターのみの設定です。フィルターのUUIDです。

MinimumValue

BigDecimal

フィルターのみの設定です。フィルターが設定されている場合の最小値です。

MaximumValue

BigDecimal

フィルターのみの設定です。フィルターが設定されている場合の最大値です。

ParentFilterId

Integer

フィルターのみの設定です。依存フィルターが設定されている場合の親フィルターのフィルターIDです。

Prompt

Boolean

フィルターのみの設定です。カラム(列)がプロンプトフィルターであるかどうかです。

ValueUnitCode

String

フィルターのみの設定です。フィルターが設定されている場合の時間単位です。

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
    <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
        <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
           <category>Tutorial</category>
            <columns>
               <columnName>Region</columnName>
               <dataType>TEXT</dataType>
            <displayName>Athlete Region</displayName>
            <fieldId>1</fieldId>
            <hidden>false</hidden>
               <numberOfDecimals>0</numberOfDecimals>
               <outputLocation>COLUMN</outputLocation>
               <prompt>false</prompt>
               <sortOrder>0</sortOrder>
            </columns>
            <columns>
               <allowPrompt>false</allowPrompt>
               <cachedValues>true</cachedValues>
               <columnName>Region</columnName>
               <dataType>TEXT</dataType>
            <displayName>Athlete Region</displayName>
            <filterDisplayType>DROPDOWN</filterDisplayType>
               <filterId>74908</filterId>
               <filterOmittable>true</filterOmittable>
               <filterType>INLIST</filterType>
               <filterTypeCode>FILTER</filterTypeCode>
             <filterUUID>d4ea61ab-247e-403a-b51b-8243aeea63db</filterUUID>
               <numberOfDecimals>0</numberOfDecimals>
               <prompt>true</prompt>
               <sortOrder>0</sortOrder>
            </columns>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team !!!</datasource>
            <drillCode>DRILLDOWN</drillCode>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>3</hitCount>
            <lastModifiedDate>2018-06-07</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 74907 Successfully</messages>
            <messages>Collating Schema Information</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Athlete Region</span>
In List
<span class="rptFilterLogicIdentifier">[User Prompt]</span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription>Ski Team, 8/6/2018 9:36 AM</reportDescription>
            <reportId>74907</reportId>
            <reportName>cached filters</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>982500e8-7b33-476b-be47-6a1aab611349</reportUUID>
            <reportUsage>100</reportUsage>
            <sessionId>7e9971ea99fff609387ac1c504abcc63</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Training</subCategory>
            <tags>No tags</tags>
            <viewName>Ski Team</viewName>
         </return>
    </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("SCHEMA");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。

     

    rsr.setOrgRef("org1");      // search for the report in this client org
  • ステータスを変更するレポートのコメントを指定することができます。

     

    rsr.setReportId(70045);
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_reportschema.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_reportschema.jsp」を実行します。

<%          
/*              ws_reportschema.jsp                             */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%
    ReportServiceResponse rs = null;
    ReportServiceRequest rsr = new ReportServiceRequest();
    ReportServiceService ts = new ReportServiceServiceLocator("localhost", 8080, "/services/ReportService", false);
    ReportServiceSoapBindingStub rssbs = (ReportServiceSoapBindingStub) ts.getReportService();
  
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    rsr.setReportRequest("SCHEMA");
     
    rsr.setReportId(70045);
     
    rs = rssbs.remoteReportCall(rsr);
  
    if ("SUCCESS".equals(rs.getStatusCode())) {
        out.write("Success </br>");
                                    ReportSchema[] schema = rs.getColumns();
                                    for (ReportSchema s: schema)
                                                    //display filters:
                                                    if (s.getFilterType() != null && s.getFilterTypeCode().equals("FILTER")){
                                                                        out.write("<br>Display Name: " + s.getDisplayName());
                                                                        out.write("<br>Filter UUID:" + s.getFilterUUID());
                                                                        out.write("<br>Filter Id:" + s.getFilterId());
                                                    }
    } else {
        out.write(rs.getStatusCode());
        out.write(rs.toString());
    }
%>

webサービスは、指定したレポートのフィルター値を返します。

注意:現在、このリクエストにユーザー情報を渡す方法はありません。そのため、特定の値を制限するアクセスフィルターがレポートに適用されている場合、ログインしているユーザー(このwebサービスを呼び出しているユーザー)がアクセスできるフィルター値のみが返されます。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「FILTEROPTIONS」に設定します。
OrgRefString(オプション設定)特定のクライアント組織を指定してレポートを検索する場合の、クライアント組織内部参照IDです。こちらが指定されてない場合、デフォルト組織から検索されます。
ReportClientReferenceIdString(オプション設定)特定のクライアント組織を指定する、別のオプションです。
ReportIdInteger特定のレポートを検索するための内部レポートIDです。レポートIDは、レポートが編集される度に変更されます。ヒント:関連するレポートIDを取得するために、GETIDFROMUUID関数を使用することができます。
ObjectNameString内部フィルターIDです。ヒント:レポートが編集される度に変更されるため、SCHEMA関数を使用して有効なフィルターIDを取得します。

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
    <web:remoteReportCall>
        <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
                <password>test</password>
                <orgId>1</orgId>
                <reportRequest>FILTEROPTIONS</reportRequest>
                <reportId>70066</reportId>
                <objectName>70081</objectName>
         </arg0>
    </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

応答には、これらの主要なパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービスリクエストのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

Results

ReportRow[]

利用可能なフィルター値の配列です。より詳細な情報は、以下のを参照してください。

Author

String

レポートを作成したユーザーの名前です。

AuthoringMode

String

 

AverageRunTime

Integer

 

CanDrill

Boolean

レポートのドリル可否です。

Category

String

レポートが保存されているフォルダーの名前です。

SubCategory

String

レポートが保存されているサブフォルダーの名前です。

DashboardEnabled

Boolean

 

DataOutput

String

以下のいずれかになります。
  • COLUMN
  • ROW
  • PIVOT

Datasource

String

このレポートに使用されているデータソースの名前です。

FormatCode

String

指定したレポートの書式コードです。以下のいずれかになります。

  • REPORTANDCHART
  • CHART
  • REPORT

HitCount

Integer

指定したレポートがアクセスされた回数です。

LastModifiedDate

String

レポートが最後に変更された日付です。

LastRunDuration

Integer

 

PreRunFilterString

String

 

Private

Boolean

レポートが非公開、または公開のどちらであるかを定義します。(レガシーサービスの場合は非公開です)

ReportDescription

String

指定したレポートの説明です。 

ReportId

Integer

指定したレポートのIDです。 

ReportName

String

指定したレポートの名前です。 

ReportTemplate

String

レポートに適用するテンプレートです。以下のいずれかになります。

  • REPORTANDCHART
  • CHART
  • REPORT

ReportUUID

String

レポートのUUIDです。

ReportUsage

Integer

 

ViewName

String

レポートが依存するビューの名前です。 

Tags

String

 

ErrorCode

Integer

webサービスが失敗した場合のエラーのコード番号です。 

Messages

String[]

レポートがサーバ上で実行されている場合にデバッグ情報を示す文字列の配列です。デバッグとエラーのトレーシングに使用されます。 

ReportRowオブジェクトは、以下のパラメーターを返します。

パラメーター説明
DataValueString[]レポート結果セット内の各カラム(列)データの文字列の配列です。


応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
    <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
        <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
           <category>Tutorial</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>2</hitCount>
            <lastModifiedDate>2018-06-18</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 70080 Successfully</messages>
            <messages>Retrieving Options</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Region (FilterId: 70082 ) Requires User Prompt</messages>
            <messages>Ignoring Prompt Filter On Field: 70082</messages>
            <messages>DEMOGRAPHIC (FilterId: 70081 ) Requires User Prompt</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Athlete Region</span>
In List
<span class="rptFilterLogicIdentifier">[User Prompt]</span>
</div>
<div class="rptFilterLogicText">
AND
<span class="rptFilterLogicIdentifier">Demographic</span>
In List
<span class="rptFilterLogicIdentifier">(Adventure, Relaxation, Family, Culture)</span>
</div>]]></preRunFilterString>
            <private>false</private>
            <reportDescription>Ski Team, 18/6/2018 2:49 PM</reportDescription>
            <reportId>70066</reportId>
            <reportName>qwerty</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>c105ab26-9744-434d-9c8c-9fb9e48d80c0</reportUUID>
            <reportUsage>100</reportUsage>
            <results>
               <dataValue>Asia</dataValue>
               <dataValue>Asia</dataValue>
            </results>
            <sessionId>eb31d9392a25c8c40995237650837cd5</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Training</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
        </return>
    </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("FILTEROPTIONS");
  • フィルターを取得するレポートを指定します。

     

    rsr.setReportId(70066);
  • 特定のフィルターを取得する場合は、ObjectNameパラメーターにフィルターIDを提供します。

     

    rsr.setObjectName("70081");
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_filteroptions.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_filteroptions.jsp」を実行します。

<%          
/*              ws_filteroptions.jsp                            */
%>
<%
    ReportServiceResponse rs = null;
    ReportServiceRequest rsr = new ReportServiceRequest();
    ReportServiceService ts = new ReportServiceServiceLocator("localhost", 8080, "/services/ReportService", false);
    ReportServiceSoapBindingStub rssbs = (ReportServiceSoapBindingStub) ts.getReportService();
  
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(1);
    rsr.setReportRequest("FILTEROPTIONS");
     
    rsr.setReportId(70066);
    rsr.setObjectName("70081");
                 
     
    rs = rssbs.remoteReportCall(rsr);
  
    if ("SUCCESS".equals(rs.getStatusCode())) {
        out.write("Success </br>");
                                    ReportRow[] rows = rs.getResults();
                                    for (ReportRow r: rows) {
                                                    //display filter values:                                       
                                                                        out.write("<br>" + r.getDataValue()[0]);
                                                    }
    } else {
        out.write(rs.getStatusCode());
        out.write(rs.toString());
    }
%>

 

 

 

レポート結果セット関数

これらのwebサービスは、レポートにより生成される結果に固有のものです。

こちらのwebサービスは、指定したレポートの結果データと、レポートのメタデータを取得します。レポートの結果は、書式設定されていないそのままの形式になります。この結果は、ReportRowオブジェクトの配列に保存され、このオブジェクトは、各結果ロウ(行)を表します。そのため、各ロウ(行)に対して、結果データの各カラム(列)のデータを含む文字列の配列が存在します。

注意:このデータを、文字列表現から各特定のカラム(列)のデータ型に変換するのは、webサービスクライアント次第です。各カラム(列)のデータ型は、SCHEMA関数で取得することができます。

例えば、以下は2つのカラム(列)を含み、各ユーザーロールに割り当てられたユーザー数を特定するロール集計レポートを示しています。

ユーザーロール人数
System Administrator1
Consumer & Collaborator5
Report Content Writer4

こちらのwebサービスは、各ユーザーロールのReportRowオブジェクトを返します。各オブジェクトは、2つのデータ文字列を含みます。ひとつはロール名であり、もうひとつはユーザー数を表示します。

 


リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「RESULTSET」に設定します。
OrgRefStringクライアント組織内部参照IDです。(オプション設定)
ReportIdInteger結果データを参照するレポートのIDです。

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>RESULTSET</reportRequest>
            <reportId>58511</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

応答には、これらの主要なパラメーターが含まれます。(より詳細な応答パラメーターの一覧は、ReportServiceResponseオブジェクトを参照してください)

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
ResultsReportRow[]レポートのデータセットの結果を含むオブジェクトの配列です。

 

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>4</hitCount>
            <lastModifiedDate>2016-04-13</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 58511 Successfully</messages>
            <messages>Returning RAW Resultset</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <reportDescription/>
            <reportId>58511</reportId>
            <reportName>Role Population</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID>
            <reportUsage>7</reportUsage>
            <results>
               <dataValue>System Administrator</dataValue>
               <dataValue>1</dataValue>
            </results>
            <results>
               <dataValue>Consumer &amp; Collaborator</dataValue>
               <dataValue>5</dataValue>
            </results>
            <sessionId>c958af74f677c4b1f575bd728d3b25d0</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>User Access</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("RESULTSET");
  • 結果セットを取得するレポートを指定します。

     

    rsr.setReportId(60712);
  • レポートクライアント参照IDを指定することもできます。

     

    rsr.setReportClientReferenceId("1");
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeと結果パラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_resultset.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_resultset.jsp」を実行します。

<%          
/*              ws_resultset.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
     
ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
    ReportServiceRequest rsr = new ReportServiceRequest();
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    rsr.setReportRequest("RESULTSET");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    if ("SUCCESS".equals(rs.getStatusCode())) {
          
          JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
            JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
            m.marshal(rootElement,out);   
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
 
     
%>

こちらのwebサービスは、RESULTSET関数の呼び出しに類似していますが、結果セットをレポートのフォーマッターを使用して返します。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「FORMATTEDRESULTSET」に設定します。
OrgRef

String

クライアント組織内部参照IDです。(オプション設定)
ReportIdInteger結果データを参照するレポートのIDです。

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>FORMATTEDRESULTSET</reportRequest>
            <reportId>58511</reportId>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

応答には、これらの主要なパラメーターが含まれます。(より詳細な応答パラメーターの一覧は、ReportServiceResponseオブジェクトを参照してください)

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE
ResultsReportRow[]レポートのデータセットの結果を含むオブジェクトの配列です。

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Audit Reports</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Yellowfin Configuration Database</datasource>
            <errorCode>0</errorCode>
            <formatCode>REPORTANDCHART</formatCode>
            <hitCount>5</hitCount>
            <lastModifiedDate>2016-04-13</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <lastRunStatus>RUN_NOERROR</lastRunStatus>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 58511 Successfully</messages>
            <messages>Returning RAW Resultset</messages>
            <messages>Request Contains No ReportFilter Records.</messages>
            <messages>Report Run Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <private>false</private>
            <reportDescription/>
            <reportId>58511</reportId>
            <reportName>Role Population</reportName>
            <reportTemplate>REPORTANDCHART</reportTemplate>
            <reportUUID>00c65743-15f8-4f93-ace1-e3d4d2b956eb</reportUUID>
            <reportUsage>9</reportUsage>
            <results>
               <dataValue>System Administrator</dataValue>
               <dataValue>1</dataValue>
            </results>
            <results>
               <dataValue>Consumer &amp; Collaborator</dataValue>
               <dataValue>5</dataValue>
            </results>
            <sessionId>1e4f0c8ee07d24a5500f952a459b1652</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>User Access</subCategory>
            <tags>No tags</tags>
            <viewName>NEW VIEW</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("FORMATTEDRESULTSET");
  • 書式設定された結果セットを取得するレポートを指定します。

     

    rsr.setReportId(60712);
  • レポートクライアント参照IDを指定することができます。

     

    rsr.setReportClientReferenceId("1");
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、他のレポート固有のパラメーターとともに、StatusCodeと結果パラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_resultset.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_resultset.jsp」を実行します。

<%          
/*              ws_resultset.jsp              */
%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
     
ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
    ReportServiceRequest rsr = new ReportServiceRequest();
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    rsr.setReportRequest("FORMATTEDRESULTSET");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setReportClientReferenceId("1");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    if ("SUCCESS".equals(rs.getStatusCode())) {
         
          JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
            JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
            m.marshal(rootElement,out);   
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
     
%>

 

 

 

その他

こちらの関数は、受信者の電子メールアドレスにレポートを送信します。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「SENDTOEMAIL」に設定します。
OrgRefStringクライアント組織の内部参照IDを指定するためのオプションパラメーターです。
ReportIdInteger電子メール送信されるレポートの内部IDです。
ReportsOptionString[]レポート送信先となる電子メールアドレスの一覧です。
AlterationCommand  
SessionIdInteger(オプション設定)IDを使用して以前のセッションを指定します。
LanguageCode (オプション設定)言語を指定します。

 

リクエストの例

以下のSOAPの例は、こちらの呼び出しに渡すことのできるパラメーターを示しています。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.web.mi.hof.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:remoteReportCall>
         <arg0>
            <loginId>admin@yellowfin.com.au</loginId>
            <password>test</password>
            <orgId>1</orgId>
            <reportRequest>SENDTOEMAIL</reportRequest>
            <reportId>70012</reportId>
            <alterationCommand>drill-down|70012</alterationCommand>
            <reportOptions>
                <string>binish.sheikh@yellowfin.com.au</string>
            </reportOptions>
            </arg0>
      </web:remoteReportCall>
   </soapenv:Body>
</soapenv:Envelope>

 

応答要素

応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

応答の例

サービスは、今回のSOAPの例に基づき、以下の応答を返します。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:remoteReportCallResponse xmlns:ns2="http://webservices.web.mi.hof.com/">
         <return>
            <author>System Administrator</author>
            <authoringMode>JAVA</authoringMode>
            <averageRunTime>0</averageRunTime>
            <canDrill>false</canDrill>
            <category>Tutorial</category>
            <dashboardEnabled>true</dashboardEnabled>
            <dataOutput>COLUMN</dataOutput>
            <datasource>Ski Team</datasource>
            <errorCode>0</errorCode>
            <formatCode>CHART</formatCode>
            <hitCount>3</hitCount>
            <lastModifiedDate>2018-03-07</lastModifiedDate>
            <lastRunDuration>0</lastRunDuration>
            <messages>Successfully Authenticated User: admin@yellowfin.com.au</messages>
            <messages>Loaded Report: 70012 Successfully</messages>
            <messages>Web Service Request Complete</messages>
            <preRunFilterString><![CDATA[<div class="rptFilterLogicText">
<span class="rptFilterLogicIdentifier">Invoiced Date</span>
Between
<span class="rptFilterLogicIdentifier">Current Date - 6 Years And Current Date</span>
</div>
.
.
.
]]></preRunFilterString>
            <private>false</private>
            <reportDescription>This report provides a high level summary of campaigns</reportDescription>
            <reportId>70012</reportId>
            <reportName>Campaign Summary</reportName>
            <reportTemplate>CHART</reportTemplate>
            <reportUUID>3e842fae-02f7-4ad3-a632-ca267e0078da</reportUUID>
            <reportUsage>100</reportUsage>
            <sessionId>fa0cc79a9ea229bd5df85b4a7f50c878</sessionId>
            <statusCode>SUCCESS</statusCode>
            <subCategory>Marketing &amp; Booking</subCategory>
            <tags>No tags</tags>
            <viewName>New View</viewName>
         </return>
      </ns2:remoteReportCallResponse>
   </S:Body>
</S:Envelope>

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
      
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("SENDTOEMAIL");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。

     

    rsr.setOrgRef("org1");      // search for the report in this client org
  • 電子メール送信するレポートと、その変更コマンドを指定します。

     

    rsr.setReportId(60712);
    rsr.setAlterationCommand("drill-down|60712");
  • レポートの送信先となる電子メールアドレスを提供します。

     

    rsr.setReportOptions(new String[]{ "dummy@dummy.com"});
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、次のパラメーターが含まれます:StatusCode、Dashboard、Subtabs。(より詳細な情報は、上記応答パラメーターの表を参照してください)

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_sendtoemail.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_sendtoemail.jsp」を実行します。

/*              ws_sendtoemail.jsp             */
  
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
<%
     
 
    ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
    ReportServiceRequest rsr = new ReportServiceRequest();
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    rsr.setReportRequest("SENDTOEMAIL");
    rsr.setOrgRef("1");
    rsr.setReportId(60712);
    rsr.setAlterationCommand("drill-down|60712");
    rsr.setReportOptions(new String[]{ "dummy@dummy.com"});
    rsr.setReportClientReferenceId("1");
    rsr.setDashboardTabId(70080);
     
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
    if ("SUCCESS".equals(rs.getStatusCode())) {
         
          
          JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
            JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
            m.marshal(rootElement,out);   
            
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
%>

webサービスレポートのレポートからのインタラクションを処理します。こちらの関数は、レポートページの変更、ドリルスルー、ドリルダウン、ドリルエニウェアの実行、シリーズ選択の変更など、レポートでのインタラクションに使用します。

AlterationCommandパラメーターは、レポートに組み込まれたテキストコードであり、レポートを変更するためにwebサービスに戻すことができます。

 

リクエスト要素

以下の要素は、こちらのリクエストとともに渡されます。

リクエスト要素データ型説明

LoginId

String

Yellowfin Webサービスの管理者ユーザーIDです。これは、ログインIDの方法に応じて、ユーザーID、または電子メールアドレスになります。

このYellowfinアカウントは、「Yellowfin Webサービス使用権」が有効化されたロールを持ち、デフォルト(プライマリー)組織に所属していなくてはいけません。

Password

String

上記アカウントのパスワードです。

OrgId

Integer

Yellowfin内のデフォルト(プライマリー)組織IDです。常に、「1」に設定します。

ReportRequestStringwebサービス関数です。「COMMAND」に設定します。
OrgRefStringクライアント組織の内部参照IDです。(オプション設定)
ReportIdInteger処理をするレポートのIDです。
AlterationCommandStringレポートに適用するコマンドです。これは、レポートの変更方法を指定します。このパラメーターは、レポートに組み込まれたテキストコードです。レポート詳細取得時に、この値をwebサービスに渡すことでレポートを変更することができます。 
CommandHistoryString(オプション設定)パイプされたコマンドの一覧です。(レポートがセッションから消去されている場合、コマンドを順番に適用します)
SessionIDString(オプション設定)以前のセッションのIDです。
LanguageCodeString(オプション設定)言語を指定します。

 

応答要素

応答には、これらのパラメーターが含まれます。

応答要素データ型説明

StatusCode

String

Webサービス呼び出しのステータスです。値の選択肢は、以下の通りです。

  • SUCCESS
  • FAILURE

 

手順

Javaの例を使用して、こちらの呼び出しを実行するための詳細な手順は、以下を参照してください。

  • 管理ユーザーとしてのログインと、実行するwebサービスの呼び出しの指定を含む、こちらの呼び出しを実行するための基礎的なリクエストです。

    ReportServiceRequest rsr = new ReportServiceRequest();
     
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
     
    rsr.setReportRequest("COMMAND");
  • レポートの保存されているクライアント組織を指定する必要がある場合は、こちらのコードを追加します。

     

    rsr.setReportClientReferenceId("1");
  • レポートに適用するコマンドを追加します。

     

    rsr.setAlterationCommand("DRILLDOWN|60712|53655|RXVyb3Bl");
  • 必要に応じて、以前のリクエストからセッションIDを渡します。

     

    rsr.setSessionId("ce509806176f6a0563767bfb0b2bb36f");
  • リクエストを構成したら、呼び出しを実行します。

    ReportServiceResponse rs=rsc.remoteReportCall(rsr);

    レポートwebサービスを初期化します。実行方法の詳細は、こちらを参照してください。

 

  • 返される応答には、他の固有なパラメーターとともに、StatusCodeパラメーターが含まれます。詳細は、上記応答パラメーターの表を参照してください。

 

完成例

以下は、こちらの関数の完成例です。こちらを使用するには、以下の手順に従います。

  1. コードをコピーして、「ws_command_report.jsp」として保存します。
  2. root(Yellowfin/appserver/webapps/ROOT)フォルダーにファイルを配置します。
  3. 環境に応じて、ホスト、ポート番号、管理ユーザーの詳細を調整します。
  4. インターネットブラウザから、「http://<host>:<port>/ws_command_report.jsp」を実行します。

<%@page import="com.thoughtworks.xstream.io.xml.StaxDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="com.hof.util.*, java.util.*, java.text.*" %>
<%@ page import="com.hof.web.form.*" %>
<%@ page import="com.hof.mi.web.service.*" %>
<%@ page import="javax.xml.bind.JAXBContext" %>
<%@ page import="javax.xml.bind.Marshaller" %>
<%@ page import="java.io.StringWriter" %>
<%@ page import="javax.xml.bind.JAXBElement" %>
<%@ page import="javax.xml.namespace.QName" %>
 
 
<%
 
ReportService rsc = new ReportService();   //("localhost", 8080, "admin@yellowfin.com.au", "test", "/services/ReportService");
    ReportServiceRequest rsr = new ReportServiceRequest();
    rsr.setLoginId("admin@yellowfin.com.au");
    rsr.setPassword("test");
    rsr.setOrgId(new Integer(1));
    rsr.setReportRequest("COMMAND");
    rsr.setReportId(60712);
 
 
    rsr.setAlterationCommand("DRILLDOWN|60712|53655|RXVyb3Bl");
 
    rsr.setReportClientReferenceId("1");
    rsr.setSessionId("ce509806176f6a0563767bfb0b2bb36f");
    ReportServiceResponse rs=rsc.remoteReportCall(rsr);
     
    if ("SUCCESS".equals(rs.getStatusCode())) {
         
        %> <xmp> <%
          JAXBContext context = JAXBContext.newInstance(ReportServiceResponse.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
            JAXBElement<ReportServiceResponse> rootElement = new JAXBElement<ReportServiceResponse>(new QName("ReportServiceResponse"), ReportServiceResponse.class, rs);
            m.marshal(rootElement,out);   
            %></xmp><%
        //out.write("Success");
    } else {
        out.write("Failure");
        out.write(" Code: " + rs.getErrorCode());
    }
%>

 

 


  • No labels