ユーザーコンソール上にデータソースとしてアップロードされているキューブの名前一覧を取得する場合、
直接キューブ名を取得するAPIはございませんが、スキーマ情報を取得するAPIがありますので、
このAPIを活用して取得することができます。

①まずデータグリッドステップにて、APIとして使うURLを入力します。
ここで使うAPIはpentaho/plugin/data-access/api/datasource/analysis/catalog/{スキーマ名}です。

データグリッド.png
②続いてHTTPクライアントステップにて、先ほどのステップで登録したAPIデータを入力しているフィールドを選択し、該当するサーバーのユーザー名とパスワードを入力してください。

httpクライアント.png

③XMLデータ取得ステップからファイルタブにて、「先行のステップから値を引き継ぐ」にチェックを入れて、先ほどのHTTPクライアントステップで設定した結果フィールド名を選択します。

XMLデータ取得1.png

④同じくXMLデータ取得ステップの全般タブにてXpathに/Schema/Cubeと入力してください。

XMLデータ取得2.png
⑤同じくXMLデータ取得ステップのフィールドタブにて、フィールド名を自由に入力していただき、
Xpathのところで「@name」、要素タイプに「属性」、結果タイプに「値」、データタイプに「String」を入力してください。

XMLデータ取得3.png
この状態で実行していただくと、この例ではSteelWheelsスキーマ内で設定されているキューブ名の一覧を取得することができます。

このAPIは実際にはURLの最後に指定したスキーマ内のキューブしか取得できませんが、
スキーマ名の一覧を取得するAPI(pentaho/plugin/data-access/api/datasource/analysis/catalog/)が別途ございますので、これら組み合わせてすべてのキューブ名の一覧取得をPDIで行うことができます。
EE版のみの設定にはなりますが、PUCで出力する際、出力ファイルの改行コードを変更することができます。

方法は起動スクリプトファイル(start-pentaho.shまたはctlscript.shファイル)、
-Dline.separator=$'\r\n'を追加してください。

その後再起動していただいてエクスポートを行うと改行コードがCRLFになっています。

※CRの場合は\r、LFの場合は\nを設定してください。

なお、CE版の場合、このスクリプトを設定すると不具合が発生しますので、お気をつけください。
アナライザレポートによる分析軸として日付を使用されることも多くあると思いますが、
ご使用のデータによっては日付がタイムスタンプ型として登録されている場合、
(例えば、2016/6/14 14:00:00 、2016/6/14 13:30:00というタイムスタンプデータがある場合)、
日付レベルで集計を行うことができず、 秒数単位での集計値が表示されます。

例:日付ディメンジョンごとの売上の表示方法
2016/6/14 14:00:00   100,000
2016/6/14 13:30:00   5,000

※以下のような結果にはなりません。
2016/6/14        105,000




日付レベルでの集計を行うためには、タイムスタンプ型のデータから時間を取り除く必要がありますが、
時間を取り除く方法といたしましてスキーマワークベンチにてスキーマを構成する際に設定することができます。

1つ目は日付レベルよりNameエクスプレッションを使用し、
cdataの欄にDATE_FORMAT(<column名>, '%Y-%m-%d')とご記載いただく方法です。

sql2.png

2つ目は同じく日付レベルよりMemberフォーマッタを使用を選択し、
そこで、languageのところにJavaScriptと記載いただいて、
cdataの欄に、
var originalFormat = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
var newFormat = new java.text.SimpleDateFormat("yyyy-MM-dd");
return newFormat.format(originalFormat.parse(member.getName()));
とご記載いただく方法です。

javascript.png
どちらの方法をご使用いただいても、結果として上記の例であれば、
 日付         売上
2016/6/14        105,000
の集計値をアナライザレポート上で見ることが可能になります。

ぜひお試しください。

CToolsの技術書が発売されました

|
これまでPentahoのアナライザやPDIに関する技術書は発売されておりましたが、
CToolsに関する技術書は出版されておりませんでした。

しかし、この度Packt社より、Learning Pentaho CToolsというCToolsの技術書が発刊されました。

3420OS_4770_Learning Pentaho Ctools.jpg

約400ページに及び、CToolsの各ツールの紹介からインストール、さらには実際にサンプルコードを用いてのダッシュボード作成等、幅広く製品技術をカバーしております。


しかしながら、この本は全編英語となっており、初学者にとっては大変難しいかもしれません。
そこで、弊社ではCT1000というCToolsのトレーニングを開講しております。


このトレーニングを受講していただくと以下リンク先のようなダッシュボードを作成することができるようになります。

