以下のようなツイートを見かけて、私自身も試してみた Power BI のやつ なのですが、これの中身をみて デスクトップフローの情報の取得方法を確認してみました。
結果、デスクトップフローの一覧と、フローの実行履歴は、Dataverse のテーブルにレコードと一部添付ファイルとして保管されており、(ログはログで別なのかは不明)アクセスできたので、簡単なアプリを作ってみました。
ちゃんとセキュリティロールが効いているのがすごくよいです。
今回はこのアプリの作成手順の一部で、デスクトップフローの一覧と、フローの実行履歴の一覧を作成する部分を記事にしたいと思います。
注意
今回のものは、いわゆる規定 (default) の環境では利用できません。
Microsoft 365 の契約で、追加費用なしで利用できる for Office 365 のライセンスではなく、個別に購入されたライセンスで、専用の環境を作成された場合のみ活用できるものですので、ご注意ください。
デスクトップフローの一覧を作成する
アプリでは、以下のような画面で、デスクトップフローの一覧を表示していました。
この選択中のギャラリーには、以下のような設定をしています。
これを設定すれば、同じようなギャラリーが作成できます。
Filter(
SortByColumns(
'プロセス ',
"name",
Ascending
),
カテゴリ = 'カテゴリ (プロセス )'.'デスクトップ フロー'
)
デスクトップフローの一覧を、フローの名前の昇順で表示しています。
名前の昇順は私の趣味なので不要です。
デスクトップフロー情報の保管テーブル
項目 | 値 |
---|---|
表示名 | プロセス |
名前(内部名) | workflow |
保管テーブルからの抽出条件
列名 | 条件 | 比較する値 |
---|---|---|
カテゴリ | 一致 | デスクトップ フロー |
※カテゴリ 列は選択肢なので、実際の値は 6
デスクトップフローの実行履歴の一覧を作成する
次に、アプリでは、以下のような画面で、デスクトップフローの実行履歴の一覧を表示していました。
この選択中のギャラリーには、以下のような設定をしています。
これを設定すれば、同じようなギャラリーが作成できます。
If(
IsBlank(Condition),
SortByColumns(
'フロー セッション',
"startedon",
Descending
),
Filter(
SortByColumns(
'フロー セッション',
"startedon",
Descending
),
関連.プロセス名 = Condition
)
)
実行履歴の一覧を、作成日時(=実行日時と思われる)の降順で表示しています。
アプリでは、デスクトップフローを選択している場合、そのフローの履歴だけに絞るような処理をくわえていましたので、余計な If と Filter が含まれています。
フローの実行履歴情報の保管テーブル
項目 | 値 |
---|---|
表示名 | フロー セッション |
名前(内部名) | flowsession |
保管テーブルからの抽出条件(結果を特定のデスクトップフローのみにしたい場合のみ)
列名 | 条件 | 比較する値 |
---|---|---|
関連.プロセス名 | 一致 | 特定のデスクトップフローの名前 |
※関連 列は参照列なので、実際の値は別
まとめ
情報へのアクセス方法がわかれば、標準で提供されるビュー以外にも、オリジナルのビューを作成することが可能です。
今回は、Power Apps で作成しましたが、Dataverse の Web API で直接アクセスできるので、SharePoint Frameworkや、お好みのフロントエンド技術を使えば、さらに高度なビューも作成できると思います。
ちなみに、本記事の元となった Power BI のやつでは、 フロー セッション
のテーブルの AdditionalContext
という列の中に保存されてる添付ファイル(JSON 形式の情報が含まれる .txt ファイル) をさらにいじっていたようでしたが、今回は大変なので、そこには対応しませんでした。
感想
前回記事書いてから、自分用の勉強がいまいちできておらずだいぶさぼってしまいました。反省。
私自身は全然 Power Automate Desktop 活用していないのですが、最近いろんなところで、PAD を使い始めました!使ってます!という話を伺います。
市民開発者の業務効率化の手段の1つとして、どんどん盛り上がっていけばよいですね!!