# Power Appsで通信調査アプリを作ってみたら、完全に机上の空論だった話

- 公開日: 2026-02-14
- カテゴリ: Power Apps
- 著者: tan（@kama_bizdev）
- URL: https://flow-with-tech.com/power-apps-connection-connected-field-test/
- サイト: 改善紀 — 好奇心の赴くままに。

---

## この記事を読んでわかること

- Power Appsの`Connection.Connected`関数の仕様と限界
- 「技術的にできること」と「業務要件を満たすこと」の違い
- 市民開発において、業務理解がなぜ重要なのか

## はじめに

突然ですが、皆さんに質問です。

**Q. Power Appsにはデバイスの通信状況を取得する関数があります。これを使って、通信調査をするアプリを作ることはできるでしょうか？**

答えは「はい」です。作ることはできます。

**では、そのアプリは実用に耐えるでしょうか？**

答えは——**いいえ、耐えられませんでした**！

今回は、私が実際に通信調査アプリを作成し、検証してみた結果、「机上の空論」だとわかった話を書きます。

## なぜアプリを作ろうと思ったのか

建設業界にいると分かるんですが、日本国内でも未だに通信が無い場所があります。（本当です！）

Power Appsって通信状態を取得できる関数があったよな。じゃあ、**通信調査アプリを作れば、緯度・経度と通信の有無をセットで簡単に記録できて「良さそう、作ろう、作った**、**使った」**という感じです。

![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-14-at-09.07.04@2x.png)

*実際のアプリ画面*

## どんなアプリを作ったのか

Power Appsにタイマーコントロールを配置し、一定間隔ごとに以下の情報を自動で記録するアプリを作りました。

- 緯度・経度（`Location`関数）
- 日時
- 通信状況（`Connection.Connected`の値）

取得したデータはマップ上にプロットし、通信の有無を色分けして視覚的に確認できるようにしています。

### タイマーコントロールのOnTimeEnd

```
Collect(
    colCommLog,
    {
        TimeStamp: Now(), //現在日時を記録
        Connected: Connection.Connected, //通信があるかどうかのブール値を
        Latitude:  Location.Latitude,  //緯度
        Longitude: Location.Longitude, //経度
        Status:    If(Connection.Connected, "通信あり", "通信なし"), //通信があるかどうか
        PinColor:  If(Connection.Connected, Color.Blue, Color.Red) //通信状態別の色
    }
)
```

## 実際に使ってみた

新幹線は、トンネル区間が連続する箇所で通信が不安定になりますよね。皆さんも一度は経験があるのではないでしょうか。

では、**実際にどの区間で、どれくらいの距離にわたって通信が途切れるのか**——計測したことはありますか？　たぶんないですよね。私もありませんでした。

そこで、試しに使ってみました笑

### 結果：体感と全然合わない

どれだけ待ってもブラウザが開けない場所でも、ほとんどTrue（通信あり）という結果が得られました・・

![](https://flow-with-tech.com/media/wp/2026/02/CleanShot-2026-02-14-at-09.22.04@2x.png)

*実際に使ってみた*

### 原因：`Connection.Connected`の仕様

原因に気づきました。

Power Appsの`Connection.Connected`は、**デバイスが完全にオフラインにならない限り`true`（通信あり）を返すみたいです。** そこに、通信速度は関係無かったのです。

## わかったこと：「できる」と「使える」は別物

今回、身をもって実感したのは、**ツールの機能として「できること」と、業務の要件として「必要なこと」は別物だ**ということです。

通信調査において求められるのは、通信の有無（0か1か）ではないみたいです。通信速度がどの程度出ているのか、どのキャリアで、どの周波数帯（バンド）を掴んでいるのか等々。

`Connection.Connected`が返す`true`/`false`だけでは、その要件は満たせませんでした。

作る前は「これでいけるのでは？」と思っていたのですが、完全に見当違い。まさに**机上の空論**でした〜！

## 市民開発において本当に必要なこと

今回の失敗で改めて感じたのは、**既存業務の要件を正しく理解することの重要性**です。

技術だけじゃなくて、要件を理解していかねば・・！

## まとめ

やってみて、初めてわかることって多いですね。後から考えると、「そんなのやる前からわかるじゃん」って感じなのが不思議です。今回の経験によって、うまくいかないやり方見つけることができました（発明王のように！）

皆さんも身近な疑問をPower Appsで検証してみてはいかがでしょうか？

> 🗣 最後まで読んでいただきありがとうございました。
>
> いいねと思ったら、いいねお願いします！
