Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
いくつかの LuckyTemplates モデルの開発を開始するとすぐに、ファクト テーブルに 2 つの日付があり、日付テーブルと他のテーブルの間に 2 つのリレーションシップを配置できないという問題に遭遇する可能性が高くなります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
入力日、注文日、請求日、出荷日など、複数の日付がある場合もあります。
LuckyTemplates に問題がある、またはまったく新しい日付テーブルが必要であると考えるかもしれません。
実際には別のテーブルは必要ありませんし、心配する必要もありません。
理解すべき重要な点は、テーブル間に複数のリレーションシップを持たせることができるということです。多数の「非アクティブ」関係を持つことができますが、複数の「アクティブ」関係を持つことはできません。
非アクティブな関係のコツは、適切な DAX 式を使用して関係を「オン」にできることです。
この投稿では、 USERELATIONSHIP関数と CALCULATE 関数を併用して、データ モデル内のリレーションシップをアクティブにする方法を説明します。
目次
LuckyTemplates での日付の操作
基礎となるテーブルを見ると、Order Date 列と Ship Date 列があることがわかります。
次に、データ モデルを見て、日付ルックアップ テーブルを注文日までドラッグします。
ご覧のとおり、ここにはアクティブな関係を表す実線があります。
次に、同じことを、今度は日付と出荷日の間で実行してみましょう。
現在の状態は点線であり、いわゆる非アクティブな関係が作成されたことを意味します。
ご覧のとおり、アクティブな関係は 1 つしか構築できません。
アクティブな関係を使用した自然なフィルタリングで何が起こるかを見てみましょう。
新しいメジャーを作成してTotal Salesという名前にし、 Total Revenue列でSUMを実行します。
このメジャーをキャンバスにドラッグしてテーブルにすると、ここに Total Sales 列があることがわかります。
ただし、これはデータ モデルのアクティブな関係であるため、これは注文日別の総売上高であることに注意する必要があります。
これとは別に、どのような日付に取り組んでいるのかを明確にする必要があります。
これを行うには、まずメジャーに慎重に名前を付けます。たとえば、単に Total Sales と言う代わりに、Total Sales by Order Dateと呼ぶこともできます。
ご覧のとおり、テーブルには単にTotal Sales ではなく、Order Date別のTotal Salesが表示されるようになりました。
ただし、メジャーで日付を指定する以外にも、データを使用している人に明確にするために、以下のようなコメントを数式に追加することもできます。
さて、出荷日ごとの総売上高を表示したい場合はどうすればよいでしょうか?
出荷日別の合計売上には日付テーブルとの非アクティブな関係があることに注意してください。この関係を活性化する方法に移りましょう。
非アクティブな関係をオンにする
実際にTotal Sales by Ship Dateを分析するには、現在の状態ではまったく登録されていないため、まずこの非アクティブな関係を有効にする必要があります。
良いニュースは、これは実際には非常に簡単に実行できるということです。USERELATIONSHIPと呼ばれるこの特別な DAX 関数を使用して、これらの関係の 1 つを物理的に有効にすることができます。
そこで、新しいメジャーを作成し、それをTotal Sales by Ship Dateという名前にします。
次に、 CALCULATE、Total Sales by Order Dateを使用して、別の行にジャンプします。
ここで、 USERELATIONSHIPを追加し、次にDates を追加してから、 Sales by Ship Dateを追加します。
これをここの表にドラッグすると、出荷日別の合計売上高の結果が注文日別の合計売上高の結果と大きく異なることがわかります。
ここでこのフィルターをオンにし、事実上実線またはアクティブな関係になったため、出荷日ごとの総売上高を計算できました。
この手法の実装がいかに簡単であるかは理解できたと思いますが、LuckyTemplates で日付を操作するときに混乱する人もいる、特にまだ初心者の人がいることを知っておくと役に立つかもしれません。
複数の日付を使用する場合の混乱を招くアクション
一部の人が試みるアプローチの 1 つは、データ モデルに移動し、点線をクリックして [関係の編集]ポップアップ ボックスが表示されることです。
次に、「この関係をアクティブにする」オプションをクリックします。
このアプローチを試すと、以下のようなエラーが発生することがわかります。
エラー メッセージがそのことを示しているため、アクティブな関係を非アクティブにして、もう一方の関係をオンにしようとすると、別のエラーが発生することになります。
したがって、LuckyTemplates で複数の日付を扱う場合は、 USERELATIONSHIP関数を利用するだけで、計算が簡単に行われます。
LuckyTemplates で現在日または特定の日付までの結果を表示する Power
BI を使用して、選択した日付の前後の日数を表示する
DATEADD 関数: LuckyTemplates の最良かつ最も汎用性の高いタイム インテリジェンス関数
結論
LuckyTemplates でリレーションシップと複数の日付を持つデータ セットを操作する方法について説明しました。
USERELATIONSHIP関数をCALCULATE関数と組み合わせて使用すると、データ モデル内のリレーションシップをアクティブ化することができました。
この手法を使用すると、これらの日付のいずれかでデータをすばやくフィルター処理できるようになり、従来 Excel を使用して作成すると非常に時間がかかっていたさまざまな分析が可能になります。
この手法を理解すれば、非常に効果的な 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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。