これからCToolsを使ってダッシュボードを構築したいという方はぜひトレーニングへご参加いただき、Learning Pentaho CToolsをご一読いただくことをおすすめいたします。

レポートデザイナのデータセットにPDIのデータ変換を使用する方法をご紹介します。

PDIのデータ変換を作成します。
20160602_1.png

動作を確認するために、prptと同じディレクトリにktrを保存します。
20160602_2.png

レポートデザイナーを開き、レポートのデータセットから「Pentaho Data Integration」を選択します。
20160602_3.png

先ほど作成したktrファイルを指定します。(ディレクトリパスが入っているとユーザーコンソールにパブリッシュ後に、パスが異なりktrが読み取れない為、ファイル名だけを指定します)
20160602_4.png

データ項目を配置し確認します。
20160602_5.png

20160602_6.png

BAサーバー(ユーザーコンソール)にパブリッシュします。
20160602_7.png

20160602_8.png

続いて、ktrをレポートと同じフォルダ内にアップロードします。
20160602_9.png

20160602_10.png

20160602_11.png
(「ビュー」 > 「隠しファイルの表示」のチェックをオンにしますとktrファイルがユーザーコンソール上に表示され確認できます)

レポートを開きますと、データ変換で処理されたデータが表示されます。
20160602_12.png


★Have a nice open source day★
KSK Analytics Pentaho Team

前回レポートデザイナーのPDF出力時にパスワードを設定する方法について紹介いたしましたが、
今回は同じくPDFを出力する際に、発行されるPDFファイルの印刷をできないようにするための設定を紹介いたします。

まず、出力したいレポートを開いていただき、
メニューバーのファイル>レポート設定を選択してください。

そうしますと、レポート設定の一覧が出てきますので、ここで暗号化と印刷可否を設定します。
まず、左側のローカルコンフィギュレーションからoutput-capable-pdfを選択してください。

その後、右側にoutput-capable-pdfの設定項目が出てきますので、以下の2点にチェックを付けてください。

①Encryption(40bitまたは120bitを選択してください)
②PrintLevel(コンボボックスにてnoneを選択してください)

reportprint1.png
これで、暗号化と印刷不可の設定ができました。
この状態でPDF出力を行います。

まずファイル>エクスポート>PDFとして保存をクリックしてください。

reportprint2.png

すると、PDF保存の設定画面が出てきますので、ファイル出力先を設定してください。

その後詳細設定タブを開いていただき、セキュリティ設定と暗号化のところで、
「40ビットキーで暗号化する」、または「120ビットキーで暗号化する」のどちらかにチェックをつけてください。
(※レポート設定のEncryptionで設定したビットを選択してください)
また、印刷の許可設定が印刷不可になっていることも確認してください。

reportprint3.png
これで設定が完了しましたので、PDF出力をしてください。

出力したPDFを開くと、印刷ボタンをクリックできないようになっていることを確認してください。

reportprint4.png

レポートデザイナーではPDFやExcelなどにレポートを出力することができますが、
セキュリティの関係で出力したレポートを見ることができる人を制限したい場合、
出力時にパスワードを設定することができます。

ここではPDF形式で出力する際にパスワードを設定する方法について説明いたします。

まず、出力したいレポートを開いてください。

blog20160526-1.pngこの状態でメニューバーのファイル>レポート設定を選択してください。

blog20160526-2.pngこのページ設定では暗号化とパスワードを設定します。
まず、左側のローカルコンフィギュレーションからoutput-capable-pdfを選択してください。

その後、右側にoutput-capable-pdfの設定項目が出てきますので、以下の3点にチェックを付けてください。

①Encryption(40bitまたは120bitを選択してください)
②ownerpassword(設定したいパスワードを入力してください)
③userpassword(設定したいパスワードを入力してください)

blog20160526-3.png
これで、パスワードの設定ができました。
この状態でPDF出力を行います。

PDF出力については、まずファイル>エクスポート>PDFとして保存をクリックしてください。

blog20160526-4.pngすると、PDF保存の設定画面が出てきますので、ファイル出力先を設定してください。

その後詳細設定タブを開いていただき、セキュリティ設定と暗号化のところで、
「40ビットキーで暗号化する」、または「120ビットキーで暗号化する」のどちらかにチェックをつけてください。
(※レポート設定のEncryptionで設定したビットを選択してください)

blog20160526-5.pngこれで設定が完了しましたので、PDF出力をしてください。

出力したPDFを開くとパスワードを入力するようにポップアップが表示されます。

