LuckyTemplates での DAX 計算: ベスト プラクティス

LuckyTemplates での DAX 計算: ベスト プラクティス

このチュートリアルでは、LuckyTemplates でレポートを開発する際の DAX 計算のベスト プラクティスについて説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

DAX 計算は、LuckyTemplates 開発の 4 つの柱の 1 つです。この投稿では、正確で価値のある洞察を簡単に得るために DAX を最大化する方法についてのヒントを学びます。

目次

DAX エディターのヒント

これらの DAX エディターのヒントを使用すると、DAX 計算をより簡単に使用できます。

最初のヒントは、コードのズームを調整することです。

コードを編集するときは、数式を見やすくするために数式のサイズを設定すると便利です。

これを行うには、調整する小節を開きます。CTRL キーを押したままマウス ホイールを使用してズーム レベルを変更します。

LuckyTemplates での DAX 計算: ベスト プラクティス

別の小節を開いてもズームレベルは維持されます。

次のヒントは、コード内の名前を簡単に置き換える方法です。

もう一度、小節を開き、変更したい単語を選択します。SHIFT+CTRL+L を押したまま、新しい単語を入力します。

この例では、 「日付」という単語が同時に「カレンダー」に変更されています。

LuckyTemplates での DAX 計算: ベスト プラクティス

DAX エディターの最後のヒントは、仮想テーブルに追加された列を示すプレフィックスとして「@」記号を使用することです。

これにより、正しい列と後続の行を選択できるようになります。

以下に対策例を示します。追加された列の前に「 @ 」記号があることがわかります。

LuckyTemplates での DAX 計算: ベスト プラクティス

LuckyTemplates で DAX 計算をフォーマットする

DAX コードを書式設定すると、DAX コードが理解しやすくなり、読みやすくなります。

フォーマットされていない場合は、DAX ではありません。

DAX クリーンアップ ツールは、コードの書式設定を支援する LuckyTemplates のツールです。

ツールを開くには、LuckyTemplates Web サイトにアクセスし、「リソース」をクリックします。

LuckyTemplates での DAX 計算: ベスト プラクティス

次に、ページの下部に移動し、[DAX Clean Up]をクリックします。

LuckyTemplates での DAX 計算: ベスト プラクティス

LuckyTemplates レポートの DAX エディターからコードをコピーし、DAX クリーンアップ ツールに貼り付けます。次に、「フォーマット」をクリックします。

LuckyTemplates での DAX 計算: ベスト プラクティス

それが完了したら、書式設定されたコードを LuckyTemplates レポートのエディターにコピーして戻します。

LuckyTemplates での DAX 計算: ベスト プラクティス

また、コード内に複雑な関数がある場合は、コメントとして説明を入れることをお勧めします。これは、他の人が使用される関数の目的を理解するのに役立ちます。

名前と変数を指定する

DAX コードで変数を使用する場合は、後続の行で正しい値を選択しやすくするために、変数名の接頭辞としてアンダースコアを使用します。これにより、IntelliSense によって表示されるリストが減ります。

この例では、アンダースコアを入力すると、2 つのオプションのみが表示されることがわかります。

LuckyTemplates での DAX 計算: ベスト プラクティス

もう 1 つの手法は、 RETURN RESULT構造を使用することです 。これにより、 DAX コードの段階的な開発とデバッグが容易になります。

複数のテーブルに同様の列名が存在することは頻繁に発生するため、それらの名前を明確にする必要があります。

これは、同じ列名を持つテーブルの例です。

LuckyTemplates での DAX 計算: ベスト プラクティス

列に同じデータが含まれている場合でも、目的の結果を得るには、常に列名を修飾する必要があります。ただし、メジャーはあるテーブルから別のテーブルに移動できるため、これを行うことはできません。対策を限定すると、DAX が脆弱になります。

LuckyTemplates の DAX 関数を理解する

CALCULATE関数

 は最も重要な DAX 関数です。この関数は計算を実行するのではなく、計算のコンテキストを変更します。

この例では、CALCULATE関数を使用して、総売上高の計算のコンテキストを現在の評価の 1 年前に変更します。

LuckyTemplates での DAX 計算: ベスト プラクティス

適切な DAX コードを記述するための重要な概念の 1 つは、CALCULATE を使用してコンテキストを操作する方法を理解することです。

DAX では、多くのタイム インテリジェンス関数を利用できます。 、最も多用途な DAX 関数の 1 つです。

DATEADDを使用してメジャーを作成したら、コードを簡単にコピーして貼り付け、小さな変更を加えて新しいメジャーを作成できます。

これは、昨年の売上高メジャーの例です 。

LuckyTemplates での DAX 計算: ベスト プラクティス

コード全体をコピーして、新しい小節に貼り付けます。名前を変更して、別の時間枠を置き換えることができます。

LuckyTemplates での DAX 計算: ベスト プラクティス

DIVIDE関数

LuckyTemplates での分割はさまざまな方法で行うことができます。

関数 は、ゼロ除算の場合を含むすべてのケースを処理します。代替結果を追加することもできます。

LuckyTemplates での DAX 計算: ベスト プラクティス

SWITCH 関数と TRUE 関数

