AlteryxのTipsを不定期にお届けしている週間(?)AlteryxTipsです。
今回はレポーティングカテゴリの画像ツールを中心に見ていきたいと思います。
画像ツールの役割

画像ツールは、画像をワークフロー内に取り込み、レポートの一部として使うためのツールです。会社のロゴを挿入したり、プレゼン資料の背景画像を組み込んだり、ちょっとしたイラストをはめこんだり、いろいろな使い道があります。
このツールの読み込める画像形式はGIF、PNG、JPEG形式です。
画像の読み込み方

画像の読み込み方法は3種類あります。
- ランタイムでディスクから画像を取得する
- ワークフローに静止画像を保存する
- フィールド内のバイナリデータから画像を取得する
つまり、PCのローカルストレージ(またはネットワークドライブ)に格納されているファイルを読み込む、ワークフロー内に取り込む、DBなどからバイナリデータを取り込む、という3つの方法です。
内部的には、「ランタイムでディスクから画像を取得する」の場合、ファイルパスのみを後続のツールに送ります。つまり、以下のようなデータを後続のツールに送っています。
<img src="C:\temp\Linear Regression.jpg" width="200" />
一方で、残りの2つのオプションの場合、Base64エンコードされたテキストデータとして保持しています。
<encsection id="206d6ca59982edf70dfdbf5f2a5f344d.PNG" ftype="PNG" src="206d6ca59982edf70dfdbf5f2a5f344d" olen="2654" enclen="3632">iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAK...(以下エンコードデータが続く)</encsection><img src="206d6ca59982edf70dfdbf5f2a5f344d.PNG" width="100" />
ftypeというところに画像の形式が保管されていますが、どうやらPNGとJPGのいずれかしかありません。GIFを読み込んだ場合、内部的にはPNGに変換されてしまいます。
いずれにしても、以下のようにDesignerの見た目では同じレポートスニペットです。

また、「ワークフローに静止画像を保存する」は、1ファイルしか読み込めません。いくつかのファイルを一括で扱いたい時は、「ランタイムでディスクから画像を取得する」もしくは「フィールド内のバイナリデータから画像を取得する」を使う必要があります。
画像読込み時のオプション
また、画像読込み時に「画像設定の編集」というオプションがこっそりとあります。

このオプションを開くと、上のように「固定幅を使用する」「ボーダーを表示する」の2つのオプションがあります。
「固定幅を使用する」を「はい」にすると、自分で画像のサイズを指定できます。これは拡大、縮小のオプションです。いわゆる「リサイズ」機能なのですが、画像の実体は何も変更を加えません。単に、HTMLタグを使ってサイズを指定しているだけです。ただし、レンダリングされる時にはちゃんと反映されているのでご心配なく。
また、ボーダーを表示する、の方は、画像の外側に枠をつけるオプションです。といっても、これは物理的に枠をつけるのではなく、HTMLのDIVタグで枠を付けているだけです。つまり、実際は以下のようなタグがつけられます。
<div style="border:1px solid #000000;">~</div>
なお、この「リサイズ」は基本的には画像読込み時しかできないので気をつけてください。つまり「フィールド内のバイナリデータから画像を取得する」オプションで読み込んだ場合、「固定幅を使用する」オプションは機能しません。別の方法でリサイズを行う必要があります。リサイズは、Intelligence Suiteの画像処理ツールで利用可能です(Pythonベースなのでワークフローに配置すると重いので個人的には使いたく有りません)。もしくは、一度保存し、再度画像ツールで読み込み直し、その際にリサイズをするか、です。個人的には後者の方法でマクロ化した方がワークフローの取り扱い速度的には早いので好きです。
Blob入力ツールとの組み合わせについて
一括で画像ファイルを取り扱いたい場合、ディレクトリツールで画像ファイルのパスのリストが取得できれば、そのまま画像ツールで一気にデータを読み込むことができますが、同様にBlob入力ツールで読み込んだバイナリデータを画像ツールでレポートスニペットとして画像に変換することができます。
この機能についてはどちらかというと、データベースに格納されているBlobの画像データを一括で読み込んでなんとかしたい、という向きかと思います。
Blob変換ツール
一方で、Blob変換ツールを使えば、画像ツールを使わなくても、レポートスニペットとして画像に変換することが可能です。何が違うのでしょうか?
画像ツールの場合は、「ボーダーを表示する」オプションが使えるのが利点、といったくらいです。リサイズができないので、それくらいしか違いが有りません。
コンピュータービジョンカテゴリの「画像入力」ツール
コンピュータービジョンカテゴリにも「画像入力」ツールというツールがあります。こちらの対応画像フォーマットはBMP、PDF、PNG、JPGなので、BMPとPDFを扱いたい場合はこちらのツールで読み込むという手もあります。ちなみに、画像入力ツールで読み込んだ場合、すべてPNG形式として扱われます。
レポートテキストツール内で画像を利用する
実は画像ツールでレポートスニペットとして画像を読み込むと、レポートテキストツール内で扱うことができます。ただし、みんなだいすき「エキスパートモード」を使う必要があります。

エキスパートモードを使わないと、単に中身のHTMLタグが表示されるだけです。
ちなみに、レポートテキストツールは、画像を手動で追加することは可能ですが、レコードごとに別の画像を追加するならエキスパートモードが良いかと思います。
まとめ
- 画像ツールの様々な機能を紹介しました
- 読み込み方法としては3オプション
- 読込み時に、リサイズと枠付が可能
- 他ツールとの組み合わせを紹介しました
サンプルワークフローダウンロード
次回
少しマニアックなネタでも行こうかと思います

コメント