blog20160526-8.png





アナライザーレポートではレポートで使用するディメンションやメジャーの項目が左側のフィールドリストに一覧で表示されます。

スキーマ.png
フィールドリストはカテゴリー、数値-テキスト-時間、A→Z、スキーマのいずれかで並べ替えを行うことができます。
デフォルトではカテゴリーが並べ替えの設定として登録されていますが、このデフォルトの表示順の設定を変更することができます。

①URLを使用したソートオプションの指定
ソートオプションはURLの最後に「fieldListView」クエリーパラメータを追加することでURLに設定できます。
例えば、HTMLやXMLのコードブロックで以下のようなことが可能です。

http://localhost:8080/pentaho/api/repos/xanalyzer/editor?amp;showFieldList=true&amp;showFieldLayout=true&amp;catalog=SampleData&amp;cube=Quadrant%20Analysis&amp;autoRefresh=true&amp;debug=true&amp;fieldListView=cmdViewName

②アノテーションを使用したソートオプションの指定
アノテーションを使用してソートオプションを指定するには、「AnalyzerFieldListView」というCubeレベルのアノテーションを
Mondrianスキーマファイルに追加します。このアノテーションは以下に示すように、キューブの下に最初の子エレメントを置く必要があります。

<Cube name="Quadrant Analysis">
<Annotations>
<Annotation name="AnlalyzerFieldListView">cmdViewName</Annotation>
</Annotations>
<Table name="Quadrant_Acuals" />
<DimensionUsage name="Region" source="Region" />
<DimensionUsage name="Department" source="Department"/>
<DimensionUsage name="Positions" source="Positions" />

③analyzer.propertiesファイルからのソートオプションの指定
このソートオプションは「report.field.list.view」プロパティのcmdViewTypeを設定することで指定できます。

# Default field list view mode used to sort the available field # list in the editor. Possible values include: cmdViewCategory,

# cmdViewType, cmdViewSchema and cmdViewName

# This can also be overriden on a cube level with the annotation

# AnalyzerFieldListView report.field.list.view=cmdViewType

なお、cmdViewTypeの部分は設定したい表示順によって記載が異なります。

表示順の設定名
カテゴリ →cmdViewCategory
数値-レベル-時間 →cmdViewType
A→Z →cmdViewName
スキーマ →cmdViewSchema

この設定に関する注意点
①表示順の設定は以下の優先順位に基づいています。
1,URLで指定されたソート順(ブログ内①)
2,既存のアナライザーレポートの場合、最後に保存された設定
3,キューブで設定したアノテーション(ブログ内②)
4,analyzer.propertiesで設定した順番(ブログ内③)

1~4に該当しない場合、cmdViewCategoryが自動的に適応されます。

アナライザーレポートには様々な設定項目がありますが、

今回はその中でも特に使われる上限値の設定についてご紹介いたします。
いずれの設定項目につきましても、biserver-ee/pentaho-solutions/analyzerの中の
analyzer.propertiesを編集していただくことで変更可能です。

①フィルタの要素数
アナライザーレポートにてフィルタを設定する際、
例えば地域ディメンジョンをフィルターに使う場合、該当する地域の要素(日本、アメリカ、カナダ等)を最大100までしか選択することができません。
しかし、フィルターで100以上の要素を設定したい場合は、

analyzer.propertiesのfilter.members.max.count=100
の値を変更していただくことで、最大要素数を変更することができます。

②レポート表示行数について
アナライザーレポートにて表を作成する際、ある一定の行数を越えると、すべての行が表示されず、
すべての行を見るためには表をエクスポートするようにメッセージで促されます。

ブラウザで表示される一定の行数を変更するためには、
analyzer.propertiesのrenderer.browser.max.pivot.cellsの値を変更してください。

Excelファイルの出力行数
作成したレポートをExcelファイルにエクスポートした際、
10,000行を越えているとエクスポートエラーが発生します。
(エクスポートされたExcelファイルを開くと、エラーメッセージが表示されます)

このExcelファイルに出力される最大行数を変更するには、
analyzer.propertiesのrenderer.export.max.rows=10000を変更してください。


FAQ追加

|

2016年6月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

アイテム

  • XMLデータ取得3.png
  • XMLデータ取得2.png
  • XMLデータ取得1.png
  • httpクライアント.png
  • データグリッド.png
  • javascript.png
  • sql2.png
  • スクリーンショット (1475).png
  • 3420OS_4770_Learning Pentaho Ctools.jpg
  • 20160602_12.png

月別 アーカイブ