Power BI - Скользящее среднее - PullRequest
0 голосов
/ 02 мая 2018

Я пытался обратиться к форумам и другим вопросам по переполнению стека, но не смог найти тот, который похож на мой.

Я использовал следующий DAX для вычисления скользящей средней за 30 дней (я только что изменил исходный расчет скользящего среднего с учетом времени с помощью Быстрого измерения).

30DayQuickMeasureRollingAvg = 
    VAR __LAST_DATE = LASTDATE('DateTable'[Date].[Date])
    RETURN
        AVERAGEX(
            DATESBETWEEN(
                'DateTable'[Date].[Date],
                DATEADD(__LAST_DATE, -30, DAY),
                __LAST_DATE
            ),
            CALCULATE(DISTINCTCOUNT('UserTable'[userID]))
        )

Когда я использую это, мой график скользящих средних отображает будущие 30 дней, как показано ниже

enter image description here

Так как мне исключить будущее время?

Я даже пробовал это решение @ JTBR2 отсюда Скользящее среднее Power BI

Но это тоже не сработало.

Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Полагаю, в вашей таблице дат есть будущие даты. Вы должны иметь возможность добавить условие, чтобы не отображать даты, прошедшие сегодня, например:

30DayQuickMeasureRollingAvg = 
    VAR __LAST_DATE = LASTDATE('DateTable'[Date].[Date])
    VAR RollingAverage = 
        AVERAGEX(
            DATESBETWEEN(
                'DateTable'[Date].[Date],
                DATEADD(__LAST_DATE, -30, DAY),
                __LAST_DATE
            ),
            CALCULATE(DISTINCTCOUNT('UserTable'[userID]))
        )
    RETURN IF(__LAST_DATE > TODAY(), BLANK(), RollingAverage)
0 голосов
/ 02 мая 2018

Попробуйте использовать эту формулу:

Rolling12MonthsSum = 
  var Ldate = date(max('Year'[Year]) , max('Month'[Monthnumber]),1) 
  //Last date

  var Fdate = EDATE(Ldate,-11) //First date

  var pm_hrs = sum(Query1[pm_hrs])/sum(Query1[acthrs]) //Calculation

  return

  if(min('Date'[Date])<fdate,
       blank(),
     if(min('Date'[Date])>Ldate,
               blank(),
              pm_hrs))

Сейчас я использую его в течение 12 месяцев, вы можете заменить его днями и средним. Просто измените -11 на -1, это даст точный вывод данных за один месяц.

Для достижения этой цели вам потребуется создать таблицу «Дата» или «Календарь». Надеюсь это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...