Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このチュートリアルでは、LuckyTemplates 行列の合計を修正する方法、特に作成したメジャーが元々正しい結果を生成していない場合に合計と小計を修正する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
私がこの問題に取り組みたいと思った理由は 2 つあります。1つは、それがかなり頻繁に発生するということです。でよく話題になることです。この質問がさまざまな形で何度も繰り返されるのを私たちは目にします。2 番目の理由は、行列のコンテキストでこれに対処すると、おそらく内訳合計の問題の中で最も難しい問題になるためです。
マトリックスでこの問題に対処する方法を学べば、合計が崩れる可能性があるカード、表、その他のビジュアルで合計を修正するために何をする必要があるかがわかります。ここでは、壊れている LuckyTemplates マトリックスの合計を修正するための体系的なプロセスを実行し、それを実際にコンポーネントごとに分類していきます。
この例では、メジャーが非常に複雑であるため、かなり見事な方法で合計を破っています。私は実際に壊れた合計から始めて、最悪の壊れた合計の問題を修正する方法を示したいと思いました。
目次
LuckyTemplates マトリックスの間違った合計
この例の対策のコンテキストを見てみましょう。まず、 Spread Revenueと呼ばれるメジャーがあります。これはTotal Opportunity RevenueとLookup Scaling Factorの分岐です。
Total Opportunity Revenue は単純な測定値にすぎませんが、Lookup Scaling Factor はより複雑で、一連のフィルター条件に基づいて実行する、一種の複数基準の Lookup です。
これは、合計が崩れる可能性がある方法の一例にすぎません。ここで、そのスプレッド収益をマトリックスのフィールドにドロップすると、次のことが起こります (以下を参照)。
ご覧のとおり、基本行は正しく計算されますが、合計行は計算されません。多くの場合、合計、小計、総計がある場合、LuckyTemplates は少なくとも推測を行います。そして多くの場合、その推測は間違っており、合計を修正する必要があります。
ただし、この場合、LuckyTemplates は肩をすくめるのと同等の結果を与えるだけです。これらの合計がいくらになるべきかはまったくわかりません。それは推測さえありません。それらに空白のラベルを付けるだけです。これを解決するには、行合計、列合計、総計で何を行うかを LuckyTemplates に指示する追加のロジックをここで構築する必要があります。
ステートメントとして実行できます。ただし、LuckyTemplates には、ロジックをはるかに簡単に確認できる、より優れた構造があり、それが ステートメントです。
SWITCH TRUE ロジックを使用した LuckyTemplates マトリックスの合計の修正
一般的なものから具体的なものまで構築された SWITCH TRUE ステートメントがあり、これが機能しない理由を示したいと思います。SWITCH TRUE ステートメントが行うことは、各条件を通過することです。最初のものは真実です。
したがって、この場合は一般から始めます。「動物の分類が単孔類、有袋類、有胎盤類にある場合、その動物は哺乳類というラベルが付けられる」と書かれています。この例では、これらは哺乳類の 3 つのクラスのみです。哺乳類であればこの3種類のどれかになります。
何が起こるか見てみると、データが入ってきて、SWITCH TRUE に進みます。これらのクラスのいずれかである場合は、「哺乳類」になります。これは、有袋類や私たちが望むカンガルーというこの基準には決して到達しないことを意味します。なぜなら、これらはすべて哺乳類だからです。したがって、この声明が真実であれば、それは終了するでしょう。
このステートメントが真ではない場合、2 つのステートメントは真ではありません。哺乳類ではないデフォルトに移行します。したがって、一般的なものから具体的なものまで構築するのではなく、特定のものから一般的なものまで SWITCH TRUE ステートメントを構築し、最後に総括的なものを構築する必要があります。
これを行列の合計を修正する例に戻すと、実際には同じことです。ここの A は詳細であり、SWITCH TRUE の最初のステートメントになります。そして、すべてを網羅するものとして D があります。真ん中には、B と C の 2 つの条件があります。B には列のコンテキストがありますが、行はありません。一方、C には行のコンテキストがありますが、列はありません。
ここで、Tabular Editor 3 (TE3) に移りましょう。これは、メジャーをデバッグして理解するための、現在私が本当に気に入っている方法です。
表形式エディタ 3 を使用したデバッグ
私はこの尺度を (以下では) 固定合計によるスプレッド収益と呼びます。かなり長くて複雑な DAX のように見えますが、コンポーネントごとに分けて説明します。
を取得する 2 つの変数しかなく、それがコンテキストを決定します。および構造による行列の仮想バージョンです。
これを DAX クエリ内で見ると、基本的に、Period と Short Month のあらゆる可能な組み合わせが作成され、これがマトリックスの動作であることがわかります。
Tabular Editor 3 には、ピボット グリッドと呼ばれるこれを視覚化する別の方法があります。LuckyTemplates のマトリックス ビジュアルと同じビジュアルが生成されます。
式エディターのメジャーに戻り、合計フィールドを作成するロジックを構築する必要があります。これで、を含む SWITCH TRUEステートメントが完成しました。ここでは、コンテキストが必要な 2 つのフィールドのそれぞれにコンテキストがあるかどうかをテストしています。
最初の条件は、最も具体的なものから最も具体的でないものの順に、条件 A (ベース行) です。したがって、Period のコンテキストと Short month のコンテキストがある場合は、それらのデータ行で正しい結果が生成されているため、Spread Revenue メジャーを使用するだけです。
ここで、列にコンテキストが含まれる B のロジックを構築する必要があります。つまり、Short month には HASONEVALUE がありますが、Period にはありません。次に、ロジックを強制し、仮想行列を取得し、スプレッド収益メジャーを取得し、それを Period のすべての値にわたって合計します。
次に得られるのは逆で、期間には HASONEVALUE がありますが、短期月にはありません。ここで、仮想テーブルの (Spread Revenue メジャー)を取得し、それを Short Month のすべてのにわたって合計しています。
そして最後に、包括的な対策が得られます。これは、2 つのどちらにもコンテキストがない場合、仮想テーブルの合計を取得するだけです。
ここで、固定合計を使用したスプレッド収益メジャーをフィールドに取り込んで値にドロップすると、行合計、列合計、総計の適切な合計が得られます。SWITCH TRUE ロジックは、正しい合計を取得するために必要なすべてのロジックを実行して強制します。
LuckyTemplates テーブルで一意の小計を作成する方法
LuckyTemplates で DAX メジャーを使用して間違った合計を修正する
LuckyTemplates の高度なロジックを使用して合計を修正する
結論
このブログでは、LuckyTemplates マトリックス内の誤った合計を修正する方法を説明しました。これは、テーブルまたはカードに適用できる構成であり、基本行の仮想ロジックを構築します。通常、正しいメジャーがあれば機能します。次に、適切な合計を強制するために必要なロジックを適用するだけです。
複雑そうに見えますが、間違いなく役に立ちます。これですべてが明らかになるように願っています。以下の完全なビデオチュートリアルを視聴し、その他の関連コンテンツへのリンクをチェックしてください。
ではごきげんよう!
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。
Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。
LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。
SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。
SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。
ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。
DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。
LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。
このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。