今回使用するサンプルデータ
今回のサンプルデータは、以下のデータです。よく見ると、EMP003, EMP005 の2行のデータが重複している状態になっています。
[
{"社員ID": "EMP001", "氏名": "山田太郎", "部署": "営業部", "出勤時刻": "09:00", "退勤時刻": "18:30"},
{"社員ID": "EMP002", "氏名": "佐藤花子", "部署": "営業部", "出勤時刻": "08:45", "退勤時刻": "17:50"},
{"社員ID": "EMP003", "氏名": "鈴木一郎", "部署": "営業部", "出勤時刻": "09:10", "退勤時刻": "19:00"},
{"社員ID": "EMP004", "氏名": "田中美咲", "部署": "営業部", "出勤時刻": "08:55", "退勤時刻": "18:15"},
{"社員ID": "EMP005", "氏名": "高橋健太", "部署": "営業部", "出勤時刻": "09:05", "退勤時刻": "18:45"},
{"社員ID": "EMP003", "氏名": "鈴木一郎", "部署": "営業部", "出勤時刻": "09:10", "退勤時刻": "19:00"},
{"社員ID": "EMP005", "氏名": "高橋健太", "部署": "営業部", "出勤時刻": "09:05", "退勤時刻": "18:45"},
{"社員ID": "EMP101", "氏名": "伊藤翔太", "部署": "開発部", "出勤時刻": "10:00", "退勤時刻": "19:30"},
{"社員ID": "EMP102", "氏名": "渡辺愛美", "部署": "開発部", "出勤時刻": "09:30", "退勤時刻": "18:20"},
{"社員ID": "EMP103", "氏名": "中村拓海", "部署": "開発部", "出勤時刻": "10:15", "退勤時刻": "20:00"}
]
取得する3つの件数
今回の方法では、以下の3つの件数を取得していきます:
- データの全件数
- 重複削除後のデータ件数
- 重複した件数
この3つがわかれば、データの状態を正確に把握できますね。
実装方法を詳しく解説
1. データの全件数を取得する
まず、元のデータが全部で何件あるのかを確認します。データの件数はlength関数を使うことで取得することが可能です。
Composeアクション – 全件数:
length(outputs('作成'))
この場合、結果は 10件 となります。
2. 重複削除後の件数を取得する
続いて、重複を削除した後の件数を確認します。重複を削除するにはunion関数を利用します。
Composeアクション – 重複削除後の配列:
union(outputs('作成'),outputs('作成'))
union関数を使うことで、指定した2つの配列を結合し、その中で重複したデータをすべて削除してくれます。
通常は2つ以上の配列を結合して1つのデータにしたいときに利用しますが、今回のように単純に重複を削除する目的でも利用できるんです。
重複削除後の件数もlength関数で取得します:
Composeアクション – 重複削除後の件数:
length(union(outputs('作成'),outputs('作成')))
この場合、結果は 8件 となります。鈴木一郎さんと高橋健太さんの重複が削除されたわけですね。
3. 重複した件数を算出する
最後に、重複した件数を取得します。これは、データの全件数から重複削除後のデータの件数を引き算することで取得することが可能です。
引き算はsub関数を使って行います。
Composeアクション – 重複件数:
sub(length(outputs('作成')),length(union(outputs('作成'),outputs('作成'))))
最終的な式は以下の通りです。
{
"データ件数": @{length(outputs('作成'))},
"重複削除後の件数": @{length(union(outputs('作成'),outputs('作成')))},
"重複件数": @{sub(length(outputs('作成')),length(union(outputs('作成'),outputs('作成'))))}
}
この式を分解すると、こういう計算になっています:
- 全件数: 10件
- 重複削除後: 8件
- 重複件数: 10 – 8 = 2件
動作確認
フローを保存し、テストから動作を確認してみましょう。

実際に実行してみると、正しくそれぞれの件数が取得できていることが確認できます:
- 全件数: 10件
- 重複削除後: 8件
- 重複件数: 2件
まとめ
いかがでしたでしょうか?
配列の重複件数を取得する方法のポイントは以下の3つです:
length関数: 配列の件数を取得union関数: 重複を自動削除(空配列との結合がコツ)sub関数: 引き算で重複件数を算出
Power Apps学習の決定版!コントロール別YouTube再生リスト完全ガイド
Power Appsを学習していて「どのコントロールをどう使えばいいのかわからない」「実際の使い方を動画で見ながら覚えたい」と思ったことはありませんか?
実践的な知識を効率よく身につけられるよう、現在公開している動画を整理したYouTube再生リスト集をご紹介します。



コメント