Идея состоит в том, чтобы использовать поиск активности для выбора первого упомянутого месяца и года в таблице.
select MONTH(regtime) as FirstMonth , YEAR(RegTime) as Year from MyTable where ID = (select MIN(id) from MyTable)
Затем результат этого поиска используется в операции копирования, чтобы выбрать строки в этой таблице, которые имеют метку времени с месяцем и годом, выбранными в операции поиска.Это может быть определение источника в операции копирования следующим образом:
select * from MyTable where MONTH(RegTime) = '@{activity('LookupFirstMonth').output.firstRow.FirstMonth}' and YEAR(RegTime) = '@{activity('LookupFirstMonth').output.firstRow.Year}'
Следующим шагом должно быть копирование строк в озеро данных.В области Sink действия копирования можно динамически установить имя файла для файла, в который помещаются данные.Но я не могу понять, как это сделать, я этого хочу.Я хочу, чтобы имя файла отображало месяц и год, выбранные в операции поиска.
Я могу установить имя файла в Мойке на @{activity('LookupFirstMonth').output.firstRow.MONTH}
, и тогда именем файла будет номер месяца.Но этого недостаточно.У этого также должен быть ГОД в имени файла.Когда я приконфигурирую имя файла как:
@CONCAT(@{activity('LookupFirstMonth').output.firstRow.FirstMonth}, @{activity('LookupFirstMonth').output.firstRow.Year}, '.txt')
, я получаю сообщение об ошибке:
{"code":"BadRequest","message":"The expression 'CONCAT(@{activity('LookupFirstMonth').output.firstRow.FirstMonth}, @{activity('LookupFirstMonth').output.firstRow.Year}, '.txt')' is not valid: the string character '@' at position '7' is not expected.\"","target":"pipeline/pipeline1/runid/3cf0a5a9-01df-494e-bdaf-dfc66f406a83"}
Так, как я могу использовать результат действия поиска в имени файла для Мойки вкопирование