Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このブログでは、複数の論理操作を処理するために使用できるCASEステートメントについて説明します。また、 NULL値を持つ式が存在する場合に置換値を返すことができるISNULL SQL 関数についても説明します。
CASEステートメントとISNULL関数は、多くの論理演算を必要とするコードを操作したり、固定値または指定された値を式にすばやく置き換えたりする場合に非常に役立ちます。
SQLの CASE ステートメントは、IF ELSEステートメントの使用に似ています。ただし、これはおそらくDAXで使用するSWITCHステートメントに似ています。一方、ISNULL関数は、 NULL値を使用したい特定の値に置き換えます。
目次
SQL での CASE ステートメントの使用
ProductName列とSales Amount列があると仮定します。
次に、 descriptionという名前の追加の列を作成します。
また、売上金額が5以下の場合は「安い」を表示し、 6から100までの場合は「あまり安くない」を表示する論理ステートメントも追加したいと考えています。値が 100 を超える場合は、「高価」と表示されます。
この例では、SELECTステートメントを使用して、表示する列を選択しました。その後に、前述した論理演算を含むCASEステートメントがあります。
CASEステートメントを使用する場合、WHENステートメントとTHENステートメントは、選択した列に実装する論理操作を示すために常に使用されます。ELSEステートメントは、設定された論理演算が満たされなかった場合にデフォルト値を設定するためのものです。
CASEステートメントの最後には、 END ASとその隣に列名があります。これにより、 CASEステートメントに追加した論理演算に基づいた値を含む、Descriptionという名前の新しい列が作成されます。
ISNULL SQL 関数の使用
ISNULL関数は、選択した列にNULL値があるかどうかを確認し、指定した値に置き換えます。次に、 NULL値を持つ次の列があることを視覚化してみましょう。
上の例では、すべてのNULL値が「 Unknown 」値に置き換えられます。次のコード行は、この例の作成に使用されます。
ISNULL SQL 関数を使用する場合は、まずSELECTステートメントを使用してMiddleName列を選択する必要があります。
その後、ISNULL関数を使用して、かっこ内に指定されたMiddleName列を確認し、その中のNULL値を「 Unknown」値に置き換える必要があります。
AS関数は、新しい列を作成するためのもので、この場合は MiddleName_Newです。
ISNULL関数は、特定の値がNULLに等しくない場合にのみNULL 値を置き換えることに注意してください。その後、 ISNULL関数で指定した列から同じ値が返されます。
次に、 SSMSのCASEステートメントとISNULL関数を使用して、実際にどのように機能するかを確認します。
SSMS の CASE ステートメント
まず、PERSON.PERSONからFirstName列を選択します。この例では、列を選択する必要がないことに注意してください。これはあくまで参考用です。
この列を表示した後、 CASEステートメントを使用して、名がKimであるかどうかに関係なく値を表示する列を作成しましょう。これを行うには、以下の例に従ってください。
上記のサンプル コードでは、CASEステートメントを使用して、 FirstName が「 Kim 」に等しい場合は「 Yes 」が表示され、そうでない場合は代わりに「No」が表示されるという条件を追加しました。
この例では、 END AS関数を使用して「 IsKim」という名前の新しい列も作成しました。結果については、以下の例を参照してください。
次に、 CASEステートメントを使用して、 Sales.SalesOrderHeaderテーブルのTaxAmt列にいくつかの条件を適用する別の例を見てみましょう。
まず、次のコード行を使用してSales.SalesOrderHeaderから上位 100 列を取得し、 TaxAmt列を探しましょう。
その後、以下の例を使用して、CASEステートメントを使用してTaxAmt列に条件を適用してみましょう。
前の例と同様に、条件を適用する列を選択することから始めました。この場合は、TaxAmt列です。
次にCASEステートメントに、TaxAmt が500以下の場合に値「Perfect」を表示するという条件を追加しました。TaxAmtが2000以下の場合、値「Healthy」が表示されます。
さらに、条件が満たされていない場合は、「Not Good」 の値が表示されます。ステートメントの最後に、TaxClassという名前の新しい列を作成しました。
これがSQLでCASEステートメントを使用する方法です。条件はいくつでも設定できることに注意してください。WHENステートメントとTHENステートメント、およびEND AS関数を必ず使用して、結果が表示される新しい列を生成してください。
SSMS の ISNULL SQL 関数
この例では、前の例と同じテーブルを使用します。次に、この関数を使用してCurrencyRateID列のNULL値を置き換える方法を示します。
上の例からテーブルを選択すると、CurrencyRateID列の下にNULL値が表示されます。ここで、これらのNULL値を「1 」に置き換えたいと思います。これを行うには、以下の例を参照してください。
特定の列のNULL値を変更するには、まず NULL 値を持つ列を選択する必要があります。この場合、それはCurrencyRateIDです。次に、 ISNULL関数を使用して、 ISNULL関数によってチェックされる列 ( CurrencyRateID )を選択します。
使用する置換値も宣言する必要があります。この例では「1」を使用しました。最後に、 AS関数を追加して、 NewRateという名前の新しい列を作成します。
その結果、NewRate列の下のすべてのNULL値は「 1」に置き換えられ、 NULL値を持たない値はそのまま残りました。さらに、列を使用してNULL値を変更することもできます。これは、以下の例に従って行うことができます。
前の例と同じ構文を使用して、ISNULL関数の前に参照としてCurrencyRateID の隣にSalesOrderIDを追加しました。次に、置換値をSalesOrderIDに変更しました。このステートメントは、 CurrencyRateIDの下のNULL値を単純にチェックし、 SalesOrderID列の値に置き換えます。
結論
要約すると、SQLの適切な構文とともにCASEステートメントとISNULL関数を使用する方法を学習しました。また、 CASEステートメントには論理条件を必要なだけ含めることができることも学びました。CASEステートメントはSWITCH ステートメントまたはIF ELSEステートメントと似ていることに注意してください。
ISNULL関数に加えて、この関数を利用してNULL値を置き換えるさまざまな方法 (固定値または列を使用する方法) があることを学習しました。
ではごきげんよう、
ハーフィズ
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。