Страницы: 1
RSS
DAX распределение расходов по доле в объеме продаж, Составляем меру, чтобы распределить общие расходы на отдельные товары
 
Здравствуйте. Прошу помочь составить меры для корректного распределения расходов. Делаю в Power bi, частично решила задачу, остался финальный рывок. Я составляю P&L отчет, у меня есть расходы на рекламу. Они посчитаны мерой [Реклама]. Часть расходов привязана к конкретному товару, а часть идет общей большой суммой.
Я хочу распределить эту нераспознанную часть расходов в соответствии с долей, которую каждый товар занимал в продажах.

Сначала посчитала только ту рекламу, которая нашла привязку к артикулу (отсекла бланки)
Код
Реклама ident = CALCULATE ([Реклама]; 'articles'[color_article] <> BLANK () ) 

Ну и если <> заменить на =, то вижу наоборот только пустые.

Код
Реклама undef = CALCULATE ( [Реклама]; 'articles'[color_article] = BLANK () )

Отдельно высчитываю долю каждого товара:

Код
_Доля шт = DIVIDE ( [К-во продаж];
    CALCULATE ( [К-во продаж]; ALL ( 'articles' ) );
    BLANK ()
)

И дальше, казалось бы, надо умножить долю на нераспознанную рекламу, но ничего не срабатывает

Я уже пробовала вклинивать всякие ALL, но ничего не получается. Я ожидаю, что нераспределенные расходы умножатся на долю и лягут по отдельным товарам. Чтобы сумма по рекламе размазалась, а не шла отдельной строкой без заголовка. Второй день перебираю, даже индусы на ютубе не дают мне подсказку.

Изменено: esgaliel - 18.04.2024 13:46:39
 
esgaliel, а если так попробовать?
Код
Реклама undef = CALCULATE ( [Реклама];FILTER(ALL('articles'), 'articles'[color_article] = BLANK () ))
 
esgaliel, здравствуйте. Вы бы пример приложили, чтоб хоть что-то было понятно по модели. Но может так:
Код
Доля на undef = 
var UD = [_Доля шт]
var undef  = CALCULATE ( [Реклама];  ALL ( 'articles' ); 'articles'[color_article] = BLANK () )
var Result = UD * undef  
return Result
 
Цитата
написал:
Реклама undef = CALCULATE ( [Реклама];FILTER(ALL('articles'), 'articles'[color_article] = BLANK () ))
Этот вариант распределил суммы, кажется это то, что надо. Теперь я с Спасиболожу его с основной суммой, которая корректна.

файл не прикладываю - это pbix на полгига :(
Код
Доля на undef = var UD = [_Доля шт]
var undef  = CALCULATE ( [Реклама];  ALL ( 'articles' ); 'articles'[color_article] = BLANK () )
var Result = UD * undef  
return Result
а этот вариант написал нераспределенную сумму в каждую ячейку, не подошел
 
Для ищущих финальные меры:
1. [Реклама]
Обычная сумма, любой ваш показатель

2.
Код
_Доля шт = DIVIDE (    [К-во продаж];
    CALCULATE ( [К-во продаж]; ALL ( 'articles' ) );
    BLANK ()
)
Вес каждого артикула в продажах ( неопознанные расходы будут распределены пропорционально). Ваша доля может быть привязана к любым другим показателям.

3.
Код
Реклама ident = CALCULATE ([Реклама]; 'articles'[color_article] <> BLANK () ) 
Значения, которые имеют привязку к определенным артикулам

4.
Код
Реклама undef = var UD = [_Доля шт]
var undef  = CALCULATE ( [Реклама];  ALL ( 'articles' ); 'articles'[color_article] = BLANK () )
var Result = UD * undef  
return Result
Значения без опознавательных знаков, распределенные в соответствии с долей

5.
Код
Реклама распред = [Реклама ident]+[Реклама undef]
Финальная мера, которая выведет всю рекламу по артикулам и опознанную и остальную
Страницы: 1
Наверх