Если формулы внутри 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 [Переменные с формулами];
