0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power BI × Fabric Activator:アクティベーターのルールのパラメータについて理解する

0
Posted at

はじめに

Microsoft Fabric の Activator は、リアルタイムデータの変化を監視し、条件を満たしたときに自動でアラートやアクションを実行する機能です。非常に強力な機能ですが、設定を誤るとアラートが意図せず連発され、「アラート疲れ」を引き起こすという落とし穴があります。

実は、この問題の多くは「ルール条件内の『出現』設定」の理解不足から生じています。

私自身も初めてPower BIから Activator のアラートを作成したとき、「なぜか1時間ごとにチームスの通知が来てうるさい」という悩みに直面しました。その原因は、ポーリング頻度と『出現』パターンの組み合わせの理解不足だったのです。

この記事では、Activatorの3つの「出現」パターンについて、実務的な例とともに詳しく解説します。正しく使い分けることで、意図した粒度でのアラート設定が可能になります。

Activatorのルール条件とは

Activatorでアラートを作成するときの基本構成は以下の通りです。

image.png

┌─────────────────────────────────┐
│    Activatorルール              │
├─────────────────────────────────┤
│  条件(Condition)              │
│  ↳ どの値をいつ監視するか      │
│                                  │
│  + 出現(Occurrence)           │
│  ↳ どのタイミングで発火するか  │
│                                  │
│  アクション(Action)           │
│  ↳ メール・Teams・パイプライン等 │
└─────────────────────────────────┘

ここで最も誤解しやすいのが、「出現」パラメータです。同じ条件を書いても、この「出現」の設定次第で、アラートの頻度が大きく変わります。

ルール条件における「出現」の3つのパターン

image.png

パターン1:「条件が満たされるたびに」

正式名称: Every time the condition is met

動作イメージ

監視する条件(例:温度 > 25℃)が満たされたすべてのタイミングで、毎回アラートを発火させます。

監視対象:温度 > 25℃

時系列(5分ごとのチェック):
09:00 → 26℃(TRUE)  → ✉️ アラート発火
09:05 → 27℃(TRUE)  → ✉️ アラート発火
09:10 → 26℃(TRUE)  → ✉️ アラート発火
09:15 → 20℃(FALSE) → アラート無し
09:20 → 25℃(TRUE)  → ✉️ アラート発火

メリット・デメリット

側面 説明
使い所 異常の検知など、とにかく素早く反応する必要がある場合
注意点 ⚠️ 頻繁に条件が満たされるなら、アラートが何度も来る(アラートスパムのリスク)。センサーが常に閾値を超えている状態では、チェックのたびにアラートが来て、最終的にアラート無視につながる

パターン2:「次の回数これが true だった場合」

正式名称: When it has been true for N times

重要: このパターンでは、経過時間(10分などの設定)は使いません。代わりに「N回」の連続TRUEで判定します。

動作イメージ

条件が連続でN回 TRUE になった時点で、1回だけアラートを発火させます。その後、FALSE が出ると「リセット」され、また1回目からカウント開始します。

監視対象:温度 > 25℃、かつ「3回連続 TRUE」の場合

時系列(5分ごとのチェック):
09:00 → 26℃(TRUE) ← 1回目のカウント開始
09:05 → 27℃(TRUE) ← 2回目
09:10 → 28℃(TRUE) ← 3回目 → ✉️ アラート発火!(ここで1回だけ)

09:15 → 29℃(TRUE) → アラートなし(既に発火済み、カウント継続)
09:20 → 20℃(FALSE)→ リセット
09:25 → 26℃(TRUE) ← また1回目からカウント開始
09:30 → 27℃(TRUE) ← 2回目
09:35 → 28℃(TRUE) ← 3回目 → ✉️ アラート発火!

メリット・デメリット

側面 説明
使い所 「一度の異常が発生したら知りたいが、ずっと続く場合は1回だけで十分」という用途
メリット ✅ アラートが1回で済むので、ノイズが少ない
デメリット ❌ チェック頻度に依存。5分ごとなら15分後、1時間ごとなら3時間後に気づくかも
例 在庫が不足している状況を3回連続で検知したら通知。ずっと不足していても1回だけ

パターン3:「次の期間中 true だった場合」

正式名称: When it has been true for [duration]

重要: このパターンでは経過時間を指定します(例:10分)。ただし、実際の動作はデータソースのポーリング頻度に大きく影響を受けるため注意が必要です。

動作イメージ

条件が指定した時間(例:10分)連続して TRUE のままであり続けたとき、その時点でアラートを発火させます。

監視対象:温度 > 25℃、かつ「10分間連続 TRUE」の場合

時系列:
09:00 → 26℃(TRUE)← 10分間のカウント開始
09:05 → 27℃(TRUE)
09:10 → 28℃(TRUE)← ちょうど10分経過 → ✉️ アラート発火!

09:15 → 29℃(TRUE)← 状態が続いているが、既に発火済み
09:20 → 30℃(TRUE)
09:25 → 20℃(FALSE)← 条件が外れた(カウント終了)

09:30 → 26℃(TRUE)← また10分間のカウント開始
09:40 → 27℃(TRUE)← 10分経過 → ✉️ アラート発火!

メリット・デメリット

側面 説明
使い所 「一時的な異常ではなく、ある程度の時間続いた場合に知りたい」という用途
メリット 継続的な異常を捕捉しつつ、一度きりの通知で済む
デメリット 実際の頻度はデータソースのポーリング頻度に依存

Power BI由来のアクティベーターのポーリング周期

Power BIから Activator のアラートを作成すると、デフォルトで「1時間ごとのポーリング」に設定されています。

つまり、パターン3の「次の期間中 true だった場合」を経過時間10分で設定しても、実際のデータ確認は1時間周期で行われるため、以下のようなことが起きます:

設定:温度 > 25℃、経過時間 10分

実際の動作:
09:00 → Power BI をポーリング → 温度は25℃以上か? Yes
    (1時間待つ)
10:00 → Power BI をポーリング → 温度はずっと25℃以上か? Yes
       → ✉️ アラート発火!(1時間後)
    (1時間待つ)
11:00 → Power BI をポーリング → 温度はずっと25℃以上か? Yes
       → ✉️ アラート発火!(2時間後)

ポーリング周期を変更する

image.png

image.png

注意点

ポーリング周期を短くするほど、Fabric Capacity の使用量が増加します。

パターン別:推奨される用途一覧

最後に、3つのパターンをまとめておきます。

パターン 英語 設定 推奨される用途 注意点
パターン1 Every time the condition is met 固定なし アラートを見逃したくない重大事象 アラートスパムのリスク
パターン2 When it has been true for N times 回数を指定 何度か確認してから通知 反応が遅れる可能性
パターン3 When it has been true for [duration] 時間を指定 継続的な異常を捕捉 ポーリング周期を意識する必要がある

参考ドキュメント

FabricやDatabricksについて学べる勉強会を毎月開催!

次回イベント欄から直近のMicrosoft Data Analytics Day(Online) 勉強会 または OneLake Deep Dive ページ移動後、申し込み可能です!

Youtubeもやってます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?