Использование значений переменных в операторе LOAD * INLINE - PullRequest
0 голосов
/ 26 апреля 2019

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

Что я делаю не так?

Таким образом, TEMPTABLE загружается из файла, он показывает данные за месяц, мне нужно показать эти данные как данные за день, поэтому я делю значения на количество дней в этом месяце, а затем хочу загрузить их в таблицу 'Final' .

Set vNoOfRows = NoOfRows('TEMPTABLE');

FOR i=0 to $(vNoOfRows)
  SET vYear=Peek('Year',$(i),'TEMPTABLE');
  SET vMonthName=Peek('MonthName',$(i),'TEMPTABLE');    
  SET vCOMPANYNAME=Peek('COMPANYNAME',$(i),'TEMPTABLE'); 
  SET vTYPE_BUSINESS=Peek('TYPE_BUSINESS',$(i),'TEMPTABLE'); 
  SET vSUB_PRODUCT=Peek('SUB_PRODUCT',$(i),'TEMPTABLE'); 
  SET vRENEWAL=Peek('RENEWAL',$(i),'TEMPTABLE'); 
  SET vDaysincurrentmonth=Peek('DaysInMonth',$(i),'TEMPTABLE');
  SET vDayCount=Peek('Daycount',$(i),'TEMPTABLE');  
  SET vPolicies_Day=Peek('Policies_Day',$(i),'TEMPTABLE');
  SET vUWP_Day=Peek('UWP_Day',$(i),'TEMPTABLE');
  SET vGWP_IPT_Day=Peek('GWP-IPT_Day',$(i),'TEMPTABLE');
  SET vClaims_Day=Peek('Claims_Day',$(i),'TEMPTABLE');
  SET vIncurred_Day=Peek('Incurred_Day',$(i),'TEMPTABLE');  

  Set a=1;

   Do while a<=$(vDaysincurrentmonth)       

    FINAL:
    LOAD * INLINE [
            Year,MonthName,Day,COMPANYNAME,TYPE_BUSINESS,SUB_PRODUCT,RENEWAL,Policies_Day,UWP_Day,GWP_IPT_Day,Claims_Day,Incurred_Day
            =$(vYear),=$(vMonthName),=$(a),=$(vCOMPANYNAME),=$(vTYPE_BUSINESS),=$(vSUB_PRODUCT),=$(vRENEWAL),=$(vPolicies_Day),=$(vUWP_Day),=$(vGWP_IPT_Day),=$(vClaims_Day),=$(vIncurred_Day)     
     ];

    Let a=$(a)+1;
  Loop

NEXT i
DROP TABLE TEMPTABLE;

1 Ответ

1 голос
/ 26 апреля 2019

Переменные в скрипте ведут себя иначе, чем на стороне выражения. В скрипте они больше похожи на «заменить эту переменную текущим значением», чем на фактическую оценку переменной.

Тем не менее, не используйте знаки равенства (не обязательно) и убедитесь, что все переменные, которые не являются числовыми, заключены в '. Например:

$(vYear),'$(vMonthName)',$(a),'$(vCOMPANYNAME)'

Это должно привести вас в правильном направлении.

...