Страницы: 1
RSS
Установка значения в интервале дат в Pivot
 
Добрый день!

Есть две таблицы. Таблица фактов закупки товара (Закупки) и таблица с установленными ценами на закуп (Цены).
Как подтянуть с помощью формул DAX цены из закупа в факт, если допустим цены на продукцию были установлены 9.05.2020, потом 20.05.2020. А закупка осуществлялась 9.05.2020, 15.05.2020, 21.05.2020.
Мне нужно что бы на 9.05.2020 и 15.05.2020 подтягивались цены от 09.05.2020, а на 21.05.2020 уже цены от 20.05.2020

Буду благодарна за любую подсказку.
 
Мария Фурсенко, вычисляемый столбец в таблице "Закупки", так надо?
Код
=VAR lastnoblankdatetime =
MAXX(
    FILTER(
            RELATEDTABLE('цены');
            'цены'[Период]<='Закупки'[Период]
    );
    'цены'[Период]
)
VAR Result = 
MAXX(
    FILTER(
            RELATEDTABLE('цены');
            'цены'[Период]=lastnoblankdatetime
    );
    [Цена]
)
RETURN
Result
 
По этой формуле он берет только максимальное значение и последнюю дату. А мне нужно что бы, например в Закупках есть даты 03.01.21 и 18.01.21. Соответственно к этим закупкам должны подтянутся цены из таблица "Цены" с датой 03.01.21, т.к. следующая дата в "Цены" это 19.01.21, значит она сюда не подтягивается. При этом нужно чтобы подтянулась цена из "Цены" в "Закупки" на эту дату и к определенной номенклатуре и с определенным типом цен. Т.е. есть у меня закупка 18.01.21 продукта с кодом "47597", к нему должна подтянуться цена из "Цены" на 03.01.21 по коду продукции "47597"
Надеюсь понятно написала...
 
Owlet
По этой формуле он берет только максимальное значение и последнюю дату. А мне нужно что бы, например в Закупках есть даты 03.01.21 и 18.01.21. Соответственно к этим закупкам должны подтянутся цены из таблица "Цены" с датой 03.01.21, т.к. следующая дата в "Цены" это 19.01.21, значит она сюда не подтягивается. При этом нужно чтобы подтянулась цена из "Цены" в "Закупки" на эту дату и к определенной номенклатуре и с определенным типом цен. Т.е. есть у меня закупка 18.01.21 продукта с кодом "47597", к нему должна подтянуться цена из "Цены" на 03.01.21 по коду продукции "47597"
Надеюсь понятно написала...
 
Мария Фурсенко, а связь по коду со справочником товаров сделали?
 
Owlet, конечно нет:)

Мария Фурсенко, На самом деле, не совсем понятно, какую цену брать (не для всех есть тип цены Закупочная). А если в одну дату и Закупочная и Закупочная прайсовая?

Код Owlet будет работать, если установка цен всегда сделана ДО факта закупки. В примере не так.

Предлагаю вариант для поиска актуальной на дату закупки цены с типом Закупочная:
Код
[Цена]=
VAR lastdatetime =
   MAXX (
      FILTER (
         RELATEDTABLE ( 'цены' );
         'цены'[Период] <= 'Закупки'[Период] 
            && 'цены'[ТипЦен] = "Закупочная"
      );
      'цены'[Период]
   ) 
VAR firstdatetime = 
   MINX (
      FILTER (
         RELATEDTABLE ( 'цены' ); 
         'цены'[ТипЦен] = "Закупочная"
      );
      'цены'[Период]
   )
VAR datetime = IF ( NOT ISBLANK ( lastdatetime ); lastdatetime; firstdatetime )
VAR Result =
   MAXX (
      FILTER (
         RELATEDTABLE ( 'цены' );
         'цены'[Период] = datetime 
            && 'цены'[ТипЦен] = "Закупочная"
      );
      [Цена]
   ) 
   
RETURN 
   Result
Изменено: surkenny - 17.06.2021 15:59:20
 
Мария Фурсенко, вес все-таки корректно считать суммой произведений, а не произведением сумм  :)
Код
Вес, кг := SUMX ( 'Закупки'; 'Закупки'[Количество] * 'Закупки'[Вес] )
 
surkenny, спасибо)))
Цитата
surkenny написал:
Мария Фурсенко, вес все-таки корректно считать суммой произведений, а не произведением сумм  
Код
    [URL=#]?[/URL]       1      Вес, кг := SUMX (   'Закупки'; 'Закупки'[Количество] * 'Закупки'[Вес] )   
 
 
Цитата
surkenny написал:
Owlet, конечно нет:)

Мария Фурсенко, На самом деле, не совсем понятно, какую цену брать (не для всех есть тип цены Закупочная). А если в одну дату и Закупочная и Закупочная прайсовая?

Код Owlet будет работать, если установка цен всегда сделана ДО факта закупки. В примере не так.

Предлагаю вариант для поиска актуальной на дату закупки цены с типом Закупочная
surkenny, а вот здесь все таки не получается, видимо что то делаю не так... разбила вашу формулу на части для понимания, и все равно не везде проставляет дату. Понимаю почему нет даты на 18.01 и 31.03, т.к для них нет значений в таблице Цен, но почему не проставляется дата на 20.04 и 27.04? на них должна выпасть та же дата 12.04
Изменено: Мария Фурсенко - 18.06.2021 10:19:34
 
surkenny, да забыла сказать, связь между таблицами установила по коду и по дате
 
Мария Фурсенко, уберите связь с календарем. Тогда получается?
Изменено: Owlet - 18.06.2021 10:38:33
 
Owlet, да, считает, огромное спасибо!!! :)  
Страницы: 1
Наверх