Excel-dax-using-time-intelligence

提供:Dev Guides
移動先:案内検索

Excel DAX-タイムインテリジェンスの使用

「タイムインテリジェンスについて」の章で、タイムインテリジェンスのDAXの強力な機能について学習しました。 この章では、さまざまなシナリオでDAXタイムインテリジェンス関数を使用する方法を学習します。

DAXタイムインテリジェンス機能には、

  • データから日付または日付範囲を取得するのに役立つ関数。これらの関数は、同様の期間にわたる値を計算するために使用されます。
  • 標準の日付間隔で機能し、月、年、または四半期の値を比較できるようにする関数。
  • 指定された期間の最初と最後の日付を取得する関数。
  • 期首残高と期末残高の作業を支援する機能。

累積売上の計算

DAXタイムインテリジェンス関数を使用して、累積売上を計算するための数式を作成できます。 次のDAX関数を使用して、期末残高と期首残高を計算できます-

  • CLOSINGBALANCEMONTH(<expression>、<dates>、[<filter>])*-現在のコンテキストの月の最後の日付で式を評価します。
  • OPENINGBALANCEMONTH(<expression>、<dates>、[<filter>])*-現在のコンテキストの月の最初の日付で式を評価します。
  • CLOSINGBALANCEQUARTER(<expression>、<dates>、[<filter>])*-現在のコンテキストで四半期の最後の日付の式を評価します。
  • OPENINGBALANCEQUARTER(<expression>、<dates>、[<filter>])*-現在のコンテキストで、四半期の最初の日付で式を評価します。
  • CLOSINGBALANCEYEAR(<expression>、<dates>、[<filter>]、[<year_end_date>])*-現在のコンテキストの年の最後の日付で式を評価します。
  • OPENINGBALANCEYEAR(<expression>、<dates>、<filter>]、[<year_end_date>])*-現在のコンテキストの年の最初の日付で式を評価します。

次のDAX関数を使用して、指定した時間に製品在庫の次の計算フィールドを作成できます-

Month Start Inventory Value: = OPENINGBALANCEMONTH (
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Month End Inventory Value: = CLOSINGBALANCEMONTH (
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Quarter Start Inventory Value: = OPENINGBALANCEQUARTER (
   SUMX ProductInventory, (ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Quarter End Inventory Value: = CLOSINGBALANCEQUARTER (
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Year Start Inventory Value: = OPENINGBALANCEYEAR (
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Year End Inventory Value: = CLOSINGBALANCEYEAR (
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)

異なる期間にわたる値の比較

DAXがサポートするデフォルトの期間は、月、四半期、年です。

次のDAXタイムインテリジェンス関数を使用して、さまざまな期間の合計を比較できます。

  • * PREVIOUSMONTH(<dates>)*-現在のコンテキストで、dates列の最初の日付に基づいて、前月のすべての日付の列を含むテーブルを返します。
  • * PREVIOUSQUARTER(<dates>)*-現在のコンテキストで、dates列の最初の日付に基づいて、前四半期からのすべての日付の列を含むテーブルを返します。
  • * PREVIOUSYEAR(<dates>、<year_end_date>])*-現在のコンテキストで、dates列の最後の日付を指定すると、前年のすべての日付の列を含むテーブルを返します。

あなたは、比較のために指定された期間で西部地域の売上高の合計を計算するための次の計算フィールドを作成することができます、DAX関数を使用して-

Previous Month Sales: = CALCULATE (
   SUM (WestSales[SalesAmount]), PREVIOUSMONTH (DateTime [DateKey])
)
Previous Quarter Sales: = CALCULATE (
   SUM (WestSales[SalesAmount]), PREVIOUSQUARTER (DateTime [DateKey])
)
Previous Year Sales: = CALCULATE (
   SUM (WestSales[SalesAmount]), PREVIOUSYEAR (DateTime [DateKey])
)

並列期間にわたる値の比較

DAXタイムインテリジェンス関数PARALLELPERIODを使用して、指定された期間と並行する期間の合計を比較できます。

並列(<日付>、<番号の間隔>、<間隔>)

このDAX関数は、現在のコンテキストで、指定された日付列の日付と並行する期間を表す日付列を含むテーブルを返します。日付は、時間を前後にいくつかの間隔でシフトします。

西部地域での前年の売り上げを計算するために、次の計算フィールドを作成できます-

Previous Year Sales: = CALCULATE (
   SUM (West_Sales[SalesAmount]), PARALLELPERIOD (DateTime[DateKey],-1,year)
)

積算合計の計算

次のDAXタイムインテリジェンス関数を使用して、積算合計または積算合計を計算できます。

  • * TOTALMTD(<expression>、<dates>、[<filter>])*-現在のコンテキストで現在までの月の式の値を評価します。
  • * TOTALQTD(<expression>、<dates>、<filter>])*-現在のコンテキストで、現在までの四半期の日付の式の値を評価します。
  • * TOTALYTD(<expression>、<dates>、[<filter>]、[<year_end_date>])*-現在のコンテキストで式の年初から現在までの値を評価します。

あなたは、DAX関数を使用することにより、指定された期間で西部地域の売上高の実行合計を計算するための次の計算フィールドを作成することができます-

月間累計:= TOTALMTD(SUM(West_Sales [SalesAmount])、DateTime [DateKey])

四半期連続合計:= TOTALQTD(SUM(WestSales [SalesAmount])、DateTime [DateKey])

Year Running Sum:= TOTALYTD(SUM(WestSales [SalesAmount])、DateTime [DateKey])

カスタム日付範囲での値の計算

DAXタイムインテリジェンス関数を使用して日付のカスタムセットを取得し、計算を実行するDAX関数への入力として使用して、期間全体でカスタム集計を作成できます。

  • DATESINPERIOD(<dates>、<start_date>、<number_of_intervals>、<interval>)*-start_dateで始まり、指定されたnumber_of_intervalsまで続く日付の列を含むテーブルを返します。
  • DATESBETWEEN(<dates>、<start_date>、)*-start_dateで始まりend_dateまで続く日付の列を含むテーブルを返します。
  • DATEADD(<dates>、<number_of_intervals>、<interval>)*-現在のコンテキストの日付から指定された間隔数だけ時間を前後にシフトした日付の列を含むテーブルを返します。
  • FIRSTDATE(<dates>)*-指定された日付列の現在のコンテキストの最初の日付を返します。
  • LASTDATE(<dates>)*-日付の指定された列の現在のコンテキストの最後の日付を返します。

あなたは、DAX関数を使用することにより、指定された日付範囲で西地域の売上合計を計算するための次のDAX式を作成することができます

  • 2016年7月17日より前の15日間の売上を計算するDAX数式。
CALCULATE (
   SUM (WestSales[SalesAmount]), DATESINPERIOD (DateTime[DateKey], DATE(2016,17,14), -15, day)
)
  • DAX Formulaを使用して、2016年第1四半期の売上を計算する計算フィールドを作成します。
= CALCULATE (
   SUM (WestSales[SalesAmount]),DATESBETWEEN (DateTime[DateKey], DATE (2016,1,1), DATE (2016,3,31))
)
  • 現在のコンテキストで西部地域で販売が行われた最初の日付を取得する計算フィールドを作成するDAX数式。
= FIRSTDATE (WestSales [SaleDateKey])
  • 現在のコンテキストで西部地域で販売が行われた最後の日付を取得する計算フィールドを作成するDAX式。
= LASTDATE (WestSales [SaleDateKey])
  • 現在のコンテキストの日付の1年前の日付を計算するDAX式。
= DATEADD (DateTime[DateKey],-1,year)