Подставить в поле значение поля :)

Автор vbkashtanov@gmail.com, 06 июня 2019, 09:26:07

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

vbkashtanov@gmail.com

Всем привет!
Я так называемый клик-чемпион, так что сильно не ругайтесь.
Вопрос элементарный.
Как в функции диаграммы в выражении в мере использовать ссылку на поле, а не само значение поля?

Например, есть таблица:
Товар - Выручка - Переданная выручка - Прямые затраты - Накладные затраты
АА - 100 - 50 - 80 - 15
BB - 200 - 150 - 180 - 13

И есть таблица

Группа - Статья
Реализация - Выручка
Реализация - Переданная выручк
Затраты - Прямые затраты
Затраты - накладные затраты

Я сделал диаграмму вида "Таблица"
Группа - Статья - Сумма

Если в выражениее "Суммы" прописывать:
if([Статья]='Выручка',sum([Выручка])), и т.д. то всё работает.
Но так не пишут
Как переписать выражение, чтобы sum([ххх]) вместо xxx проставлялась ссылка на текущее поле [Статья?]

Естественно, что sum([[Статья]]) или sum(['[Статья]']) не работает

admin

Привет,
все просто.
Вам необходимо преобразовать столбцы данных в строки.
Смотрите теорию с примером здесь.
После чего одного выражения будет достаточно чтобы получить сумму по статьям (колонкам исходной таблицы данных).

vbkashtanov@gmail.com

Спасибо, но мне не нужно преобразовывать данные в строки.

Я хочу знать, есть ли в qlik возможность преобразования текстовой строки в переменную или поле

admin

Цитата: vbkashtanov@gmail.com от 07 июня  2019, 10:17:26  Спасибо, но мне не нужно преобразовывать данные в строки.

Я хочу знать, есть ли в qlik возможность преобразования текстовой строки в переменную или поле
Есть, но как это относится к вашей задаче?

Вот пример:
t1:
LOAD * INLINE [
    Товар, Выручка, Переданная выручка, Прямые затраты, Накладные затраты
    AA, 100, 50, 80, 15
    BB, 200, 150, 180, 13
];

СтатьиЗатрат:
LOAD * INLINE [
    Группа, Статья
    Реализация, Выручка
    Реализация, Переданная выручка
    Затраты, Прямые затраты
    Затраты, Накладные затраты
];

Данные:
CrossTable(Статья, Сумма)
LOAD Товар,
     Выручка,
     [Переданная выручка],
     [Прямые затраты],
     [Накладные затраты]
Resident t1;
drop Table t1;

И все, выражение Sum(Сумма)  даст корректный результат во всех сочетаниях измерений.

vbkashtanov@gmail.com

Если есть, напишите, пожалуйста, как.
Не могу найти. Заранее благодарен!

admin

Выше я привел пример решения для вашей задачи.
Ваш Исходник, скажем так, не готов к тому, чтобы его анализировали. ))
Поэтому его следует привести к нормальной форме, собрать статьи в одно поле, деньги в другое, организовать связи. Т.о. мы сформируем модель данных.
И это не особенность клика, это основы работы с данными.
В вашей БД, из которой сформирован отчет (который приведен в качестве исходника), скорей всего так и организованно.


vbkashtanov@gmail.com

Уважаемый администратор.
Большое спасибо, но мне не нужен пример решения конкретной задачи. Его я, как понял, на самом деле зря привёл.
Я хочу в общем виде знать, есть ли механизм в qlik в выражении диаграммы использовать поля не с непосредственной ссылкой на них, а через имя, передаваемое или переменной, или другим полем.
Например вместо например sum([Статья5]) нужно написать что-то типа sum(номерстатьи), при этом номерстатьи - поле, содержащее "Статья5".
Вы ответили, что такой механизм есть. Если не затруднит, напишите, как это сделать.
Пожалуйста, не могу найти

vbkashtanov@gmail.com


admin


vbkashtanov@gmail.com

>> Там все ответы.
Я и забыл, что это русский форум.
Кто-нибудь, всё-таки, может дать ответ?
Неужели ни кто не знает?

vbkashtanov@gmail.com

Цитата: admin от 08 июня  2019, 11:27:54  
Цитата: vbkashtanov@gmail.com от 08 июня  2019, 06:25:31  Пожалуйста, не могу найти

https://help.qlik.com/ru-RU/sense/February2019
Там все ответы.
Рекомендую внимательно изучить раздел по выражениям.

По вашей ссылке в разделе по выражениям три абзаца, содержащие общие слова ("воду").
Если не знаете ответа, зачем давать ссылки на ничего не содержащие документы?

admin

Цитата: vbkashtanov@gmail.com от 09 июня  2019, 10:43:04  
Цитата: admin от 08 июня  2019, 11:27:54  
Цитата: vbkashtanov@gmail.com от 08 июня  2019, 06:25:31  Пожалуйста, не могу найти

https://help.qlik.com/ru-RU/sense/February2019
Там все ответы.
Рекомендую внимательно изучить раздел по выражениям.

По вашей ссылке в разделе по выражениям три абзаца, содержащие общие слова ("воду").
Если не знаете ответа, зачем давать ссылки на ничего не содержащие документы?
Три абзаца?,,, ))
Там больше десятка подразделов только на эту тему.
Вы зациклились на решение задачи в клике только тем способом, который вам знаком.
Ознакомьтесь с анализом множеств, использованием переменных, как минимум.
Как надо решать вашу задачу - я привел пример в сообщении выше.
Как хотите решить задачу вы - неправильно.

vbkashtanov@gmail.com

МНЕ НЕ НУЖНО РЕШАТЬ ЗАДАЧУ. Я её придумал на ходу, в качестве иллюстрации.
Я ХОЧУ ЗНАТЬ, КАК использовать значение одного поля в качестве поля в выражении диаграммы.
В ОБЩЕМ ВИДЕ.
Если qlik так не может, или Вы не знаете, так и напишите.
Вместо воды

vbkashtanov@gmail.com

Мне специалисты по qlik подсказали, что qlik так не может
Всем спасибо!

admin

В клике нет такого понятия как ссылка на поле, следовательно и нет такого функционала какой вы имеете в виду буквально.
Но, в клике развитый механизм выражений.
Кроме непосредственного выражения, которое может быть довольно сложным и представлять собой "подзапросы по модели данных", можно использовать указания переменных, в которой хранится выражение или часть выражения, с цепной зависимостью от других переменных.
Очень развит функционал расширенного анализа множеств - отдельная очень большая тема.
Можно указывать поля таблиц, в которых содержится формула, или в которых содержится имя переменной, в которой содержится формула.  :)  Можно, но к чему эти сложности?
~80% решения задачи в qlik содержится в модели данных, формируемых скриптом при расчете приложения.
Поэтому всегда начинаем плясать с формирования таблиц и связей между ними, с учетом имеющихся лучших практик.
Много хорошего материала - вот здесь.

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