Создал меру динамический ABC анализ,
И вот стало для меня открытием что не из всех мер (которые подходят под срез), можно сделать срез.
Весь интернет перешерстил как с этим бороться, даже зацепочки не нашёл хоть куда копать. (вот обращаюсь к гуру)
Сама мера ()
по ней в таблице выводится A,B,С в зависимости от объёма. Я не прошу проверять меру она работает, как таблицу отфильтровать (настроить срез)?
Пока догадался только сделать таблицу. (столбцы "нижняя граница" и "верхная" вероятно лишние)
Куда хоть копать направьте.
DATATABLE(
"ABC", STRING,
"Нижняя граница", DOUBLE,
"Верхняя граница", DOUBLE,
{
{"A", -0, 0.8},
{"B", 0.8, 0.95},
{"C", 0.95, 1}
}
)
И вот стало для меня открытием что не из всех мер (которые подходят под срез), можно сделать срез.
Весь интернет перешерстил как с этим бороться, даже зацепочки не нашёл хоть куда копать. (вот обращаюсь к гуру)
Сама мера ()
| Код |
|---|
МT ABC = IF ( HASONEVALUE ( 'Bi бренд'[id_brend] ), // тут убираю пустые значения VAR brend_obem = ADDCOLUMNS ( ALLSELECTED ( 'спрБренд' ), "@brend_obem", [М объём] //здесь считаю весь объём (что бы на него поделить) ) VAR brend_obem_Fix = [М объём] // фиксирую объём VAR brend_obem_Filter = FILTER ( brend_obem, [@brend_obem] >= brend_obem_Fix // в таблице отбираю равно и больше ) VAR brend_obem_Cumal = SUMX ( brend_obem_Filter, [@brend_obem] ) VAR brend_obem_All = CALCULATE ( [М объём], ALLSELECTED () ) VAR brend_obem_Proc = DIVIDE(brend_obem_Cumal , brend_obem_All) VAR result = SWITCH ( TRUE (), [_М объём not blank], BLANK (), //brend_obem_Proc<=0.5, "A", brend_obem_Proc <= 0.8, "A", brend_obem_Proc <= 0.95, "B", "C" ) RETURN result ) |
Пока догадался только сделать таблицу. (столбцы "нижняя граница" и "верхная" вероятно лишние)
Куда хоть копать направьте.
DATATABLE(
"ABC", STRING,
"Нижняя граница", DOUBLE,
"Верхняя граница", DOUBLE,
{
{"A", -0, 0.8},
{"B", 0.8, 0.95},
{"C", 0.95, 1}
}
)
| Код |
|---|
Спасибо |
Изменено: - 10.05.2024 15:53:45
(Спасибо забыл сказать :))