LuckyTemplates での計算列とメジャーの比較

LuckyTemplates での計算列とメジャーの比較

このチュートリアルでは、DAX 数式を記述できる 2 つの場所について説明します。これら 2 つの場所は計算列メジャーです。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

一度に 1 つずつ説明し、計算列から始めます。

目次

計算列の使用

計算列は、生データ ソースには存在しない追加の列です。

これは、データテーブルに物理的に追加する必要があることを意味します。

これを行うには、DAX 数式ロジックを列に追加して追加の列を作成します。これは Excel での作業に非常に似ており、数式を含む別の列を追加します。

この例では、小売店でのすべての売上を含むファクト テーブルを使用し、製品の価格を追加します。

LuckyTemplates での計算列とメジャーの比較

価格は実際にはここの Products テーブルにすでに存在しており、そこには元の販売価格と現在の価格が含まれています。

LuckyTemplates での計算列とメジャーの比較

ただし、計算列の作成方法を示すために、これを Sales テーブルにも追加します。

これらの例の多くでは、特に計算列の場合、実際にはこれらの列を作成する必要はありません。

Excel のバックグラウンドを持っている場合は、そうする必要があると思うかもしれませんが、LuckyTemplates ではその必要はありません。これは、計算列とは何かを示すためだけに行っています。

ただし後ほど、実際にメジャーを使用してこれらの計算を実行する方法と、データ テーブル内に物理列を追加する方法を説明します。

最初の例として、ここに価格を追加してみましょう。

計算列を作成するには、「モデリング」リボンを開き、「新しい列」を選択します。

LuckyTemplates での計算列とメジャーの比較

この列に価格を取得するための非常に単純なロジックをここに書きます。これを Sales Price という名前にし、RELATED関数を使用して列名を参照します。

LuckyTemplates での計算列とメジャーの比較

この場合、 「現在の価格」列を参照します。これにより、販売されたすべての商品の販売価格がわかります。

RELATED関数は、個々の製品の価格をもたらします。

LuckyTemplates での計算列とメジャーの比較

そして、ここに新しい列を作成して、それをTotal Revenueと呼ぶことができます。次の式を使用します。

総収益 = 売上[数量] * 売上[販売価格]

LuckyTemplates での計算列とメジャーの比較

これらは、計算列を作成する方法のほんの一部の例です。

データ モデル内の任意のテーブルに計算列を作成することもできます。ファクトテーブルや売上テーブルだけである必要はありません。LOOKUP テーブル内に含めることもできます。

たとえば、この詳細な日付テーブルにジャンプします。これらの列は、DAX メジャーのフィルターとなる列と考えてください。

LuckyTemplates での計算列とメジャーの比較

このテーブルを見ると、現在存在しないディメンションがここにあることがわかります。これをビジュアライゼーションの一部に取り入れたいと思うかもしれません。

計算列を作成する別の方法を紹介するために、MonthName 列を使用します。

LuckyTemplates での計算列とメジャーの比較

ここの MonthName は完全な月ですが、必要なのは各月の最初の 3 文字だけです。

そこで、 [モデリング]リボンの[新しい列]に移動し、この列をShort Monthという名前にします。

Excel でよく知られているロジックをいくつか使用します。LEFTを使用して、月の名前を検索します。その月の名前の最初の 3 文字のみを使用します

LuckyTemplates での計算列とメジャーの比較

ここで横に移動すると、「Short Month」列が表示されます。ここには各月の最初の 3 文字だけが表示されます。

LuckyTemplates での計算列とメジャーの比較

私はこれを、分析にディメンションを追加することと呼びたいと思います。これは、基本的に、今後行う分析全体で使用できる別のフィルターを作成したからです。

データ モデルに戻ると、Dates テーブルに Short Month 列が存在し、この Sales テーブル内で行うことをすべてフィルターできることがわかります。

したがって、計算を実行して数量をカウントアップすると、短期月でフィルターできるようになります。

LuckyTemplates での計算列とメジャーの比較

これらの計算はすべてメモリ内で実際に作成できるため、ここでこれらの列を作成することはお勧めできません。 

