У меня есть 2 компонента сценария, которые извлекают данные из объектов набора результатов, например User::AllXData и User::AllYData.
Он запускается через цикл foreach, и данные сохраняются в таблице данных.
Затем я добавляю данные в лист Excel, используя назначение Excel. Теперь, когда я это делаю. Все данные, соответствующие столбцу A (т. е. данные из User::AllXData), добавляются на лист Excel, но столбец B заполняется нулевыми значениями до конца данных столбца A.
Затем столбец B заполняется, оставляя столбец A с нулевыми данными. Он должен быть выровнен.
Есть ли обходной путь для этого?
Редактировать:
@AlwaysLearning Ой, плохо. Сейчас отредактировано. Итак, вы говорите, что столбец вывода компонентов сценария будет использоваться в качестве входных данных для другого компонента сценария? Не могли бы вы уточнить эту часть?
Источник тот же? Можете ли вы написать запрос, который форматирует набор данных так, как вы хотите? Если нет, добавьте row_number к отсортированным данным и выполните объединение слиянием для row_number.
@KeithL Я бы отсортировал и объединил данные, но не мог, потому что хотел, чтобы данные в файле были из моего источника. Однако я нашел решение этой проблемы, проверьте ответ на этот пост
После долгого шлифования и запуска множества тестов, наконец, нашел решение.
Ответ на это довольно прост. Вместо того, чтобы использовать два объекта в качестве результирующего набора, лучше использовать только один.
Если вы собираетесь запрашивать из одного источника, включите все необходимые столбцы в свой SQL-запрос в один набор результатов объекта и используйте его как переменную только для чтения в компоненте скрипта.
Создайте единую таблицу данных, включающую все необходимые столбцы, и добавляйте их в место назначения Excel построчно без нулевых значений.
У вас есть два источника скрипта, вставляющие отдельные строки в одну и ту же таблицу — конечно, половина столбцов будет нулевой в каждом наборе данных. Вероятно, вам нужно, чтобы источники сценариев вставлялись в отдельные таблицы данных, а затем объединялись в третьем источнике сценариев. Как данные должны быть выровнены? У вас есть три значения в столбце A, но четыре в столбце B, так что это явно не выравнивание 1:1.