Значение ячейки к TTL

Автор DmitryK, 27 октября 2015, 05:07:13

« назад - далее »

DmitryK

Добрый день, коллеги!

Что-то я сегодня не соображаю...без Вас не обойтись.

Есть таблица с, например, темами...уже сгруппированная. Имеет вид:
load * inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
Итог, 1600
];


Необходимо в скрипте или интерфейсе вывести показатель mkd, который рассчитывается как (на примере первой строки):
Тема/Итог*100.
И так для каждой строки, включая Итог, где мы должны получить 100%

P.s.: Задание плевое, но видимо за счет болезни, мой котелок отказывается думать и принимать решения.
Заранее спасибо за помощь!

С Уважением,
Дмитрий

DmitryK

P.s.s.: Говорю же голова дырявая!  ;D

Не показатель mkd, а Share %, т.е. процент продаж от общих продаж.

И соответственно на выходе:
Тема, Сумма, Share %
Тема 1, 100, 6.25
Тема 2, 200, 12.5
Тема 3, 300, 18.75
Старые темы, 1000, 62.5
Итог, 1600, 100

kvv

#2
Привет.
Load * Inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
];


Можно рассчитать в скрипте. Для этого рассчитываем общую сумму (для каждой Темы будет одна и та же - 1600) и left join к существующей таблице. И дальше деление.

bibis

Sum(x)/SUM(TOTAL X ), как я понимаю? Или суть в получении пресловутых 100% , и округлениях?

DmitryK

Цитата: kvv от 27 октября  2015, 05:29:51  
Можно рассчитать в скрипте. Для этого рассчитываем общую сумму (для каждой Темы будет одна и та же - 1600) и left join к существующей таблице. И дальше деление.
В скрипте рассчитывал, но почему то на выходе получаю совсем не то что надо) Скорее всего из-за большого количества разрезов. Я привел пример в разрезе тем, а так там и номенклатура и торговые марки)

Цитата: bibis от 27 октября  2015, 05:30:50  
Sum(x)/SUM(TOTAL X ), как я понимаю? Или суть в получении пресловутых 100% , и округлениях?


Тут этот вариант почему то не проходит. Сперва так и пробовал, но в этом случае считает  только на значение TTL = 100%, остальные строки считать не хочет.

kvv

Расчет в скрипте:
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;


DmitryK

Цитата: 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.: Если решили поправить здоровье и покапать в больнице витамины...берите больничный) Потому что витамины - хорошо, но вот работать после процедур решительно невозможно! :-)

admin

Привет,
Расширенный пример, более близкий к реальности можно выложить?

DmitryK

Как только будет время...сейчас вообще нету( Пока работает с синтетикой, этого вполне хватает.

Яндекс.Метрика