Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What are the problem?
@nanoka

Power Apps で Power Automate Desktop の簡易実行履歴表示アプリを作ってみた

以下のようなツイートを見かけて、私自身も試してみた Power BI のやつ なのですが、これの中身をみて デスクトップフローの情報の取得方法を確認してみました。

結果、デスクトップフローの一覧と、フローの実行履歴は、Dataverse のテーブルにレコードと一部添付ファイルとして保管されており、(ログはログで別なのかは不明)アクセスできたので、簡単なアプリを作ってみました。
ちゃんとセキュリティロールが効いているのがすごくよいです。

今回はこのアプリの作成手順の一部で、デスクトップフローの一覧と、フローの実行履歴の一覧を作成する部分を記事にしたいと思います。

注意

今回のものは、いわゆる規定 (default) の環境では利用できません。
Microsoft 365 の契約で、追加費用なしで利用できる for Office 365 のライセンスではなく、個別に購入されたライセンスで、専用の環境を作成された場合のみ活用できるものですので、ご注意ください。

デスクトップフローの一覧を作成する

アプリでは、以下のような画面で、デスクトップフローの一覧を表示していました。
image.png

この選択中のギャラリーには、以下のような設定をしています。
これを設定すれば、同じようなギャラリーが作成できます。

items
Filter(
    SortByColumns(
        'プロセス ',
        "name",
        Ascending
    ),
    カテゴリ = 'カテゴリ (プロセス )'.'デスクトップ フロー'
)

デスクトップフローの一覧を、フローの名前の昇順で表示しています。
名前の昇順は私の趣味なので不要です。

デスクトップフロー情報の保管テーブル

項目
表示名 プロセス
名前(内部名) workflow

保管テーブルからの抽出条件

列名 条件 比較する値
カテゴリ 一致 デスクトップ フロー

※カテゴリ 列は選択肢なので、実際の値は 6

デスクトップフローの実行履歴の一覧を作成する

次に、アプリでは、以下のような画面で、デスクトップフローの実行履歴の一覧を表示していました。
image.png

この選択中のギャラリーには、以下のような設定をしています。
これを設定すれば、同じようなギャラリーが作成できます。

items
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つとして、どんどん盛り上がっていけばよいですね!!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What are the problem?