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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: mid_e34 от 30 июля 2019, 07:45:18

Название: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 30 июля 2019, 07:45:18
Всем привет!
Недавно начал осваивать QV и передо мной встала задача по преобразованию таблицы.
В принципе, погуглив и почитав сей форум, я понял, что задачи не решается силами QV, но на всякий случай хочу услышать это от опытных пользователей.

Задача: Есть таблица, которая загружена из dbf и в ней есть добавленные столбцы - SROK и VALUTA.
Дале мне нужно преобразовать Табл 1 в Табл 2. (см.рис)
ex_tabl1.JPG
Название: Re: Хитрое транспонирование таблицы
Отправлено: admin от 30 июля 2019, 08:04:04
Привет, кто сказал что не решается?  :)
Вам необходимо первую таблицу трансформировать, прицепить к ней "ее же" но с измерением срок в поле валюты.
Т.е. у вас будет одно значение на ИД и  валюту, и оно же на ИД и срок.

Затем ее можно развернуть в кросс-таблицу и получим результат.
Название: Re: Хитрое транспонирование таблицы
Отправлено: admin от 30 июля 2019, 08:05:18
Второй вариант: из первой сделать 2 таблицы и сцепить их по первому столбцу.
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 30 июля 2019, 08:37:05
но первая таблица не такая - я лишь привел нужный кусок с полями транспонирования
Название: Re: Хитрое транспонирование таблицы
Отправлено: admin от 30 июля 2019, 08:40:59
Батенька, ну и ТЗ у вас :)

Мы можем привести неизвестный источник к приведенному в качестве оригинала виду?

Если нет, давайте рассмотрим в чем там проблемы.
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 31 июля 2019, 09:42:29
Спасибо, задача решена, действительно можно было проще - без транспонирования
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 31 июля 2019, 04:43:35
Возник еще один затык: Та же таблица, что выше, к ней добавлены поля из другой загруженной таблицы справочника. Мне нужно в первой таблице создать вычисляемое поле по условию из добавленного поля. Столкнулся с тем, что в формулах эти поля не видны. Какой есть выход?
Название: Re: Хитрое транспонирование таблицы
Отправлено: admin от 31 июля 2019, 07:47:34
Цитата: mid_e34 от 31 июля  2019, 04:43:35  Возник еще один затык: Та же таблица, что выше, к ней добавлены поля из другой загруженной таблицы справочника. Мне нужно в первой таблице создать вычисляемое поле по условию из добавленного поля. Столкнулся с тем, что в формулах эти поля не видны. Какой есть выход?
Как вы это делаете?
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 01 августа 2019, 03:11:45
Сначала я гружу с помощью скрипта основную таблицу из XLS, затем справочник. Справочник связан с основной таблицей префиксом счета. Затем я добавляю Объект Простая таблица с полями из первой таблицы и одним полем из второй. Затем мне нужно рассчитать значения из полей первой таблицы используя как условие значение поля второй таблицы. Надеюсь не очень путанно написал.
Название: Re: Хитрое транспонирование таблицы
Отправлено: admin от 01 августа 2019, 04:51:31
Простая таблица в QV не вычисляется.
Добавьте объект диаграмма и в табличном варианте добавьте измерения и в выражения сделайте вычисления.
Но вам будет доступно только поля из измерений таблицы.

Лучше такие действия делать в скрипте.
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 13 августа 2019, 09:03:02
Цитата: admin от 01 августа  2019, 04:51:31  Простая таблица в QV не вычисляется.
Добавьте объект диаграмма и в табличном варианте добавьте измерения и в выражения сделайте вычисления.
Но вам будет доступно только поля из измерений таблицы.

Лучше такие действия делать в скрипте.
Спасибо. Да, так получилось почти все, что мне нужно.
Но очередной затык - не получается отменить связывание таблиц: команда NoConcatenate перед Load не работает. Избежать связывание удается только переименовыванием полей, но тогда теряется другое.
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 14 августа 2019, 02:49:26
Цитата: mid_e34 от 13 августа  2019, 09:03:02  Но очередной затык - не получается отменить связывание таблиц: команда NoConcatenate перед Load не работает.
Извиняюсь -  работает, но так как я ожидал)
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 21 августа 2019, 12:59:19
Прошу совета: беру внешние данные из файла QVD в локальной сети. Создаю таблицу. Файл 2Гб и это не самый большой. Любое обращение к таблице приводит к ее обновлению в течение нескольких минут, работать невозможно. Подозреваю, что делаю что-то не так)
Название: Re: Хитрое транспонирование таблицы
Отправлено: admin от 22 августа 2019, 08:01:48
Добрый день.
Сложно помочь не видя проблемы "на ощупь".
Большие файлы - это проблема. Есть ли смысл создавать такие файлы?
Есть ли возможность разделить по периодам?
Какие значения хранятся в файле?
Как происходит загрузка? В оптимизированном варианте или нет?
Если нет, есть ли возможность перенести расчеты на этап создания файлов qvd?
Для оценки "вклада" поля в размер файла можно использовать EasyQlik QViewer.
Название: Re: Хитрое транспонирование таблицы
Отправлено: mid_e34 от 26 августа 2019, 11:00:25
К сожалению, я не участвую в выгрузке данных в файлы QVD. Объем там огромный - за несколько лет. Это оборотно-сальдовые ведомости. Разделить их я не могу и на этапе выгрузки - ничего сделать тоже не могу, да и данные беру за прошлые периоды.
Насчет оптимизированного варианта - уточню, что это такое)