タグ

ブックマーク / mofumofupower.hatenablog.com (21)

  • Power Automate / Logic Appsで複雑なフィルター条件設定 - MoreBeerMorePower

    はじめに 仕事ではSharePoint 2013をまだまだ使っているのですが、リストのビューで複雑なフィルター条件にはSharePoint Maniacsの以下の記事がとても役立っていました。 sharepointmaniacs.com 今回は、こんな感じで複数のフィルター条件を組み合わせる場合の処理をPower AutomateやLogic Appsで実行する方法を紹介していきます。 なお、複数のフィルター条件といっても、頑張ってフィルターの式を書くことはしません。 準備 列の構成 column1:はい/いいえ 列 column2:選択肢列 {A,B,C} column3:数値列 フィルター条件 条件A : column1 = はい 条件B : column2 = A 条件C : column3 >= 500 データソースはListsにして、上記の設定でアイテムを作っておきます。 利用す

    Power Automate / Logic Appsで複雑なフィルター条件設定 - MoreBeerMorePower
    mukaken
    mukaken 2024/06/15
  • Office ScriptsでPower Automateの機能を補完する - MoreBeerMorePower

    現在Preview機能として提供されている、Office Scriptsを利用すると、Power Automateで提供されていない機能を補うことができるかもという内容です。 Power Automateでは、配列のソートや、特定のプロパティに関する合計、平均などの機能/関数は、2020/5/11時点で提供されていません。(熱く期待されているものの・・・) 一方のOffice Scriptsは、JavaScriptを利用して、Excel上の操作を自動化するもので、大体のJavaScriptの処理ができます。 (外部ライブラリの利用は不可) この2つを組み合わせることで、Power Automateにない機能性を、Office Scriptsで補完できそうだったので、ご紹介します。 対象とする操作 前述の2つ、ソートと合計(平均)をとる処理をPower Automateで実現してみます。 こ

    Office ScriptsでPower Automateの機能を補完する - MoreBeerMorePower
  • Office Script で テーブルを作成する (Power Automate からデータを取得) - MoreBeerMorePower

    Power Automate 関連のフォーラムでよく話題にあがるのが「テーブルじゃないExcelのデータを取り扱えないか」というものです。 Power Automate の Excel コネクターでは、原則テーブルが定義されているケースを対象としているので、非テーブル型なデータは取り扱えません。(表を取得とかができない) これを回避するためには、一度 Office Script を利用してテーブル化してあげればよいのですが、よく見るサンプルだと function main(workbook: ExcelScript.Workbook) { // Get the active worksheet. let sheet = workbook.getActiveWorksheet(); // Add a table that has headers using the data from B2:

    Office Script で テーブルを作成する (Power Automate からデータを取得) - MoreBeerMorePower
  • Office Script からHTTPリクエストしてフローを呼び出す - MoreBeerMorePower

    2021年1月から、Office Script からの外部API利用がサポートされるようになったので、試してみました。 公式のアナウンスは下記を参照してください。 docs.microsoft.com 注意事項にも書かれていますが、外部APIを利用する場合には fetch API というものを使います。 この特性上、スクリプトは以下のような形式にしておく必要があります。 async function main(workbook: ExcelScript.Workbook): Promise <void> { //何らかの処理 let fetchResult = await fetch(.....); } ポイントは async と Promise <void>と await です。どれを入れ忘れてもスクリプトでエラーになるので、注意しましょう。また、fetch API を利用する場合には

    Office Script からHTTPリクエストしてフローを呼び出す - MoreBeerMorePower
  • Power Apps で レコード型のデータからキーバリュー型のテーブルに変換する方法 (Tips) - MoreBeerMorePower

    久しぶりの Power Apps のTipsです。 今回のTipsを考えたきっかけは、Power Appsのチャートコントロールに設定されている色を、アプリのテーマカラーに合わせられないかなと考えたことでした。下図右側のバーチャートがアプリのテーマを適用したものです。 チャートコントロールの色というのは、 ItemColorSetというプロパティで指定しますが、テーブル型のデータを指定しなければいけません。 一方、アプリのカラーテーマは App.Theme.Colors で取得できますが、これはレコード型になっています。試しに変数に入れてみると以下のようにDark10, Dark20, Dark30...などの列に色の値が入っているレコードです。 つまり、このアプリのカラーテーマをチャートコントロールに適用するためには レコード型からテーブル型にうまく変換する必要があるということです。 今

    Power Apps で レコード型のデータからキーバリュー型のテーブルに変換する方法 (Tips) - MoreBeerMorePower
    mukaken
    mukaken 2024/04/21
  • JSONと仲良くなるために (まとめ) - MoreBeerMorePower

    第一回ではまずJSONとはそもそも何モノなのか、どんな書式なのかを紹介しました。 mofumofupower.hatenablog.com JSON も データを表す書式の一つなので、誰が見ても理解できるように、一定のルールがあります。 キーまたは識別子 と 値 の組み合わせで構成される キー/識別子 は ダブルクォーテーションで囲む 最初と最後は中カッコ {...} でくくる キー/識別子と値の間は コロン : で分ける 複数のキー/識別子&値のペアがあるときはカンマで区切る 上記5つのルールはもちろんJSONを一から書く/構成する場合には必須の理解ですが、読み取る/理解するときも大事な指針です。 このルールに加えて、JSONで扱うデータ型も大事なポイントです。 特にJSONでは、データが1件の配列 と オブジェクトが明確に区別されます。 文字列 数値 ブール値 オブジェクト 配列 nu

    JSONと仲良くなるために (まとめ) - MoreBeerMorePower
  • Power Automateでハマるポイント - MoreBeerMorePower

    はじめに 自分がハマってしまった、というか苦手意識を持っていたポイントです。 そんなの全然へっちゃらだぜーという場合には、大丈夫。何でもできます! Power Automateで使う関数というのは実に多様です。 公式のレファレンスを読もうと思ってもすごく分量多いので、全部みるというのは現実的ではありません。 そもそも私が最初苦手意識をもったのはそこではなく、 オブジェクトと配列 これに尽きます。でもこれらを操れるとPower Automateでできることがすごく広がるし、パフォーマンスも改善できるようになります。 何が怖いのか 例えば変数を定義したとしましょう。こんな内容で { "name":"Hiroaki", "age":34 } いろんなブログや公式のドキュメントを見ると、この変数の中から"name"の値を取り出す方法についていろいろな書き方があることに気づきます。 例えば以下のよう

    Power Automateでハマるポイント - MoreBeerMorePower
    mukaken
    mukaken 2024/03/24
  • Microsoft Loop の新機能「Rules」を使ってみよう - MoreBeerMorePower

    前からAutomateのほうにはトリガーが追加されていたけど使えなかった Microsoft Loop 関連の機能がついにリリースされました!!🎊 公式ブログでのアナウンスは以下からどうぞ。 powerautomate.microsoft.com Rules は Microsoft Loopのテーブル系のコンポーネントを起点として、その状態変化(データの追加・変更)をトリガーにメールを送ったり、Teamsにメッセージを送ったりできる機能です。 Microsoft Loop 上で作成しますが、実体は Power Automate の既定の環境に作られたクラウドフローです。(TeamsのWorkflowと似たような位置づけ) Power Automate のデザイナーのようなUIではなく、条件とアクションを指定するだけで簡単に、Loopへの入力を絡めたフローができあがります。 今回はリリース

    Microsoft Loop の新機能「Rules」を使ってみよう - MoreBeerMorePower
    mukaken
    mukaken 2024/03/23
  • Microsoft Loop の Rules をもう少し試してみた - MoreBeerMorePower

    Microsoft Loopの新機能 Rules について、前回はサラッと試してどうやってルール(通知)を作成するかと、背景にあるPower Automateのクラウドフローがどんな構造か見てみました。 mofumofupower.hatenablog.com 今回はもう少し突っ込んで、どの列タイプにどういった条件が付けられるのか、使えるコンポーネントはどれかについて記載します。 列タイプとルールの条件 まずは代表的なテーブルを使って、列のタイプごとにどのようなルールを設定可能なのか見ていきます。 条件は以下の3タイプに分類されるので、それぞれの列タイプとの対応をまとめます。 包含 (Contains) : 列の値に指定した文字列が含まれるとき 一致 (Equals) : 列の値が指定した文字列または選択肢に完全一致するとき 大小関係及び範囲 (Range) : 列の値が指定した値と比べて

    Microsoft Loop の Rules をもう少し試してみた - MoreBeerMorePower
    mukaken
    mukaken 2024/03/23
  • Power Automate の HTTPアクションで multipart/form-data でデータを送る場合の備忘録 - MoreBeerMorePower

    Cloudmersive の APIドキュメントを読んでいたら Power Automate のコネクターにはないAPIがあったので試してみようと思ったら、意外と面倒だったので備忘録。 Cloudmersiveの画像合成APIはファイルを2つformDataで送るが・・・ API Consoleでどんなデータを送ればいいのか見てみると、formDataで、2つの画像ファイルを送る必要があるということでした。いつも通りPostmanで試してみたところ、非常にすんなりいったんです。form-dataでKeyとValue (この場合はファイル) を選択できるので。 じゃあ、Power Automateで~と思ったのですが、ここでいきなり躓きました。 どうやってファイルをform-dataで送ればいいのか! bodyをどう書くか まずは「作成 (Compose)」アクション2つでファイル2つを定義

    Power Automate の HTTPアクションで multipart/form-data でデータを送る場合の備忘録 - MoreBeerMorePower
    mukaken
    mukaken 2024/02/20
  • Power Automate から投稿する Adaptive Card に画像を表示する方法 (2023年版) - MoreBeerMorePower

    Adaptive Cardsに画像を表示する方法はとてもたくさんあります。どの方法でもImage要素を利用するのは共通ですが、そのプロパティであるurlになにを指定するかによってやり方とメリットデメリットがあります。 まずこれまでの方法をおさらいしましょう。 画像のURLを指定する 画像のdataUriを指定する (SharePointの場合) ThumbnailのURLを取得してurlに指定する 1. 画像のURLを指定する この方法は非常に直感的で手軽ですが、対象の画像のURLが認証無しで表示できる必要があります。(特にモバイルアプリ) 例えばSharePointのドキュメントライブラリに格納された画像ファイルのURLをurlに設定したとします。 すると、Windowsアプリやブラウザーでは画像が表示されますが、モバイルアプリで表示した際に画像が表示されないことがわかります。 どこでも

    Power Automate から投稿する Adaptive Card に画像を表示する方法 (2023年版) - MoreBeerMorePower
    mukaken
    mukaken 2023/09/30
  • Apply to each のパフォーマンス改善 (配列加工の場合) - MoreBeerMorePower

    はじめに Power Automate でフローを作成していると、意図せず/特に問題視せず Apply to each を利用したループ処理を利用してしまいます。 多くの場合、問題になるのはその実行速度 (遅さ) です。特に設定を変更せず、Apply to each を使い、さらに配列変数への追加アクションをその中で実行すると処理件数や中でのアクション数に応じて数分~数十分かかるケースがでてきます。 今回は特に配列操作にApply to each を利用しているケースで、ループ処理の効率化を考えます。 そもそもどのくらい遅いのか 簡単のために、まずは他のデータソースへのアクセスを行わない場合を考えます。 入力として [1,2,3...,200] の1~200までの数字を配列として用意し、出力はその前に文字をくっつけただけの配列とします。 フローは非常に簡単で、以下のようなApply to

    Apply to each のパフォーマンス改善 (配列加工の場合) - MoreBeerMorePower
    mukaken
    mukaken 2023/09/27
  • Power Automate でデバッグする際のTips - MoreBeerMorePower

    『Power Automate でデバッグするのすごい大変』というツイートを最近よく見るので、普段やることと、最近知ったことをまとめておこうかと思います。 Power Automate や Logic Apps でデバッグって確かになかなか難しいですよね。内部処理をトレースできるわけではないので、どこでどういう値が渡されて何が問題だったかというのはエラーメッセージ頼みだったりします。 今回のスコープとしては、ある程度エラーは理解できる前提です。 以下がTipsの4つ 中身が見えなくなるステップでは直前・直後に「作成」 ツイートしたりTeamsに投稿するアクションをテスト時に止めたいなら「実行条件」 処理の途中を見たいなら「遅延(待ち時間)」 HTTPアクションで外部サービスをたたきたくないときは「静的な結果」 です。 1. 中身が見えなくなるステップでは直前・直後に「作成」 以前も紹介した

    Power Automate でデバッグする際のTips - MoreBeerMorePower
    mukaken
    mukaken 2023/07/01
  • Power Automateの裏側をみてみよう! (2/2) - MoreBeerMorePower

    前回 前回はPower AutomateのメニューにあるPeak codeの紹介と、トリガー・アクションの入力・出力をどうやって取り出すかを紹介しました。 今回はもうひとつの「Settings」について、トリガー・アクションでそれぞれ代表的と思われるものを紹介します。 念のため、Settingsには↓ここからアクセスします。 Split-On (トリガーのみ) トリガーにしかない設定です。 Split-Onはトリガーしたときのアイテムsを分割してFlow実行してくれる機能です。 例えばSharePoint listのクイック編集でアイテム作成した場合、Split-On:OFFだと、トリガーは作成されたアイテムsで発生するので、配列を対象に処理することになります。 Split-Onを有効にすると、トリガーしたときの配列をバラバラにして、個別にFlowを実行してくれます。このため、トリガー以降

    Power Automateの裏側をみてみよう! (2/2) - MoreBeerMorePower
    mukaken
    mukaken 2023/03/18
  • Power Automateの裏側をみてみよう! (1/2) - MoreBeerMorePower

    Power Automateの裏側って? 今回はPower Automateのトリガー・アクションの裏側を見るという内容です。 『裏側』と言っているのは、普段見ているトリガーやアクションの設定を表として、コード表示や設定表示を指しています。 あまり詳細に解説されていないので、それぞれの意味や、どう使うのかを紹介したいと思います。 2回構成で、最初はPeak codeと、それに関連したトリガー・アクション入力・出力へのアクセス方法です。 そもそもどうやってこれを表示するのか とにもかくにも、まずは・・・をクリックしましょう。そうすると、各トリガー・アクションのメニューが表示されます。 よく使うのは、Renameとか、Comment、あるいはConfigure run after (前のステップがどういうステータスで終了したときに実行するか)だと思います。 今回はそれ以外の、Settingsと

    Power Automateの裏側をみてみよう! (1/2) - MoreBeerMorePower
    mukaken
    mukaken 2023/03/18
  • Google Analytics API を Power Automate で 利用する (カスタムコネクター利用) - MoreBeerMorePower

    このブログやQiitaのほうにもGoogle Analyticsを設定していて、どのページがどれくらい見られているかを時々確認しているのですが、どうせなら定期的に簡易なレポートを自分のよく見る場所に送りたいなと思ったのがきっかけです。 Google Analytics には Reporting API が用意されており、これを実行することでHTTPで任意のクエリを実行しデータを取得することができます。 developers.google.com 今回は Google Analytics の簡易レポートを自動作成するために Power Automate で Reporting API を実行して結果を Teams に送信してみたので、その手順を残しておきます。 Query Explorer Reporting API のクエリを構成する際には Query Explorer でお試し実行してみ

    Google Analytics API を Power Automate で 利用する (カスタムコネクター利用) - MoreBeerMorePower
    mukaken
    mukaken 2022/12/17
  • Power Automate の 日付書式を調べてみた (夏の自由研究) - MoreBeerMorePower

    夏の自由研究はPower関係で何かと思っていましたが、ちょっと日付のフォーマット指定について疑問に思ったので、調べてみた結果を書いていきます。 いつもは yyyy-MM-ddとか、HH:mm:ssとかしか使わないのでね。いい機会です。 Power Automateで日付・日時の書式を指定できるのは、下図のアクションと、日時関係の関数 addDays(), addHours(), addMinutes(), addSeconds(), addToTime(), convertFromUtc(), convertTimeZone(), convertToUtc(), formatDateTime(), getFutureTime(), getPastTime(), parseDateTime(), startOfDay(), startOfHour(), startOfMonth(), sub

    Power Automate の 日付書式を調べてみた (夏の自由研究) - MoreBeerMorePower
    mukaken
    mukaken 2022/08/12
  • Teams の新しいトリガー "From the compose box (V2)" / "For a selected message (V2)" が便利!注意事項もあり - MoreBeerMorePower

    結構前から追加されていたこのトリガーたち、来の有用性に気付かぬまま今に至っていました。 From the compose box, For a selected message はいずれも、Adaptive cardを利用して Teams のチャットスペース上でフローを任意のタイミングで実行できるトリガーです。 Teamsに追加された "Workflows" というアプリでもテンプレートの中で "From the compose box"のトリガーが使われています。 今回は短い投稿ですが、これらのトリガーの便利ポイントを紹介していきます。 何が便利なの? 新しいトリガーのすごいところは トリガー実行後に任意のAdaptive cardを応答として返せるところです。 例えば、フローの実行完了をお知らするような場合、これまでは トリガー→フロー実行→完了をTeamsのメッセージなどでお知らせ

    Teams の新しいトリガー "From the compose box (V2)" / "For a selected message (V2)" が便利!注意事項もあり - MoreBeerMorePower
    mukaken
    mukaken 2022/07/27
  • Power Automate で JSONの値を取得する 3 (+1) の方法 - MoreBeerMorePower

    もういろんな方が書かれている内容だと思いますし、私も部分的に一度書いていますが、知識もアップデートされているので改めて纏めようと思います。 JSONオブジェクト内の値を取得する場合、Power Automate でよくやるのは 対象を "JSONの解析" アクションを利用して構造を解析し、後続ステップで動的コンテンツから選択するというアプローチです。 もちろんこれができるケースであればそれに越したことはありません。また、JSON内でプロパティ名の重複がある場合 (例えば以下のJSONでいう firstname のようなケース) では、"JSONの解析”アクションのスキーマを弄ってあげることで動的コンテンツからの選択・見分けが容易になります。 Ref. : Power Automate の JSON の解析で値に名前を付けて分かりやすくする – idea.toString(); { "isb

    Power Automate で JSONの値を取得する 3 (+1) の方法 - MoreBeerMorePower
  • Power BI と Power Automate の新しい連携方法「Power Automate ビジュアル」を試す - MoreBeerMorePower

    ついに来ました!Power Automateビジュアル! Power Automate 側では数か月前からデフォルト環境でもトリガーが追加されており、Power BI 側の対応はまだかなと心待ちにしていた件です。 事前の情報では、他のビジュアルと同様に、何らかのテーブルデータをビジュアルに関連付けすると、トリガーした際に Power Automate にそのデータが渡されるよーというものでした。 今回はどんな動きをするのか、データ型によってどう渡されるか、最大件数は何件か、などを試してみました。 まず使い方 なんでもよいので、適当なデータを追加します。今回は日時型と文字列型の列を一つずつ持つようなテーブルを追加しました。 準備:テーブル追加 さっそく Power Automate ビジュアルを追加します。「視覚化」にある「…」をクリックして、「その他のビジュアルを取得」から、「Power

    Power BI と Power Automate の新しい連携方法「Power Automate ビジュアル」を試す - MoreBeerMorePower
    mukaken
    mukaken 2022/02/10