Azure数据工厂在复制活动中每月自动更改日期,以将数据从SAP HANA复制到Azure SQLDB

问题描述

我正在 azure数据工厂(ADF) 中工作,将数据从 SAP HANA 复制到 {{3 }} 。我正在ADF中使用“复制活动”来执行此操作,该操作使用SQL查询查询HANA中的表并将其下沉到sqlDB中。该查询包含reporting_date,我需要每个月手动更新以获取数据。

我想删除这种手动更改日期的多余过程,然后每月运行一次,因为我有350多个管道每月更改日期,并且此任务变得非常繁琐且耗时。 有什么方法可以在一处更改日期,它可以用作源查询的输入,并且查询自动更新为日期? 请按我的要求找到附件的屏幕截图。

Azure SQLDB

要更新的查询

SELECT "SAPINSTANCE","MCO","COUNTRY","BUKRS","EntityName","XBLNR","HKONT","TXT50","GSBER","BELNR","BLART","LTEXT","CC_BLDAT","CC_BUDAT","WAERS","MONAT","SGTXT","GJAHR","BKTXT","UMSKZ","S_LTEXT","AUFNR","PROJK","PRCTR","EBELN","KOART","AUGBL","CC_AUGDT","REBZG","LIFNR","NAME1","CC_SHKZG","KOSTL","BSCHL","BUZEI","EBELP","KTOKS","ZUONR","XINTB","XLOEB","XSPEB","XOPVW","XKRES","TYPE_WISE_CLASS","DESCRIPTION","MCLASS","CC_NUM_OF_DAYS_AGEING","CC_AGEING_BUCKET","CC_GROUP_CURRENCY","CC_REPORTING_DATE_VAR","MARKET_CLUSTER","HWAER","CURR_UNIT_TO_EURO_1",sum("CC_WRBTR") AS "CC_WRBTR",sum("CC_GROUP_CURRENCY_VALUE") AS "CC_GROUP_CURRENCY_VALUE",sum("CC_LOC_AMT_IN_MIN") AS "CC_LOC_AMT_IN_MIN",sum("CC_AMT_IN_EUR_MIN") AS "CC_AMT_IN_EUR_MIN",sum("CC_DMBTR_E") AS "CC_DMBTR_E" 
FROM "_SYS_BIC"."table"('PLACEHOLDER' = ('$$IP_CLUSTER$$','Africa'),'PLACEHOLDER' = ('$$IP_COUNTRY$$','*'),'PLACEHOLDER' = ('$$IP_FISCAL_YEAR$$','PLACEHOLDER' = '$$IP_REPORTING_DATE$$','20200831'),'PLACEHOLDER' = ('$$IP_AGEING_BUCKET$$','''*'''),'PLACEHOLDER' = ('$$IP_BUKRS$$','*')) 
GROUP BY "SAPINSTANCE","CURR_UNIT_TO_EURO_1"

以上查询用作复制活动中的输入,需要每月手动更新日期。请帮忙!

解决方法

我假设您在使用计划的事件(例如每周或每月)触发管道执行时希望使用“ current_date”或类似的动态值。

您可以通过使用当前日期动态填充查询来实现这一点,或者在必要时执行更高级的日期函数操作:

@concat('SELECT FROM schema.table t WHERE reporting_date =',formatDateTime(utcnow(),'yyyy-MM-dd'))

您可以在以下网址中找到更详细的列表:https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions#date-functions

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...