見出し画像

PowerAutomateで日付のソートにハマった話

みなさんこんにちは。

PowerAutomateでカレンダーイベントをソートしようとしたら、思わぬ落とし穴があったのでシェアしたいと思います。

Outlookの予定表からある期間のイベント(予定)を取得するときに便利なアクションが、「イベントのカレンダービューの取得」です。

期間を指定して実行すると、以下のようにイベントの情報がずらっと取得できます。

ところがちょっと難点がありまして、取得されるイベントの並び順が時系列にならないんですよね。(何順なのかはよくわかりませんでした)

詳細オプションを開くと、「並び替え順」の項目がありましたので、これを使って時系列にソートしてみたいと思います。

説明書きによれば、ODATAクエリを使用して並び替えを行うようです。
調べたところこちらの情報が見つかりました。

イベント情報内の項目を指定すればソートできるのでは、と思い、イベントの開始時刻である”start”を指定して実行してみました。
なお昇順はasc、降順はdescを指定するようですが、デフォルトが昇順なのでその場合は指定しなくてもいいらしい。

すると・・

うーむ。失敗です。

エラー詳細を見ると
The $orderby expression must evaluate to a single value of primitive type.
となっています。
項目を指定すること自体が間違っている訳ではなさそうですが、これだけではちょっとわかりませんね。

調べてみたところ、同じような内容(日時でソートする)でこのエラーに当たっている情報がいくつか出てきました。

その中に「start/dateTime にするといけるよ〜」という情報が。
とりあえずやってみようという事で試したところ・・

無事成功しました!
並び順もちゃんと昇順(時系列)になっているようです。

正直なところ詳細は不明なのですが、おそらくデータ型の不一致とかそういった類の問題なのでしょう。

ということで、以上ご参考になれば幸いです。

この記事が気に入ったらサポートをしてみませんか?