メジャーを作成することで、テーブル内に物理的に配置することなく、これらの内部計算を行うことができます。

これは、データ テーブル上に DAX 数式を記述する方法を学習する際に覚えておくべき重要な点です。

メジャーの使用

次に、対策についてお話します。

メジャーを仮想計算として考えてください。実際にはモデルの内部に配置されるのではなく、モデルの上に配置されます。

メジャーを使用する場合、メジャーは使用時にのみ計算を実行します。

Excel では、列またはセルで計算を実行するたびに、常に再計算が行われます。ただし、LuckyTemplates では、メジャーは必要な場合にのみ計算されます。

メジャーは、ビジュアライゼーションで使用する場合にのみ有効になるストアド計算プロシージャのようなものです。

そこで、その点を強調する簡単なメジャーを作成してみましょう。まず、Sales テーブルを選択し、そこにある列を選択します。

新しいメジャーを作成するには、[モデリング]リボンに移動し、 [新しいメジャー]をクリックします。

LuckyTemplates での計算列とメジャーの比較

アイコンをクリックすると、この数式バーが開き、数式を入力できます。

LuckyTemplates での計算列とメジャーの比較

「Total Quantity Sold」を入力して、Sales テーブルの Quantity 列の合計を取得します。

LuckyTemplates での計算列とメジャーの比較

これで、非常に単純な尺度が得られ、実質的に計算が完了しました。

また、メモリ内のすべてを計算しています。言い換えれば、これは、期間を通じて販売したアイテムの合計を計算しているということです。

LuckyTemplates での計算列とメジャーの比較

ここで覚えておくべき重要な点は、このメジャーはモデル内に保存されているだけで、レポート ページにドラッグしない限り、実際には計算を実行しないということです。次に、仮想的に計算を実行します。

したがって、この場合、このメジャーは仮想的に Sales テーブルに移動し、そのテーブルの Quantity 列に移動して、その列全体の合計を計算します。

これは実際には集計メジャーと呼ばれるもので、すぐに説明します。

ここで、新しいメジャーを作成し、これをTotal Salesという名前にします。次に、 SUMXという反復関数を使用します。これについては、別のモデルですぐに説明します。

LuckyTemplates での計算列とメジャーの比較

Sales テーブルを参照して、次の式を考え出しました。

総売上高 = SUMX( 売上高, 売上[数量] * RELATED( 製品[現在の価格] )

覚えていると思いますが、この関連する現在価格をデータ テーブル内に物理的に入れたわけではありません。ただし、この場合は、このメジャーに組み込むことで、仮想的にデータ テーブル内に入れています。

次に、反復関数SUMX がSales テーブルに移動し、数量と関連する現在の価格を乗算したテーブル内のすべての行を選択します。

LuckyTemplates での計算列とメジャーの比較

この合計売上高から結果が得られます。

データ型が一番上にある [モデリング] タブで書式設定を行うこともできます。

LuckyTemplates での計算列とメジャーの比較

LuckyTemplates スライサーの選択内容を収集して他のメジャー内で使用する方法を学ぶLuckyTemplates の日付テーブルに勤務日と週末の日の番号を配置する LuckyTemplates で 現在日付または特定の日付までの結果を表示する

結論

DAX 式を記述できる計算列とメジャーについて説明しました。

計算列で重要なのは、データの列をモデルに物理的に配置することです。一部の大きなテーブルでこれを行うと、列が非常に大きくなる可能性があります。

これらの計算列はモデル内で多くのメモリを占有する可能性があることを認識することが重要です。

ファイル サイズが大きくなる可能性があり、テーブルの大きさによってはパフォーマンスに影響を与える可能性があります。

ただし、メジャーを効果的に使用してこれらの計算の多くを仮想的に実行することで、これに対抗できます。これらの計算列を記述した場合と同じ結果が得られます。

このチュートリアルで、DAX 数式を記述できる 2 つの場所と、DAX 数式を記述する際の考慮事項がより明確になれば幸いです。

これは、LuckyTemplates 内の分析に DAX を組み込む方法を理解するのにも役立ちます。

レビューをお楽しみください。


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