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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Splav от 05 апреля 2018, 05:39:58

Название: Добавить строку в табличную диаграмму
Отправлено: Splav от 05 апреля 2018, 05:39:58
Здравствуйте.

Имеется таблица с результатами голосования вида

Кандидат 1 | Голоса
Кандидат 2 | Голоса
Кандидат 3 | Голоса
Кандидат 4 | Голоса
Кандидат 5 | Голоса
Недействительные | Голоса

В QlikView построена диаграмма табличного типа такого же вида.

Можно ли в эту диаграмму добавить строку "Действительные голоса" , а результатом сделать сумму голосов, поданных за кандидатов, исключая недействительные?
Я не профессионал, не знаю, как свои строки добавлять можно.

И следующий вопрос, как в строках "Действительные" и "недействительные" добавить третий столбец, который будет содержать процент от общего числа?

Спасибо
Название: Re: Добавить строку в табличную диаграмму
Отправлено: admin от 06 апреля 2018, 07:05:49
Добрый день.
Каким образом загружаете данные?

Вам необходимо сформировать таблицу в скрипте, примерно так:

load 'Действительные' as Кандидаты,
sum(Голоса) As Голоса
resident Источник
group by 1
where not wildmatch(Голоса,'Недействительные');

Это что касается новой строки.
Что касается колонки, то это делается в диаграмме типа "таблица".
Выражение следующее: sum(Голоса)/sum(total Голоса)
Название: Re: Добавить строку в табличную диаграмму
Отправлено: Splav от 06 апреля 2018, 08:43:19
Спасибо за ответ, данные с помощью LOAD загружаю из таблицы Excel

Если сделать как вы говорите, то в строке "Итоги" действительные голоса будут считаться дважды
Название: Re: Добавить строку в табличную диаграмму
Отправлено: Splav от 06 апреля 2018, 08:44:05
Что такое GROUP BY 1?
Название: Re: Добавить строку в табличную диаграмму
Отправлено: admin от 06 апреля 2018, 11:24:38
Цитата: Splav от 06 апреля  2018, 08:43:19  
Спасибо за ответ, данные с помощью LOAD загружаю из таблицы Excel

Если сделать как вы говорите, то в строке "Итоги" действительные голоса будут считаться дважды
Измените выражение для итогов
sum({<Кандидаты-={"Действительные"}>} Голоса)

group by 1 можно и не использовать, и без нее считает. Это, как условие для агрегирования.
Название: Re: Добавить строку в табличную диаграмму
Отправлено: Vedutenko от 09 апреля 2018, 09:04:53
Можно вот так еще попробовать.

test:
load * inline
[Кандидаты,Голоса
Кандидат 1,20
Кандидат 2,30
Кандидат 3,10
Кандидат 4,15
Кандидат 5,25
Недействительные,37];

test1:
load
'Действительные' as Кандидаты,
sum(Голоса) as Голоса
Resident test
where Кандидаты<>'Недействительные'
;

Результат:
(https://qliksense-forum.ru/qvf/proxy.php?request=http%3A%2F%2Fi6.pixs.ru%2Fstorage%2F4%2F3%2F5%2F2png_1483697_29889435.png&hash=52ce3e82b34ed6850957ef73390cf7f58744df6e)


Процент от общего числа:
(https://qliksense-forum.ru/qvf/proxy.php?request=http%3A%2F%2Fi6.pixs.ru%2Fstorage%2F4%2F4%2F2%2F2png_5665082_29889442.png&hash=0961282c376d457623a131074c80b42e25b67f19)