Cognos Analytics 보고서에서 HTML Item에서 보고서 전이 작업을 구현하는 JavaScript 코드 샘플

개요



Cognos Analytics에서 HTML Item을 사용하여 다른 보고서로 드릴 스루처럼 URL로 전환하는 JavaScript 샘플입니다.

이전에 게시한 다음 기사의 Cognos Analytics 버전입니다.
Cognos 보고서에서 HTML 항목에서 보고서 전이 작업을 구현하는 JavaScript 코드 샘플
htps : // 이 m / Shinyama / ms / 6c2b1d91 에 d0 에 fb0 아 12b2

이번에는 타겟 리포트(Report01)를 HTML 형식으로, 같은 윈도우상에 호출하고 있습니다.

Report01이 대상 보고서이고 GETReport가 호출자 보고서입니다.


GETReport를 실행하고 프롬프트를 적절하게 선택하고 버튼을 클릭하면,


Report01로 전환하여 프롬프트에서 선택한 항목으로 필터링합니다.


구현



GETReport 보고서 화면
Cognos Analytics에서 HTML 항목을 사용하는 경우 화면과 같이 페이지 아이콘에서 "보고서"를 선택하고 "속성 표시"아이콘으로 속성을 표시 한 다음 "완전한 양방향으로 실행"을 "아니오"합니다.


제품 프롬프트를 표시하는 값 프롬프트는 속성에서 이름을 "ProdList"로 지정합니다.
버튼의 실체는 블록으로, 클래스에 「버튼」과 「하이퍼 링크」를 지정해, 이름에 「Button1」이라고 명명하고 있습니다.


왼쪽의 HTML 항목 내용입니다.

<script type="text/javascript">

var outputCSV1 ={}
  , oCR = cognos.Report.getReport("_THIS_");

outputCSV1.executeReport1 = function(){

  // ******************************************************************************
  // * 前処理
  // ******************************************************************************

  // パラメータ取得用配列
  var param_list = new Array();
  // URL用パラメータ文字列
  var param_string = "";
  // パラメータ値前文字列
  var param_pre_text = "&p_";
  // パラメータ値後文字列
  var param_tail_text = "=";

  // ゲートウェイURI
  var target_gateway = "../../../bi";
  // レポート出力形式
  var target_format = "HTML";
  // 実行対象レポート検索パス
  var target_report_path = ".public_folders%2FQiita%2FURLDrill%2FReport01";

  // ドリルスルー先レポート実行用URL
  var target_URL = target_gateway + "?pathRef=" + target_report_path + "&format=" + target_format;

  // ******************************************************************************
  // * ドリルスルー先のパラメータ名とドリルスルー元で設定されているプロンプト値を配列化
  // ******************************************************************************

  //  レポートページ - 値のプロンプト(オプション・複数選択)
  param_list[0] = ["pProd",oCR.prompt.getControlByName("ProdList").getValues()];        // 製品


  // ******************************************************************************
  // * ドリルスルー先にパラメータ値を引き渡すための文字列を作成してURLを構成
  // ******************************************************************************

  // 配列化したパラメータ情報に基づいてURL追記用文字列を作成
  for (var i = 0; i < param_list.length; i++) {
    // プロンプトに値がセットされているかチェック
    if(param_list[i][1] != ""){
      // 値がセットされている場合はセットされている数の分だけ文字列を生成
      for (var j = 0; j < param_list[i][1].length; j++) {
        param_string = param_string + param_pre_text + param_list[i][0] + param_tail_text + param_list[i][1][j].use;
      }
    } else {
      // 値がセットされていない場合は空の値で文字列を生成
        param_string = param_string + param_pre_text + param_list[i][0] + param_tail_text;
    }
  }

  // ******************************************************************************
  // * ドリルスルー先レポートを起動
  // ******************************************************************************

  // ドリルスルー先レポートのURLにパラメータ追記用文字列を追加して同じウィンドウで表示
  top.location.href=target_URL + encodeURI(param_string);

};

</script>


오른쪽의 HTML 항목 내용입니다.

<button form="button1" onclick="outputCSV1.executeReport1()" style="WIDTH: 130px; HEIGHT: 0px vertical-align:top;text-align:center;border-style: none;background-color:#fff">


덧붙여서, target_report_path의 내용은 타겟 리포트 메뉴에서 '공유'를 선택하고,


표시되는 URL에서 추출합니다.

좋은 웹페이지 즐겨찾기