コードを理解しやすくするためのもう 1 つのベスト プラクティスは、 関数を使用することです。

評価する条件が複数ある場合に使用できます。また、コードを変更したり、新しい条件を調整または追加したりする柔軟性も得られます。

これは選択されたメトリックメジャーです。

LuckyTemplates での DAX 計算: ベスト プラクティス

異なる選択に対して異なるメジャーが返されます。これには、選択スライサーで選択したメトリックの値が表示されます。

LuckyTemplates の仮想テーブル

仮想テーブルを理解することは、DAX ソリューションを開発する際に非常に役立ちます。 

特に変数と組み合わせる場合に役立ちます。また、コードの複雑さを区分化し、非常に見やすくするのにも役立ちます。

DAX コードで仮想テーブルを構築するときは、 使用して列をベース テーブルにグループ化し、それを 構造で囲んでベース テーブルに列を追加します。

 曖昧さを避け、正しい仮想テーブル列を確実に選択できるように、ADDCOLUMNSによって追加された列には必ず「@ 」記号接頭辞を使用してください。

DAX Studio または表形式エディターを使用すると、仮想テーブルの開発を支援し、その内容を簡単に確認できるようになります。

LuckyTemplates の関係

LuckyTemplates のテーブルのペアには、多くのリレーションシップが存在する可能性があります。非アクティブな関係がたくさんある可能性があります。ただし、アクティブな関係は 1 つだけです。

DAX コードは、デフォルトでアクティブな関係を使用しますが、 関数を通じて特定の非アクティブな関係を使用することもできます。

簡単な販売シナリオを次に示します。

LuckyTemplates での DAX 計算: ベスト プラクティス

Date テーブル Date 列間には多くの関係があることがわかります。

Sales  by Order Date がアクティブな関係です。請求書日付による販売は非 アクティブな関係です。

データ モデルの実線の上にマウスを移動すると、DateOrderDateの間のアクティブな関係が表示されます。

LuckyTemplates での DAX 計算: ベスト プラクティス

点線は、DateInvoice Date、およびShip Dateの間の非アクティブな関係を表します。

USERELATIONSHIP関数を使用すると、レポート内の[Sales by Order Date] 列[Sales by Invoice Date]列、および[Sales by Ship Date]列の違いを確認できます。

LuckyTemplates での DAX 計算: ベスト プラクティス

メジャーと計算列

LuckyTemplates では、計算列ではなくメジャーを使用することをお勧めします。

メジャーは、モデルの上に位置する仮想計算のようなものです。メジャーを使用する場合、計算はビジュアルで使用される場合にのみ実行されます。

一方、計算列はモデルの一部です。これは、ファイルが更新されるたびに計算が常に行われることを意味します。

計算列はスライサーで使用でき、メジャーに比べてデータ モデルの物理サイズが増加する可能性があります。

LuckyTemplates で最も価値のある手法は、メジャー分岐とメジャー グループの使用です。

複雑な計算を実行する場合、メジャー分岐によりコードがモジュール化されます。これにより、読みやすく、理解しやすくなります。

メジャー グループを使用すると、メジャーを維持するという点でも有利になります。これにより、レポートの見た目がすっきりし、測定値が整理されて見つけやすくなり、理解しやすくなります。

LuckyTemplates での DAX 計算: ベスト プラクティス

LuckyTemplates での DAX 計算のコンテキスト

LuckyTemplates の主な強みの 1 つはコンテキストです。これは、LuckyTemplates 開発者にとって理解するのが難しい概念の 1 つでもあります。

コンテキストは、計算が実行される環境です。

DAX 計算には 3 つのコンテキストがあります。

  • 評価コンテキスト
  • 行コンテキスト
  • フィルターコンテキスト

コンテキストを完全に理解していないことが、レポート作成時の困難の原因となることがよくあります。

LuckyTemplates の DAX 計算の関数

DAX と LuckyTemplates には、次の 2 つの主要な関数クラスがあります。

  • 集計関数
  • 反復関数

などを使用して単一の列の値を集計します。

LuckyTemplates での DAX 計算: ベスト プラクティス

反復関数は、テーブル内の各行の式を計算します。これらは X 関数とも呼ばれます。反復関数の例としては、などがあります。

LuckyTemplates での DAX 計算: ベスト プラクティス

これらには 2 つのパラメータがあります。反復処理するテーブルと、ベース テーブルまたは関連テーブルの複数の列を使用できる計算を実行する式です。


データの読み込みと変換のベスト プラクティス
LuckyTemplates でのデータ モデリング: ヒントとベスト プラクティス
計算列 LuckyTemplates: ヒントとベスト プラクティス

結論

LuckyTemplates での DAX 計算に関するこれらのベスト プラクティスは、レポートの開発に役立ちます。このチュートリアルで説明する手法は、LuckyTemplates レポートを作成するときに遭遇する DAX 関数、コード、およびコンテキストに関する優れた背景を提供します。

きれいに整理されたレポートを作成するのが難しい場合は、次のベスト プラクティスを使用して適用できます。これらは、正しい結果を取得し、LuckyTemplates での開発スキルを向上させるのに確実に役立ちます。

グレッグ


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 ゲートウェイとは何ですか? 知っておくべきことすべて