Страницы: 1
RSS
DAX получить сумму по всем позициям, если накладная есть в связанной таблице
 
Добрый день. Нужно посчитать сумму по всем позициям поля Ключ Партия+товар, если в связанной таблице есть накладная. В примере в отборе участвуют две накладные TB96262233 и TB96848985. Для TB96262233 поле Ключ_ПартияТовар соответствует Z92167813-3=464.0041, соответственно нужно суммировать все строки с данным ключом (итого 457,55). Для TB96848985 соответствует Z92172896-1=1753032, соответственно нужно суммировать все строки с данным ключом (итого 8 694,73). В файле мои потуги, в результате общий итог я получаю правильный 9 152,29 (457,55+8 694,73), но есть делать детализацию по Календарю или другим полям таблицы Факт, то данные получаю некорректные
 
Не понимаю вообще этот dax.
В DaxStudio вот это получил:
Код
EVALUATE
var a = SUMMARIZE(FILTER('Факт',RELATED('Отбор'[отбор накладной])<>BLANK()),'Факт'[Партия])
var b =SUMMARIZE( FILTER('Факт', 'Факт'[Партия] IN a ) , 'Факт'[Партия], 'Факт'[Дата накл.], 'Факт'[Скл. сумма в Грн(c НДС)])


return b

А что дальше не пойму
 
Очень сложно понять, что нужно :)
Так?
Код
measure:=
VAR keys =
    CALCULATETABLE (
        VALUES ( 'Факт'[Ключ_ПартияТовар] );
        KEEPFILTERS ( NOT ISBLANK ( 'Отбор'[отбор накладной] ) );
        ALL ( 'Календарь' )
    )
VAR result =
    CALCULATE (
        [Sum of Скл. сумма в Грн(c НДС)];
        keys;
        ALL ( 'Отбор'[отбор накладной] )
    )
RETURN
    result
 
mechanix 85,Михаил Л,  что-то страшное вы делаете. Всё намного проще.
Страницы: 1
Наверх