::
こんばんは。
1については、Distinctを使うとすぐに解決するかと思います。
2はすでに解決済みですね。
発展を考えず最初に書かれていた事「だけ」を実現するのであれば、一度ClearCollectでコレクションにSerachUserの結果(=全員分)を取り込んでしまえば、そのコレクションに対してはお望みの操作が可能です。
他のことをさらに考えているのであれば、どうせすぐ先で詰んでしまうのでお勧めしません。その場合はAPI叩くか独自にリストを持つかしたほうが最終的には良いかと。
例えば、
ClearCollect(_users, Office365ユーザー.SearchUserV2({top:50}).value)
として(ひとまず@odata.nextLinkはキニシナイ)、コレクション_usersに情報をいったん格納します。
そしてドロップダウンのItemsにDistinct(_users.value, Department)を設定する。
そしてドロップダウンのSelectedを使って、_usersにフィルターをかけてそれをデータソースに設定すると…。
画像付けました(名前とか見せれないのでIDの一部でごまかしてます)が、所要時間3分くらいで楽ちん。
ちなみに一度に取得できるユーザー数は、手元の環境で試した限りでは{top:300}として全238アカウント分は一度に取得できました。上限はわからず。500か1000??
アカウント多すぎて一度に欲しいもの全部取得できない=ページング無視できない、のであれば少し工夫が必要となります。
あとは、会議室、備品とか共用アカウントも拾ってくるので不要なら削る必要があります。