2017.05.23

データを「変換・加工」して活用してみよう

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

みなさん、こんにちは。
いきなりですが、「データ連携」したことありますか?
「データ連携」と一言で言っても様々なものがありますよね。
システム間でデータのやり取りをしたり、データソースが異なる場合もあったり、フォーマットをガラッと変える必要があったり、単純なものもあれば、プログラミングを伴うものなど、千差万別ですよね。

「データ連携」をしたいといった場合の多くは、連携先側で有効活用するために「欲しい形」でデータを利用したいと思いますが、連携元側のデータが「欲しい形」になっていない場合は、皆さんならどうしますか?

ぱっと思いつくだけで以下パターンが考えられます。
1.連携元で「欲しい形」にして受け渡し、連携先はそのままデータを利用する
2.連携元はそのままで受け渡し、連携先で「欲しい形」にしてからデータを利用する
3.連携元はそのままで、受け渡す際に「欲しい形」にし、連携先はそのままデータを利用する

データを受け渡す仕組みは3つとも必要になりますので、どうせならそこで一緒にしてみるのはどうでしょうか。

前置きが長くなりましたが、今回はSkyOnDemandの「変換・加工」機能を使って実現してみたいと思います。

SkyOnDemandの「変換・加工」機能について

SkyOnDemandには、「変換」機能として多くの機能が備わっており、分類すると以下のようなものがあります。

No. 分類 機能名 説明
1 基本 マッピング 入力データの変換・加工して出力側に受け渡します。
2 基本 マージ 複数の入力データをキー項目を比較して結合・統合して出力側に受け渡します。
3 文字 各種コンバーター 文字化けを回避するための特定文字の文字コード変換や、XML形式のデータの受け渡しの場合にXMLとして不正な文字を削除して受け渡すなど。
4 テーブル 行列の入れ替え 入力データの行と列を入れ替えて出力側に受け渡します。

上記1.の「マッピング」機能においては、入力データの項目を出力側のどの項目に紐づけるかなどの項目移送についても容易に定義できるのが特徴です。

この「マッピング」機能では、更にデータを「加工」するためのロジック機能が豊富に備わっており、数にすると140種類ほどのロジックがありますので、これらを組み合わせることで柔軟なデータ加工が可能となります。

例えば、文字列を「連結」「トリム」したり、数値の「四則演算」、日付フォーマット変換などがあり、さらには日本特有のものだと「西暦・和暦変換」「全角・半角変換」「ひらがな・カタカナ変換」などがありますが、ここでは数も多いので説明を割愛させていただきます。

これらの機能を用いることで、データを「欲しい形」にして受け渡すことも可能となります。

「変換・加工」機能の活用例

前述しましたように非常に多くの機能があり、様々な要件に適用できるかと思いますが、具体的なユースケース例をあげて説明したいと思います。

ユースケース1.商品別の月別の受注金額を縦持ちしているデータを、月毎に横持ちしたデータに変換したい。

上記のように、縦持ちしているデータを横持ちして扱いたいということはよくあると思います。
入力データを1件ずつ読み取って、商品と年月を判定して、出力側に1項目ずつ書き込んでいけば実現できそうですが、都度判断して書き込み位置を決めてというような煩雑なものになることが想像できますね。。。

SkyOnDemandはそういった連携処理の作成を強みとしたサービスですので、データをある単位でまとめて変換して受け渡していくことで容易に実現可能です。

変換機能の「行列の入れ替え」を利用して作成した連携処理はこんな感じになります。

簡単に流れを説明します。

  1. 商品マスタを全件読み取ります。
  2. 入力データを全件読み取ります。
  3. 商品マスタの「商品」レコード毎に繰り返し以下の処理を行います。
    1. 商品コード、商品名を変数に保管しておきます。
    2. 入力データ(全件)のうち、変数に格納した「商品コード」と一致するデータ(複数件)を抽出して、必要な項目(今回は「金額」)を後続に受け渡します。
    3. 上記で受け渡されたデータの行列変換を行い後続へ受け渡します。
    4. 行列変換されたデータと変数に格納した「商品コード」「商品名」を合わせて後続に受け渡します。
    5. 上記で受け渡されたデータを結果データとして書き込みます(追加します)
  4. 繰り返し処理を終えて終了です。

といった具合でアイコンを並べて設定していくことで容易に連携処理を作成できてしまうのです!!

まとめ

冒頭のパターンはそれぞれどのシステム側で変換をするかという話でしたが、連携元や連携先で「変換・加工」をしようと思うと、それなりの構築・開発を伴うこともございます。(要件によっては、連携元で簡単にできてしまうものもあるかもしれません。)

今回は連携スクリプトの詳細の説明は割愛させていただきましたが、数多くの機能を備えたSkyOnDemandを活用することで、様々な要件を柔軟且つ容易に実現することができます。

以前、「Salesforce Wave Analytics」へデータを投入する記事を書きましたが、分析で活用したいデータは「欲しい形」で受け渡すことで効果を発揮すると思いますので、データを変換・加工して活用したいなどのニーズがございましたら、ぜひSkyOnDemandで実現してみてはいかがでしょうか。

次回以降もご期待ください。

1 件

関連する記事