LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

今日のチュートリアルでは、LuckyTemplates でパス関数とテキスト関数を使用して、指定されたテキスト文字列から特定の単語を抽出する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

この例では、2 行のデータ セットがあり、テキスト関数を使用して、名 (Antriksh と Brian)、次にミドル ネーム、最後に姓を抽出できるようにしたいと考えています。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

それでは始めましょう。DAX で使用できる両方の異なる関数セットを使用してこれを行う方法を示します。DAX Studioでアクティビティを実行して、作成しているコードが実際に何を返すかを各ステップで確認できるようにします。

目次

LuckyTemplates でテキスト関数を使用する DAX コード

DAX Studio 内でコードを記述します。最初に行う必要があるのは、キーワードDEFINEを記述し、次にCOLUMN を記述することです。DAX Studio で開いたこのセッションの間のみ存在する仮想列を作成しています。ここで作成した列は、実際には LuckyTemplates 内のデータセットに保持されません。

次に、その列が作成されるテーブル名を指定します。列の名前はFirst Nameになります。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

すでに見たデータセットから名を抽出するには、最初のスペースの位置を見つける必要があります。その位置を取得したら、最初の文字を抽出します。1 番目の位置から最初のスペースの位置までの単語を抽出します。

これを行うには、変数 ( FirstSpace )を作成します。これは基本的に検索操作になります。したがって、 Namesを書き込み、次にDataを書き込みます。これはデータベースの元の列です。次に、FirstSpace変数をRETURN して、何が返されるかを確認します。

結果を視覚化できるようにするには、EVALUATEを記述する必要があります。これにより、DAX コードが起動され、モデル内にあるテーブル名が提供されます。

f5 キーを押すと、それぞれの名前に対して特定の番号が検索されていることがわかります。1行目には9、2行目には6と書かれています。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

最初の行では、Antriksh という名前には 8 文字しか含まれておらず、スペースの位置をカウントしているため、1 対多が返されます。8 を得るには、マイナス 1 を書くことができます。最初の単語を返すには、 LEFT関数を使用して、名の抽出元となるテキスト文字列、つまりNames Data を書き込みます。次に、抽出する文字数を指定します。FirstSpaceを書いてこれを閉じます。

f5 をクリックすると、その文字列から名が取得されたことがわかります。これが、LEFT テキスト関数を使用して名を抽出する方法です。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

次に、独自のテキスト文字列から中間のキーワードまたはミドル ネームを抽出してみましょう。中間キーワードを抽出するには複数の方法がありますが、ここでは非常に理解しやすい最も基本的な方法を使用します。

別の列Names [Middle Name]を作成します。次に、DAX コードによって現在反復されている文字列を保持する変数を作成します。したがって、これは完全な文字列を保持します。したがって、FullName はNames [Data]と等しくなります。

次に、以前に計算した列で抽出した名前を変数に保存する必要があります。これを行うには、 VAR FirstNameを記述し、列Names[FirstName]を使用します。

次に、 NewTextという名前の別の変数を作成します。FullName 変数から名を削除するだけなので、結果の変数または結果の列には DAX Sharma と R Julius のみが含まれます。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

もう 1 つ注意する必要があるのは、DAX と R の前の先頭のスペースです。これを削除するには、コードにTRIMを追加します。TRIM は、テキスト文字列内の余分なスペースを削除します。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

次に行うことは、DAX と R キーワードの後に​​存在するスペースの位置を特定することです。そのために、変数StartPos (開始位置) を書きます。これは基本的に NewText 変数内の空のスペースを検索します。次に、3 だけを返すように 1 を減算する必要があります。R の場合は 2 ではなく 1 が返されます。

作成する必要がある最後の変数はRESULTです。ここでは、 LEFT関数を使用して値 DAX と R のみを抽出します。これで、元の文字列から抽出する必要があった DAX キーワードと R キーワードを取得できました。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

次に、元の文字列から姓を抽出します。そのために、別の列Names[LastName]を作成します。次に、最初に元の文字列を格納する変数 ( FullName ) を作成します。

次に作成する変数はReplaceSpaceWithTildeです。これは、元の文字列に存在するすべてのスペースを、元の文字列には実際には存在しないと思われる特定の文字に置き換えます。後でその文字を使用して最後のスペースの位置を特定します。これにより、すべてのスペースがチルダ文字 ( ? ) に置き換えられたことがわかります。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

次に、元の文字列にあるスペースを削除する別の変数 ( RemoveSpace )を作成します。スペースを見つけて、何も置かずに置き換えたいと考えています。次の変数PosLastTilde (最後のチルダの位置) は、基本的に ReplaceSpaceWithTilde 変数の長さから RemoveSpace の長さを減算します。これで 2 が得られます。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

次に、これをチルダ文字に置き換えるコードをさらに作成します。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

あとは、それを使って Sharma という単語を抽出するだけです。変数Resultを作成し、 MID関数を使用します。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

パス関数を使用して DAX コードを短縮する

次に、パス関数を使用して、LuckyTemplates のテキスト関数で記述したコードの量を短縮する方法を見てみましょう。パス関数はこの種の操作用に積極的に設計されていないにもかかわらず、これらの関数を使用することでこれらすべてのコードを変換できることに驚かれるでしょう。

そこで、コントロールを押して LuckyTemplates ファイルに接続して、DAX Studio の新しいセッションを作成します。DEFINE と column キーワードを指定し、次にテーブル名のパスと仮想列の名前を指定します。これらはこのセッションでのみ保持されます。

次に、 SUBSTITUTE 関数を使用します。最初の引数に元の列にパスを指定し、スペースをパイプ演算子で置き換える必要があります。パス関数はパイプ演算子を使用して、親子階層から子を抽出します。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

次に、 EVALUATEと Names およびテーブルの名前���使用して、この列の結果を返しましょう。f5 キーを押すと、文字列または別の列を受け取ったことがわかります。これには、パイプ演算子 ( | ) で区切られた元の文字列内にすでに存在するすべての文字が含まれています

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル

パス関数はそのパイプ演算子を使用して、最初の中間文字と最後の文字を抽出します。そこで、2 番目の列の結果に依存する別の列を作成します。列名 [First Name]を指定できるので、関数PATHITEMを使用します。

最初の引数で行う必要があるのは、前の列ですでに計算した列を指定することだけです。2 番目の引数には、抽出するキーワードまたは文字を指定する必要があります。次に、数値 1 を入力します。列Middle Nameには数値 2 を、Last Nameには数値 3 を入力します。

LuckyTemplates でのテキスト関数の使用 – DAX チュートリアル


LuckyTemplates Desktop の DAX Studio とは
DAX 数式クリーンアップ ツール:
LuckyTemplates で DAX コードをフォーマットするロジックのいくつかの更新

結論

DAX コード内で LuckyTemplates のテキスト関数を使用して、指定されたテキスト文字列から特定の単語を抽出する方法を説明しました。また、パス関数を使用してコードを短縮する方法も示しました。ここまでで、パス関数を使用して文字列から単語を抽出することがいかに簡単であるかがわかりました。一方、テキスト関数の場合は、大量のコードを記述する必要がありました。

特定の文字列に複数の単語が含まれる場合は、別のパス関数を使用できます。区切り文字の数を手動で計算し、その区切り文字の数を PATHITEM 関数に指定する代わりに、PATHITEMREVERSE 関数を使用できます。

このチュートリアルについて質問がある場合は、以下のコメントセクションで質問してください。このトピックの詳細については、以下のリンクをチェックし、ビデオ全体もご覧ください。

ではごきげんよう!


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて