CDATAQUERY 関数を使って、Excel スプレッドシートにRedshift を自動挿入

CDATAQUERY 関数を使ってデータ、スプレッドシートの任意のセルにRedshift データを自動挿入、編集、削除が可能に。

加藤龍彦
ウェブデベロッパー


redshift ロゴ

CData

excel ロゴ画像
Excel ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData Excel Add-In for Redshift の関数を使って、スプレッドシートにデータを取り込むことができます。下記の3つの手順では、次のタスクを自動化する方法について説明します:ユーザー定義の値でRedshift を検索し、その結果をExcel スプレッドシートに出力します。

CDATAQUERY 関数の構文は次のとおりです: =CDATAQUERY(Query, [Connection], [Parameters], [ResultLocation]);

この関数に入力する値は以下の3つです:

  • Query:取得したいRedshift データ レコードの宣言、もしくは修正を簡単な構文で記述。
  • Connection:RedshiftConnection1 のような接続名、もしくは接続文字列を入力。接続文字列は、Redshift への接続に必要なプロパティのセミコロン区切りとなります。

    一般的な接続文字列は次のとおりです。

    User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;

Redshift への接続には次を設定します:

  • Server: 接続するデータベースをホストしているクラスタのホスト名およびIP アドレス。
  • Port: クラスタのポート。
  • Database: データベース名、ブランクの場合ユーザーのデフォルトデータベースになります。
  • User: ユーザー名。
  • Password: ユーザーのパスワード。

Server およびPort の値はAWS の管理コンソールで取得可能です:

  1. Amazon Redshift console (http://console.aws.amazon.com/redshift) を開く。
  2. Clusters ページで、クラスタ名をクリック。
  3. クラスタのConfiguration タブで、表示された接続文字列からクラスタのURL をコピーします。
  4. ResultLocation:結果のアウトプットを開始するセル。

    スプレッドシートのセルをクエリのインプットとして渡す

    下記の処理では、すべての関数インプットをひとつ目のカラムでオーガナイズするスプレッドシートができます。

    1. 関数をインプットするセルを定義します。接続インプットに加えて、ShipCountry のように、Redshift の検索に使われるフィルタ用の基準を定義する追加のインプットを入力します。
    2. 別のセルに、上で定義したユーザーインプットセルからセルの値を参照する関数を書きます。住所などスペースを含む可能性のある値は、シングルクオートで囲みます。
    3. =CDATAQUERY("SELECT * FROM Orders WHERE ShipCountry = '"&B6&"'","User="&B1&";Password="&B2&";Database="&B3&";Server="&B4&";Port="&B5&";Provider=Redshift",B7) Formula inputs used in this example. (Google Apps is shown.)
    4. フィルタを変更してデータを変更します。 The outputs of the formula. (Google Apps is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。