2017-04-17 94 views
2

StackOverflow PowerBIフォーラムのいくつかの記事を読んだあと、一定期間(私の場合は30日間の平均)に基づいてローリング平均を計算する方法はまだ分かりません。DAX/PowerBIでローリング平均を計算するにはどうすればよいですか?

私はどちらかと同一またはこれには本当に似て提唱者の何かを見てきました記事のほとんどは:

Rolling Sum := 
CALCULATE (
    [Sales], 
    FILTER (
     ALL (Sales), 
     [Date] 
      >= MAX (Sales[Date]) - 365 
      && [Date] <= MAX (Sales[Date]) 
    ) 
) 

this postから取られたコード)

を...そして、まだ、私が見えることはできません適切な値を取得します。私の場合は

、私は次のようしている:

  1. 与えられたローン(列)
  2. ローン・カウント(測定)
  3. 決算長(列)のための "締切日" - 時間の長さ

私が計算したいのは、任意の日のローリング30日平均です。私は次のように色分けで合計行を注意

enter image description here

Rolling Average = 
    CALCULATE (
     SUM(Query1[Closing_Length])/[Loan Count],         
     FILTER (
      ALL (Query1),        
      [Closing Date].[Date]         
       >= MAX (Query1[Closing Date]) - 30 
       && [Closing Date] <= MAX ( Query1[Closing Date]) 
     ) 
    ) 

結果を確認するために、私は1か月分のデータを調べるために、視覚的なフィルタを使用し、これらの結果であります底;この期間中、102の融資があり、それが終了するには3922日の集計が必要でした。私が計算したい平均値は3922/102で、これはおよそ38.45日に相当するはずです。代わりに、私たちは42を参照してください。

どうすればこの問題を解決できますか?

+0

http://www.sqlbi.com/articles/rollin g-12ヶ月間の平均dax/ –

+0

@ KrystianSakowskiいいえ、その投稿は30日間のローリングには適用されません。これは 'SAMEPERIODLASTYEAR'関数を利用しています.30日間のローリングでは、エラーを出さずにすべての日に「同じ期間」を使用することはできません。 – daOnlyBG

+0

このメンバーの式またはデータを送信できますか?Query1 [CTC Days])? –

答えて

3

測定ベースのソリューション:

Rolling Average Measure = 
VAR A = 
    SUMX (
     FILTER (
      ALL ('Query'), 
      'Query'[Closing Date] <= MAX ('Query'[Closing Date]) 
     ), 
     ROUND ('Query'[Closing Length], 2) 
    ) 
VAR B = 
    SUMX (
     FILTER (
      ALL ('Query'), 
      'Query'[Closing Date] <= MAX ('Query'[Closing Date]) 
     ), 
     ROUND ('Query'[Loan Count], 2) 
    ) 
RETURN 
    A/B 

計算列ベースのソリューション:

​​

画面印刷: Rolling Average Measure

+0

これは本当にきれいです、クリスチャン - ありがとうございます。しかし、両方のソリューションを実装しようとしたところ、私は2つの問題がありました。カラムベースのソリューションでは、「循環依存性が検出されました:Query1 [ローリング平均]」というエラーがあります。メモリ不足。ビジュアルは約5-10分間実行しようとしますが、最後に、私が求めているものを生成するのに十分なメモリがないというエラーウィンドウが表示されます。 いずれかの対処方法に関するご提案はありますか? – daOnlyBG

+0

あなたは何か間違っているようです。私の.pbixプロジェクトを見てください:https://www.dropbox.com/s/6godtc8h4vre1c7/tst.pbix?dl=0 また、PBIを最新のバージョンに更新してください。 さらなるヘルプが必要な場合はお知らせください。 –

+0

私の2つのファイルの間に目に見える違いは、「Loan Count」はあなたの最後の列であるのに対し、私の場合はそれが指標だということです。私のETLには、多くのローン番号とローン番号があります。したがって、「Loan Count」は実際には 'COUNT( 'Query1' [LoanNumber])'に設定されたメジャーです。私は一意の日付の「Closing Date」列を持つ別の表を作成しようとしました。次に、それぞれの終了日に関連付けられたすべてのローンの数を持つ別の列を作成しようとしました。私は後者と闘っている。 – daOnlyBG

関連する問題