計算列を作成する

適用対象:SQL Server 2019 以降の Analysis Services Azure Analysis Services Power BI Premium

このレッスンでは、計算列を追加することによってモデルにデータを作成します。 データの取得を使用する場合、Power Query エディターを使用する場合、またはモデル デザイナーの後でこのレッスンのように、計算列を (カスタム列として) 作成できます。 詳細は、計算列を参照してください。

3 つのテーブルに 5 つの計算列を新しく作成します。 手順はタスクごとに若干異なります。これは、新しい列の作成や列名の変更、テーブル内のさまざまな場所に列を配置する方法はいくつかあることを示しています。

また、このレッスンでは Data Analysis Expressions (DAX) を初めて使用します。 DAX は、表形式モデルに対して高度にカスタマイズ可能な数式を作成するための専用言語です。 このチュートリアルでは、DAX を使用して、計算列、メジャー、ロール フィルターを作成します。 詳細は、表形式モデルにおけるDAX を参照してください。

このレッスンの推定所要時間: 15 分

前提条件

この記事は、表形式モデルのチュートリアルの一部であり、チュートリアルでの順番に従って実行する必要があります。 このレッスンの作業を実行する前に、前のレッスン「レッスン 4: リレーションシップを作成する」を終えている必要があります。

計算列を作成する

DimDate テーブルに MonthCalendar 計算列を作成する

  1. >ExtensionsModelModel>ViewData>ビューをクリックします

    計算列は、モデル デザイナーのデータ ビューでのみ作成できます。

  2. モデル デザイナーで DimDate テーブル (タブ) をクリックします。

  3. CalendarQuarter 列ヘッダーを右クリックして、[Insert Column] をクリックします。

    Calculated Column 1 という新しい列が、 Calendar Quarter 列の左側に挿入されます。

  4. テーブルの上の数式バーに、次の DAX 数式を入力します。オートコンプリートは、列とテーブルの完全修飾名を入力し、使用可能な関数を一覧表示するのに役立ちます。

    =RIGHT(" " & FORMAT([MonthNumberOfYear],"#0"), 2) & " - " & [EnglishMonthName]  
    

    計算列のすべての行に値が入力されます。 テーブルを下方向にスクロールすると、この列の各行のデータに基づいて、行にさまざまな値が設定さていることがわかります。

  5. 列名を MonthCalendar に変更します。

    Screenshot of the model designer with the column renamed to MonthCalendar.

MonthCalendar 計算列は、月の名前で並べ替えが可能な列です。

DimDate テーブルに DayOfWeek 計算列を作成する

  1. DimDate テーブルがまだアクティブな状態で、[ExtensionsColumnAdd>>Column] をクリックします。

  2. 数式バーに次の式を入力します。

    =RIGHT(" " & FORMAT([DayNumberOfWeek],"#0"), 2) & " - " & [EnglishDayNameOfWeek]  
    

    式の入力を終えたら、Enter キーを押します。 新しい列がテーブルの右端に追加されます。

  3. 列名を DayOfWeek に変更します。

  4. 列の見出しをクリックし、EnglishDayNameOfWeek 列と DayNumberOfMonth 列の間に列をドラッグします。

    ヒント

    テーブル内の列を移動することで、列が参照しやすくなります。

DayOfWeek 計算列は、曜日の名前で並べ替えが可能な列です。

DimProduct テーブルに ProductSubcategoryName 列を作成する

  1. DimProduct テーブルの右端までスクロールします。 右端の列が [ 列の追加] という名前で、列見出しをクリックしてアクティブにします。

  2. 数式バーに次の式を入力します。

    =RELATED('DimProductSubcategory'[EnglishProductSubcategoryName])  
    
  3. 列名を ProductSubcategoryName に変更します。

ProductSubcategoryName 計算列は、DimProduct テーブルに階層を作成するのに使用されます。この列には、DimProductSubcategory テーブルのEnglishProductSubcategoryName 列からデータが取り込まれます。 階層が複数のテーブルにまたがることはできません。 階層は、後ほどレッスン 9 で作成します。

DimProduct テーブルに ProductCategoryName 計算列を作成する

  1. DimProduct テーブルがまだアクティブな状態で、新しい列を追加します。

  2. 数式バーに次の式を入力します。

    =RELATED('DimProductCategory'[EnglishProductCategoryName]) 
    
  3. 列名を ProductCategoryName に変更します。

ProductCategoryName 計算列は、DimProduct テーブルに階層を作成するのに使用されます。この列には、DimProductCategory テーブルのEnglishProductCategoryName 列からデータが取り込まれます。 階層が複数のテーブルにまたがることはできません。

FactInternetSales テーブルに Margin 計算列を作成する

  1. モデル デザイナーで FactInternetSales テーブルを選択します。

  2. SalesAmount 列と TaxAmt 列の間に新しい計算列を作成します。

  3. 数式バーに次の式を入力します。

    =[SalesAmount]-[TotalProductCost]
    
  4. 列の名前を Marginに変更します。

    Screenshot of the model designer with the Margin column called out.

    Margin 計算列は販売ごとの利幅の分析に使用されます。

次のステップ

レッスン 6: メジャーの作成