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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: LoryMax от 29 ноября 2017, 01:55:18

Название: Как убрать часть кода в переменную?
Отправлено: LoryMax от 29 ноября 2017, 01:55:18
Добрый день!
Кто знает, возможно ли убрать часть кода в переменную?


T1:
        LOAD 's_' & '$(vNameTable)' AS LoadTable
        ,'$(vStartTime)' AS StartTime
        ,'$(vEndTime)' AS EndTime
        ,Time('$(vEndTime)'-'$(vStartTime)','mm:ss') as LoadingTime
      AutoGenerate (1);
Название: Re: Как убрать часть кода в переменную?
Отправлено: millik от 01 декабря 2017, 10:18:27
Текст и числа в переменные точно можно загонять. С функциями экспериментируйте.
Название: Re: Как убрать часть кода в переменную?
Отправлено: andrrreasss от 04 декабря 2017, 08:56:07
Наверное лучше в функцию убрать?
Название: Re: Как убрать часть кода в переменную?
Отправлено: LoryMax от 04 декабря 2017, 11:48:22
Использую QS. Эксперименты с переменными не увенчались успехом.  В QV возможно создание пользовательских функций, но как насчет QS - каким образом можно создать пользовательские функции?
Название: Re: Как убрать часть кода в переменную?
Отправлено: admin от 04 декабря 2017, 12:20:02
Имеется в виду функция в макросах на VB ?
Название: Re: Как убрать часть кода в переменную?
Отправлено: andrrreasss от 04 декабря 2017, 01:31:57
Цитата: LoryMax от 04 декабря  2017, 11:48:22  
Использую QS. Эксперименты с переменными не увенчались успехом.  В QV возможно создание пользовательских функций, но как насчет QS - каким образом можно создать пользовательские функции?


Sub..end sub
Название: Re: Как убрать часть кода в переменную?
Отправлено: admin от 04 декабря 2017, 03:34:38
LoryMax , можно уточнить задачу в целом?
Название: Re: Как убрать часть кода в переменную?
Отправлено: LoryMax от 05 декабря 2017, 07:15:19
Конечно. Но не в целом, а конкретно: у меня в коде регулярно используется данный код, и его хотел бы заменить одной строкой.


    Store $(vNameTable) into '$(vPathFile)';
    DROP TABLE $(vNameTable);
    Let vEndTime = Now();
   
    LoadTimeDetails:
    Load 's_' & '$(vNameTable)' AS LoadTable
        ,'$(vStartTime)' AS StartTime
        ,'$(vEndTime)' AS EndTime
        ,Time('$(vEndTime)'-'$(vStartTime)','mm:ss') as LoadingTime
      AutoGenerate (1);
    Concatenate
    LOAD * FROM '$(vPath)/LoadTimeDetails.qvd' (qvd);
    STORE LoadTimeDetails INTO '$(vPath)/LoadTimeDetails.qvd';
    Drop table LoadTimeDetails;
Название: Re: Как убрать часть кода в переменную?
Отправлено: admin от 05 декабря 2017, 07:20:31
Ясно, используйте sub... end sub
Для примера ознакомьтесь с библиотекой Qlikview-Components (https://github.com/RobWunderlich/Qlikview-Components)