タグ別アーカイブ: テキスト

Power AppsでSharepointリストを扱う時の注意点

【Sharepointリストの参照列、複数行のテキストを扱う時は文法が違ってきます】

Sharepointリストはエクセルのように扱えて手軽で便利なのですが、列の種類に応じて対応の仕方が違ってくるのが少しややこしいです

今回の記事では実際の例を交えて「対応の仕方」を解説していきます

参照列

参照列とは?

こちらはエクセルのワークシートで言えば、VLOOKUP関数で取得した列のような形です

次の画像は今回の解説で使用する参照列です

CustomerName列は他のリストを参照しています

実は参照元のIDを基にして参照が成り立つようになっています

取得

参照列を下の画像のように、そのまま内部名で取得しようとするとエラーになります

この場合は、下の画像のように1つ加えます

CustomerName列「値/Value」を取得する形になります

更新

IDが5の行のCustomerName列を「C001」から「C002」に変更するとします

通常ですとこの場合は、下の画像のようにPatch関数を書きます

これだと実はエラーになりますので、第三引数の{}の中を次のように書き換えます

{}が入れ子になる形になります

ここで「Id」は参照元のIDを指定します

複数行テキスト

複数行テキストとは?

1行テキストの場合は文字数等に255までの制限があります

複数行テキストの場合は「63,999」まで文字が入ります

そして、設定を変えると「HTML」での設定になります

そうすると文字の色なども設定できます

取得/HTML形式にて

複数行テキストを「HTML形式」で設定すると、取得する場合は通常のラベルですと以下のようになってしまいます

ですので、通常のラベルではなくHTMLテキストを指定しています

そうすれば、通常のテキストのように取得できます

この時、プロパティも通常と違いますので注意が必要です

更新

複数行テキストをHTML形式で更新するには、リッチテキストエディターを使用します

リッチテキストエディタ―はPower Apps上にて、通常のエクセルのワークシート上のような操作ができる優れものです

取得はTextプロパティがないので「Default」プロパティで行います

更新は通常の「テキスト入力」と同じ要領で行います

<まとめ>

今回はPower AppsでSharepointリストの参照列、複数行テキストを扱う際の注意点を解説しました

参照列の場合は参照元リストの「ID」の扱い、複数行テキストの場合はHTML形式の扱いがポイントになります

やはりSharepointリストは癖があるので注意が必要ですね

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

レポートで説明文章を更新データに合わせて可変にする方法

【更新データを手動で書いたような文章で自動表示する方法を解説します】

データの更新に合わせてPower BIのレポート上の文章を可変にするには、メジャーの作成に加えて「改行」などの書式の工夫が必要です。今回は最終月の売上を表示する事例に基づいて様々なテクニックの解説を行います

やりたい事

売上データの毎月の報告を自動化するのが一番やりたいことです

「〇年×月の売上は△△△でした」

上の文章内の「〇年×月」、売上「△△△」をメジャーで自動取得できるようにします

書式の方も「月」と「の売上」の間に改行を入れつつ、売り上げもきちんと桁区切りにします

なお、今回使用するデータ/OrderDataは以下です

OrderData

一番右のyyyyMMの列は「新しい列の作成」にて追加しました

こちらの列で最後の月を判断します

SUMMARIZECOLUNS関数による集計

今回の記事の内容で一番難しいのはデータの最後の月を集計する点です

最後の月の抽出はMAX関数を使えば簡単そうです

ただそこから最後の月の売上を集計する必要があります

Power Queryでグループ化を行い、その後に集計する方法もあります

今回の記事ではDAXを組み合わせて、直接、最終月の売上を集計します

中心となるのSUMMARIZECOLUNS関数です

この関数はグループ化したテーブルを作成します

上の画像を見ると、「201904」「201905」と月単位で売上が集計されています

SUMMARIZECOLUNS関数の文法は次の通りとなります

SUMMARIZECOLUMNS(グループ化する列,新列名,集計式)

今回で言えば次の通りの式となります

