Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 23, 2017, 04:51:52 am

Автор Тема: Значение ячейки к TTL  (Прочитано 1521 раз)

Оффлайн DmitryK

  • Наставник
  • **
  • Сообщений: 61
  • Страна: ru
  • Рейтинг: +20/-0
  • QlikView v.11.20
    • Просмотр профиля
Значение ячейки к TTL
« : Октябрь 27, 2015, 05:07:13 pm »
Добрый день, коллеги!

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

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

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

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

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

Оффлайн DmitryK

  • Наставник
  • **
  • Сообщений: 61
  • Страна: ru
  • Рейтинг: +20/-0
  • QlikView v.11.20
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #1 : Октябрь 27, 2015, 05:11:05 pm »
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

  • Гуру
  • ***
  • Сообщений: 135
  • Страна: 00
  • Рейтинг: +36/-0
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #2 : Октябрь 27, 2015, 05:29:51 pm »
Привет.
Load * Inline [
Тема, Сумма
Тема 1, 100
Тема 2, 200
Тема 3, 300
Старые темы, 1000
];

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

Неофициальный форум пользователей QlikView & Qlik Sense

Re: Значение ячейки к TTL
« Ответ #2 : Октябрь 27, 2015, 05:29:51 pm »

Оффлайн bibis

  • Наставник
  • **
  • Сообщений: 78
  • Рейтинг: +31/-0
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #3 : Октябрь 27, 2015, 05:30:50 pm »
Sum(x)/SUM(TOTAL X ), как я понимаю? Или суть в получении пресловутых 100% , и округлениях?

Оффлайн DmitryK

  • Наставник
  • **
  • Сообщений: 61
  • Страна: ru
  • Рейтинг: +20/-0
  • QlikView v.11.20
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #4 : Октябрь 28, 2015, 12:39:02 pm »
Можно рассчитать в скрипте. Для этого рассчитываем общую сумму (для каждой Темы будет одна и та же - 1600) и left join к существующей таблице. И дальше деление.
В скрипте рассчитывал, но почему то на выходе получаю совсем не то что надо) Скорее всего из-за большого количества разрезов. Я привел пример в разрезе тем, а так там и номенклатура и торговые марки)

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


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

Оффлайн kvv

  • Гуру
  • ***
  • Сообщений: 135
  • Страна: 00
  • Рейтинг: +36/-0
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #5 : Октябрь 28, 2015, 01:16:23 pm »
Расчет в скрипте:
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

  • Наставник
  • **
  • Сообщений: 61
  • Страна: ru
  • Рейтинг: +20/-0
  • QlikView v.11.20
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #6 : Октябрь 28, 2015, 03:41:09 pm »
Расчет в скрипте:
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.: Если решили поправить здоровье и покапать в больнице витамины...берите больничный) Потому что витамины - хорошо, но вот работать после процедур решительно невозможно! :-)

Неофициальный форум пользователей QlikView & Qlik Sense

Re: Значение ячейки к TTL
« Ответ #6 : Октябрь 28, 2015, 03:41:09 pm »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 982
  • Страна: ru
  • Рейтинг: +97/-0
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #7 : Октябрь 28, 2015, 06:24:29 pm »
Привет,
Расширенный пример, более близкий к реальности можно выложить?

Оффлайн DmitryK

  • Наставник
  • **
  • Сообщений: 61
  • Страна: ru
  • Рейтинг: +20/-0
  • QlikView v.11.20
    • Просмотр профиля
Re: Значение ячейки к TTL
« Ответ #8 : Октябрь 29, 2015, 12:28:35 pm »
Как только будет время...сейчас вообще нету( Пока работает с синтетикой, этого вполне хватает.