Если формулы внутри Excel содержат в себе set analysis с использованием конструкции $(), то напрямую такие переменные загрузить из Excel не получится, т.к. конструкция $() будет выполняться в момент получения значения (если вы будете использовать let var = peek). Но есть хитрый способ с replace.

Переменная вводится в Excel в конечном формате:

sum({<Дата={">=$(=Date('$(пПериод1)'))"}>*<Дата={"<=$(=Date('$(пПериод2)'))"}>*<[Клиент ID]={$(=Concat({$} DISTINCT chr(39)&[КлиентПоКаналуПродаж ID]&chr(39),','))}>} [Сумма])

Excel:

Скрипт генерации переменных/ скрипт загрузки переменных из Excel:

[Переменные с формулами]:
LOAD
    ИмяПеременной,
    replace(Формула, '$' & '(', '#(') As Формула
FROM [lib://FileSources/Variables.xlsx]
(ooxml, embedded labels, table is varExpressions);

LET vName = '';
LET vValue = '';

For iRow = 0 to NoOfRows('Переменные с формулами') - 1

    LET vName = Peek('ИмяПеременной', $(iRow), 'Переменные с формулами');
    LET vValue = Peek('Формула', $(iRow), 'Переменные с формулами');

    LET $(vName) = replace(vValue, '#(', '$' & '(');

Next iRow

Drop Table [Переменные с формулами];

 

 

0 0 голосов
Рейтинг статьи

Подписаться
Уведомление о
guest
0 комментариев
Встроенная Обратная Связь
Просмотр всех комментариев
0
Оставьте, пожалуйста, комментарий!x