Lookupvalue в диапазоне - PullRequest
       22

Lookupvalue в диапазоне

0 голосов
/ 28 января 2019

Я новичок в Power BI.Я просто просматриваю статью, которая вычисляет скользящее среднее.Я хотел бы знать, что происходит в функции LOOKUPVALUE.

Кто-нибудь может сказать нам EARLIER ( Prices[DayNumber] ) – 8.Что это такое?Вычитает значение EARLIER ( Prices[DayNumber] ) - 8 или показывает диапазон от Prices[DayNumber] до 8.А что в случае, когда EARLIER ( Prices[DayNumber] ) = 2?Что это возвращается?

Prices[MovingAverage200] =
CALCULATE (
    AVERAGE ( Prices[Close] ),
    FILTER (
        ALL ( Prices[Date] ),
        AND (
            Prices[Date]
                >= LOOKUPVALUE (
                    Prices[Date],
                    Prices[Stock], EARLIER ( Prices[Stock] ),
                    Prices[DayNumber], EARLIER ( Prices[DayNumber] ) – 8
                ),
            Prices[Date] <= EARLIER ( Prices[Date] )
        )
    ),
    ALLEXCEPT ( Prices, Prices[Stock] )
)

1 Ответ

0 голосов
/ 28 января 2019

LOOKUPVALUE выполняет поиск по значениям в столбце Prices[Date], просматривая строку за строкой в ​​таблице Prices, где значение Stock в этой строке соответствует значению в текущей строке, то есть EARLIER( Prices[Stock] ) и где DayNumber в этой строке соответствует значению в текущей строке минус 8 дней, то есть EARLIER( Prices[DayNumber]) - 8.

Обратите внимание, что функция EARLIER не имеет никакого отношения ко времени.Это относится к более раннему контексту строки .Поскольку вы находитесь внутри функции итератора FILTER, а затем и внутри LOOKUPVALUE, вам нужна функция EARLIER, чтобы указать, что вы говорите о столбце в контексте внешней функции, а не внутренней.


В целом эта мера усредняет значение Close для всех дат от Date - 8 days до Date (включительно) и для всех строк, соответствующих текущему Stock.

...