Skip to content
Last updated

Microsoft Power BI エクスポート連携

Power BI は、データを分析してインサイトを共有するための分析ツールです。ジョブの結果を Microsoft Power BI データセットに直接書き込むことができます。

制限事項

制限事項は Microsoft によって管理されており、変更される可能性があります。詳細は Power BI Rest API の制限 を参照してください。

  • 最大 75 カラム
  • 最大 75 テーブル
  • 単一の POST rows リクエストあたり最大 10,000 行
  • データセットあたり 1 時間あたり 1,000,000 行追加可能
  • データセットあたり最大 5 個の保留中 POST rows リクエスト
  • データセットあたり 1 分あたり 120 POST rows リクエスト
  • テーブルに 250,000 行以上ある場合、データセットあたり 1 時間あたり 120 POST rows リクエスト
  • FIFO データセットのテーブルあたり最大 200,000 行保存可能
  • '保持ポリシーなし' データセットのテーブルあたり最大 5,000,000 行保存可能
  • POST rows 操作における文字列カラムの値あたり 4,000 文字
  • 1 つのデータセットにエクスポートできるテーブルは 1 つのみです。
  • Power BI データセットタイプに関しては、Push Dataset のみ使用可能です。(Power BI サービスのデータセット を参照してください。)

前提条件

  • TD Toolbelt を含む Treasure Data の基礎知識。
  • Treasure Data に権限を付与できる Azure Active Directory テナントの組織ユーザー としての Microsoft Power BI アカウント。
  • OAuth 認証については、この連携は OneDrive ユーザーが管理者から承認を得る認証フローをサポートしていないため、自分自身に承認を与える必要があります。

エクスポートデータセットの作成

  1. TD Console を開きます。

  2. Data Workbench > Queries に移動します。

  3. New Query を選択します。

  4. データをエクスポートするデータベースを選択します。

  5. クエリエディタにクエリを入力します。

  6. Output Results を選択します。

    Choose Saved Connection ダイアログが表示されます。

  7. 既存の power_bi 接続を選択します。

    保存済み接続がまだない場合は、データエクスポート中の新しい接続の作成 を参照してください。

  8. エクスポートの詳細を指定します。データセットとテーブルは必須です。

  1. オプションで、Workspace ID の値を入力します。

    Workspace ID は、ユーザーが作業を共有できるようにする PowerBI またはグループ ID です。

  2. オプションで、既存のデータを置き換えるかどうかを選択します。

選択した場合、TD はエクスポート中に新しいデータで置き換える前にすべてのデータを削除します。

  1. プランの制限を確認し、Service plan row limit の値を入力します。

サービスプランごとに、データセットあたり 1 時間あたりに追加される最大行数です。無料サービスプランは 10,000 行まで許可されます。有料サービスプランは 1,000,000 行まで許可されます。 12. Done を選択します。

データエクスポート中の新しい接続の作成

  1. Choose Integration 画面から、New Integration を選択します。

  2. Microsoft Power BI を選択します。

  3. Catalog を選択します。

  4. Power BI を検索して選択します。ダイアログが開きます:

  5. OAuth connection の下にあるリンクを選択して、新しい接続を作成します。既存の接続を選択して、このセクションの残りをスキップすることもできます。

  6. ポップアップウィンドウから Power BI アカウントにサインインします:

    アクセスを許可するための権限のリストが表示されます。

  7. Accept を選択します。

    Treasure Data Connections に戻ります。

  8. 今作成した OAuth 接続を選択します。

  9. 接続に名前を付けて作成を完了します。

Sources で power_bi 接続を使用できます。

クエリとエクスポートの例

以下は、Treasure Data でタイムスタンプ形式のカラムをエクスポートする Power BI 接続の例です。次のクエリを PowerBI を Result Export として実行します:

