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