SUMMARIZECOLUMNS(

‘OrderData'[yyyyMM] ⇒グループ化する列

,”月小計”, ⇒新列名:集計式で計算した列

SUM(‘OrderData'[受注数]) ⇒集計式

)

但し、SUMMARIZECOLUNS関数を使用して新たなテーブルを作成しておくわけではありません

SUMMARIZECOLUNS関数で作成したテーブルは変数に代入します

上の画像では変数:myTableに代入されています

最終月と売上の集計

まずは前述の通りSUMMARIZECOLUNS関数にてグループ化されたテーブルを作成します

そして最終月を計算した上で新たに作成したテーブルから最終月の売上を抽出します

最終月は以下の要領で算出して変数:MaxMonthに格納します

そして、myTableとMaxMonthを組み合わせて最終月の売上をSUMX関数を使用して集計します

SUMX関数の第一引数ではFILTER関数を使用します

グループ化したテーブルから、最終月と同様の行を抽出します

そして第二引数ではグループ化した際に集計した売上を指定します

文章となるメジャーの作成

文字の切り取り

文章で使う「年」や「月」は事前に分解してメジャーを作成しておきます

改行コード

改行はUNICHAR関数を使用します

UNICHAR関数の引数には「10」を指定します

桁区切り

売上の桁区切りにはFORMAT関数を使用します

FORMAT関数の第二引数では”#,###”で桁区切りを表現します

テキストボックスへのメジャーの設定

事前に文章となるメジャーは「TEXT」という名称で作成してあります

テキストボックスをレポート画面に設定すると、+ボタンが見えますのでこちらをクリックします

するとメジャーを設定できるようになります

メジャーの設定は「この値の計算方法」の欄にて行います

これでフォント文字や文字の位置などを調整したら終了です

<まとめ>

今回はメジャーを組み合わせて文章を可変にする方法を解説しました

記事の中では様々なテクニックが出てきました

・グループ化するDAX⇒SUMMARIZECOLUNS関数

・DAXによる改行⇒UNICHAR関数

・桁区切り⇒FORMAT関数

他の場面でも有効活用できる内容です

ぜひ手を動かしてトライしてみてください

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

POWER AUTOMATE DESKTOP逆引き辞典~テキスト処理~

Microsoft社の無料RPA・Power Automate Desktopのアクションの中から、テキスト処理のアクションを紹介します

  逆引き辞典に戻る

文字列の切り取り

アクション名:サブテキストの取得

エクセル関数で言えばLEFT関数、もしくは、MID関数と同じ働きをします

下のGIF画像ではダイアログボックスに入力された文字列を左から2文字切り取ります

パラメーターの選択/左から文字を切り取る場合

元のテキスト

切り取り対象になる文字列を設定します

開始インデックス

文字列の先頭から文字の切り取りを行う場合には「テキストの先頭」を指定します

長さ

「文字数」のままで設定

文字数

切り取る文字数の長さを設定します

パラメーターの選択/文字列の途中から文字を切り取る場合

元のテキスト

切り取り対象になる文字列を設定します

開始インデックス

文字列の途中から「指定文字の長さ」を切り取る場合には「文字の位置」を指定します

文字の位置

切り取りを開始する位置を指定します

*文字の位置を指定する場合には、カウントが0からはじまる点に注意してください

長さ

「文字数」のままで設定します

文字数

切り取る文字数を指定します

テキストの置換

アクション名:テキストを置換する

このアクションでは、「t➡T」などの文字列の置換を行います

例えば、下の画像では変数:UserInputに「test」が格納されているとしたら、このアクションにて「TesT」に変換を行っています

パラメーターの選択

解約するテキスト

操作対象のテキストを設定します

検索するテキスト

検索対象のテキストを設定します

(途中省略)

置き換え先のテキスト

検索対象のテキストを置き換える内容を設定します

空白のトリミング

アクション名:テキストのトリミング

このアクションでは、指定したテキストの先頭、もしくは末尾の空白文字を取り除きます

例えば、下の画像では、変数:UserInputに格納したテキスト「    TEXT TEXT」を「TEXT TEXT」に変換します

パラメーターの選択

トリミングするテキスト

対象テキストを設定します

トリミング対象

トリミングの対象は下の画像のように、3つのパターンから選択できます

日付・時間の表示形式の指定

アクション名:dateTimeをテキストに変換

例えば、下の画像のように現在の日時を取得したとします

このアクションでは「現在の日時」を好みに応じた型式に変更することができます

下の画像では、このアクションにより「1/17/2022 1:42:21 PM」をyyyyMM形式の「202201」に表示を変更しています

パラメーターの選択

変換するdatetime

変換する対象(変数など)を設定します

使用する型式

「標準」と「カスタム」から選択できます

標準形式orカスタム型式

標準形式の場合は、下の画像のような形式の中から選択して設定できます

カスタム型式の場合は自身で「yyyyMM」などの型式を入力して設定します

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