SELECT Category, Name, parse_datetime(created_date, 'yyyy-MM-DD HH:mm:ss.SSS') as ManufacturedOn, isCompete, ProductID FROM (
  VALUES ('Cars', 'Suzuki', '2015-01-16 07:15:33.123', true, 15),
         ('Bikes', 'Silver', '2016-05-20 13:52:44.673', false, 17),
         ('Cars', 'Toyota', '2017-09-27 22:32:34.456', false, 20)
)  tbl (Category, Name, created_date, isCompete, ProductID)

この例のクエリにはソーステーブルは必要ありません。

データベースを選択し、"sample_datasets" を選びます。

クエリエンジンとして Presto を選択します。

クエリは数秒で完了するはずです。

クエリが正常に完了すると、結果は指定されたデータベースの宛先に自動的にインポートされます。

PowerBI のダッシュボードでデータセットを確認し、データがエクスポートされたことを検証します:

(オプション) Query Export ジョブをスケジュールする

Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。

Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。

2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。

例えば、cron スケジュールが '0 0 1 * 1' の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。

TD Console を使用してジョブをスケジュールする

  1. Data Workbench > Queries に移動します

  2. 新しいクエリを作成するか、既存のクエリを選択します。

  3. Schedule の横にある None を選択します。

  4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します:

    ドロップダウン値説明
    Custom cron...Custom cron... の詳細を参照してください。
    @daily (midnight)指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。
    @hourly (:00)毎時 00 分に実行します。
    Noneスケジュールなし。

Custom cron... の詳細

Cron 値説明
0 * * * *1 時間に 1 回実行します。
0 0 * * *1 日 1 回午前 0 時に実行します。
0 0 1 * *毎月 1 日の午前 0 時に 1 回実行します。
""スケジュールされた実行時刻のないジョブを作成します。
 *    *    *    *    *
 -    -    -    -    -
 |    |    |    |    |
 |    |    |    |    +----- day of week (0 - 6) (Sunday=0)
 |    |    |    +---------- month (1 - 12)
 |    |    +--------------- day of month (1 - 31)
 |    +-------------------- hour (0 - 23)
 +------------------------- min (0 - 59)

次の名前付きエントリを使用できます:

  • Day of Week: sun, mon, tue, wed, thu, fri, sat.
  • Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.

各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます:

フィールド値 例の説明
各フィールドに対して上記で表示された制限内の単一の値。
フィールドに基づく制限がないことを示すワイルドカード '*''0 0 1 * *'毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
範囲 '2-5' フィールドの許可される値の範囲を示します。'0 0 1-10 * *'毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。
カンマ区切りの値のリスト '2,3,4,5' フィールドの許可される値のリストを示します。0 0 1,11,21 * *'毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
周期性インジケータ '*/5' フィールドの有効な値の範囲に基づいて、 スケジュールが実行を許可される頻度を表現します。'30 */2 1 * *'毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。 '0 0 */5 * *' は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。
'*' ワイルドカードを除く上記の いずれかのカンマ区切りリストもサポートされています '2,*/5,8-10''0 0 5,*/10,25 * *'毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。
  1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。

設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。

(オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。

Audience Studio で Segment をアクティベートする

Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。

  1. Audience Studio に移動します。
  2. parent segment を選択します。
  3. ターゲット segment を開き、右クリックして、Create Activation を選択します。
  4. Details パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。
  5. Output Mapping パネルで activation 出力をカスタマイズします。

  • Attribute Columns
    • Export All Columns を選択すると、変更を加えずにすべての列をエクスポートできます。
    • + Add Columns を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。+ Add Columns を選択し続けて、activation 出力用の新しい列を追加します。
  • String Builder
    • + Add string を選択して、エクスポート用の文字列を作成します。次の値から選択します:
      • String: 任意の値を選択します。テキストを使用してカスタム値を作成します。
      • Timestamp: エクスポートの日時。
      • Segment Id: segment ID 番号。
      • Segment Name: segment 名。
      • Audience Id: parent segment 番号。
  1. Schedule を設定します。

  • スケジュールを定義する値を選択し、オプションでメール通知を含めます。
  1. Create を選択します。

batch journey の activation を作成する必要がある場合は、Creating a Batch Journey Activation を参照してください。