Добрый день, коллеги!
Что-то я сегодня не соображаю...без Вас не обойтись.
Есть таблица с, например, темами...уже сгруппированная. Имеет вид:
load * inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
Итог, 1600
];
Необходимо в скрипте или интерфейсе вывести показатель mkd, который рассчитывается как (на примере первой строки):
Тема/Итог*100.
И так для каждой строки, включая Итог, где мы должны получить 100%
P.s.: Задание плевое, но видимо за счет болезни, мой котелок отказывается думать и принимать решения.
Заранее спасибо за помощь!
С Уважением,
Дмитрий
P.s.s.: Говорю же голова дырявая! ;D
Не показатель mkd, а Share %, т.е. процент продаж от общих продаж.
И соответственно на выходе:
Тема, Сумма, Share %
Тема 1, 100, 6.25
Тема 2, 200, 12.5
Тема 3, 300, 18.75
Старые темы, 1000, 62.5
Итог, 1600, 100
Привет.
Load * Inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
];
Можно рассчитать в скрипте. Для этого рассчитываем общую сумму (для каждой Темы будет одна и та же - 1600) и left join к существующей таблице. И дальше деление.
Sum(x)/SUM(TOTAL X ), как я понимаю? Или суть в получении пресловутых 100% , и округлениях?
Цитата: kvv от 27 октября 2015, 05:29:51
Можно рассчитать в скрипте. Для этого рассчитываем общую сумму (для каждой Темы будет одна и та же - 1600) и left join к существующей таблице. И дальше деление.
В скрипте рассчитывал, но почему то на выходе получаю совсем не то что надо) Скорее всего из-за большого количества разрезов. Я привел пример в разрезе тем, а так там и номенклатура и торговые марки)
Цитата: bibis от 27 октября 2015, 05:30:50
Sum(x)/SUM(TOTAL X ), как я понимаю? Или суть в получении пресловутых 100% , и округлениях?
Тут этот вариант почему то не проходит. Сперва так и пробовал, но в этом случае считает только на значение TTL = 100%, остальные строки считать не хочет.
Расчет в скрипте:
Data_01:
Load * Inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
];
Left Join (Data_01)
Load sum(Сумма) as Сумма_Total
Resident Data_01;
Data_02:
LOAD Тема,
Сумма,
Сумма_Total,
Сумма / Сумма_Total * 100 as Percent
Resident Data_01;
DROP Table Data_01;
Цитата: kvv от 28 октября 2015, 01:16:23
Расчет в скрипте:
Data_01:
Load * Inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
];
Left Join (Data_01)
Load sum(Сумма) as Сумма_Total
Resident Data_01;
Data_02:
LOAD Тема,
Сумма,
Сумма_Total,
Сумма / Сумма_Total * 100 as Percent
Resident Data_01;
DROP Table Data_01;
Так и делал, только с группировками по темам. Отчет строится статично и пользователю есть возможность работы с выборками только по темам.
Но! При расчете в скрипте, все рассчитывается, только при синтетике Тема + SKU + Год. Если делаю ключ, то выдает значения меньше.
Пока можно тему закрыть. Если найду толковое решение без синтетики, отпишусь)
P.s.: Если решили поправить здоровье и покапать в больнице витамины...берите больничный) Потому что витамины - хорошо, но вот работать после процедур решительно невозможно! :-)
Привет,
Расширенный пример, более близкий к реальности можно выложить?
Как только будет время...сейчас вообще нету( Пока работает с синтетикой, этого вполне хватает.