Python における Self とは: 実際の例
Python における Self とは: 実際の例
今日のチュートリアルでは、LuckyTemplates でパス関数とテキスト関数を使用して、指定されたテキスト文字列から特定の単語を抽出する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
この例では、2 行のデータ セットがあり、テキスト関数を使用して、名 (Antriksh と Brian)、次にミドル ネーム、最後に姓を抽出できるようにしたいと考えています。
それでは始めましょう。DAX で使用できる両方の異なる関数セットを使用してこれを行う方法を示します。DAX Studioでアクティビティを実行して、作成しているコードが実際に何を返すかを各ステップで確認できるようにします。
目次
LuckyTemplates でテキスト関数を使用する DAX コード
DAX Studio 内でコードを記述します。最初に行う必要があるのは、キーワードDEFINEを記述し、次にCOLUMN を記述することです。DAX Studio で開いたこのセッションの間のみ存在する仮想列を作成しています。ここで作成した列は、実際には LuckyTemplates 内のデータセットに保持されません。
次に、その列が作成されるテーブル名を指定します。列の名前はFirst Nameになります。
すでに見たデータセットから名を抽出するには、最初のスペースの位置を見つける必要があります。その位置を取得したら、最初の文字を抽出します。1 番目の位置から最初のスペースの位置までの単語を抽出します。
これを行うには、変数 ( FirstSpace )を作成します。これは基本的に検索操作になります。したがって、 Namesを書き込み、次にDataを書き込みます。これはデータベースの元の列です。次に、FirstSpace変数をRETURN して、何が返されるかを確認します。
結果を視覚化できるようにするには、EVALUATEを記述する必要があります。これにより、DAX コードが起動され、モデル内にあるテーブル名が提供されます。
f5 キーを押すと、それぞれの名前に対して特定の番号が検索されていることがわかります。1行目には9、2行目には6と書かれています。
最初の行では、Antriksh という名前には 8 文字しか含まれておらず、スペースの位置をカウントしているため、1 対多が返されます。8 を得るには、マイナス 1 を書くことができます。最初の単語を返すには、 LEFT関数を使用して、名の抽出元となるテキスト文字列、つまりNames Data を書き込みます。次に、抽出する文字数を指定します。FirstSpaceを書いてこれを閉じます。
f5 をクリックすると、その文字列から名が取得されたことがわかります。これが、LEFT テキスト関数を使用して名を抽出する方法です。
次に、独自のテキスト文字列から中間のキーワードまたはミドル ネームを抽出してみましょう。中間キーワードを抽出するには複数の方法がありますが、ここでは非常に理解しやすい最も基本的な方法を使用します。
別の列Names [Middle Name]を作成します。次に、DAX コードによって現在反復されている文字列を保持する変数を作成します。したがって、これは完全な文字列を保持します。したがって、FullName はNames [Data]と等しくなります。
次に、以前に計算した列で抽出した名前を変数に保存する必要があります。これを行うには、 VAR FirstNameを記述し、列Names[FirstName]を使用します。
次に、 NewTextという名前の別の変数を作成します。FullName 変数から名を削除するだけなので、結果の変数または結果の列には DAX Sharma と R Julius のみが含まれます。
もう 1 つ注意する必要があるのは、DAX と R の前の先頭のスペースです。これを削除するには、コードにTRIMを追加します。TRIM は、テキスト文字列内の余分なスペースを削除します。
次に行うことは、DAX と R キーワードの後に存在するスペースの位置を特定することです。そのために、変数StartPos (開始位置) を書きます。これは基本的に NewText 変数内の空のスペースを検索します。次に、3 だけを返すように 1 を減算する必要があります。R の場合は 2 ではなく 1 が返されます。
作成する必要がある最後の変数はRESULTです。ここでは、 LEFT関数を使用して値 DAX と R のみを抽出します。これで、元の文字列から抽出する必要があった DAX キーワードと R キーワードを取得できました。
次に、元の文字列から姓を抽出します。そのために、別の列Names[LastName]を作成します。次に、最初に元の文字列を格納する変数 ( FullName ) を作成します。
次に作成する変数はReplaceSpaceWithTildeです。これは、元の文字列に存在するすべてのスペースを、元の文字列には実際には存在しないと思われる特定の文字に置き換えます。後でその文字を使用して最後のスペースの位置を特定します。これにより、すべてのスペースがチルダ文字 ( ? ) に置き換えられたことがわかります。
次に、元の文字列にあるスペースを削除する別の変数 ( RemoveSpace )を作成します。スペースを見つけて、何も置かずに置き換えたいと考えています。次の変数PosLastTilde (最後のチルダの位置) は、基本的に ReplaceSpaceWithTilde 変数の長さから RemoveSpace の長さを減算します。これで 2 が得られます。
次に、これをチルダ文字に置き換えるコードをさらに作成します。
あとは、それを使って Sharma という単語を抽出するだけです。変数Resultを作成し、 MID関数を使用します。
パス関数を使用して DAX コードを短縮する
次に、パス関数を使用して、LuckyTemplates のテキスト関数で記述したコードの量を短縮する方法を見てみましょう。パス関数はこの種の操作用に積極的に設計されていないにもかかわらず、これらの関数を使用することでこれらすべてのコードを変換できることに驚かれるでしょう。
そこで、コントロールを押して LuckyTemplates ファイルに接続して、DAX Studio の新しいセッションを作成します。DEFINE と column キーワードを指定し、次にテーブル名のパスと仮想列の名前を指定します。これらはこのセッションでのみ保持されます。
次に、 SUBSTITUTE 関数を使用します。最初の引数に元の列にパスを指定し、スペースをパイプ演算子で置き換える必要があります。パス関数はパイプ演算子を使用して、親子階層から子を抽出します。
次に、 EVALUATEと Names およびテーブルの名前���使用して、この列の結果を返しましょう。f5 キーを押すと、文字列または別の列を受け取ったことがわかります。これには、パイプ演算子 ( | ) で区切られた元の文字列内にすでに存在するすべての文字が含まれています。
パス関数はそのパイプ演算子を使用して、最初の中間文字と最後の文字を抽出します。そこで、2 番目の列の結果に依存する別の列を作成します。列名 [First Name]を指定できるので、関数PATHITEMを使用します。
最初の引数で行う必要があるのは、前の列ですでに計算した列を指定することだけです。2 番目の引数には、抽出するキーワードまたは文字を指定する必要があります。次に、数値 1 を入力します。列Middle Nameには数値 2 を、Last Nameには数値 3 を入力します。
LuckyTemplates Desktop の DAX Studio とは
DAX 数式クリーンアップ ツール:
LuckyTemplates で DAX コードをフォーマットするロジックのいくつかの更新
結論
DAX コード内で LuckyTemplates のテキスト関数を使用して、指定されたテキスト文字列から特定の単語を抽出する方法を説明しました。また、パス関数を使用してコードを短縮する方法も示しました。ここまでで、パス関数を使用して文字列から単語を抽出することがいかに簡単であるかがわかりました。一方、テキスト関数の場合は、大量のコードを記述する必要がありました。
特定の文字列に複数の単語が含まれる場合は、別のパス関数を使用できます。区切り文字の数を手動で計算し、その区切り文字の数を PATHITEM 関数に指定する代わりに、PATHITEMREVERSE 関数を使用できます。
このチュートリアルについて質問がある場合は、以下のコメントセクションで質問してください。このトピックの詳細については、以下のリンクをチェックし、ビデオ全体もご覧ください。
ではごきげんよう!
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて