|  | @@ -464,8 +464,9 @@ class SB_ETL(SBClient, Common_ETLMethod):
 | 
	
		
			
				|  |  |          list_targets = list(self.iter_targets())
 | 
	
		
			
				|  |  |          df_targets = pd.json_normalize(list_targets)
 | 
	
		
			
				|  |  |          # df_targets = self.TZ_Deal(df_targets, ["extendedData.creationDateTime", "extendedData.lastUpdateDateTime"])
 | 
	
		
			
				|  |  | -        df_targets = self.expression_split(df_targets, "resolvedExpressions")
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        # df_targets = self.expression_split(df_targets, "resolvedExpressions")
 | 
	
		
			
				|  |  | +        df_targets['resolvedExpressions_type'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'type'))
 | 
	
		
			
				|  |  | +        df_targets['resolvedExpressions_value'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'value'))
 | 
	
		
			
				|  |  |          return self.columnsName_modify(df_targets)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def budget_ETL(self, campaign_ids: list):
 | 
	
	
		
			
				|  | @@ -958,7 +959,9 @@ class SD_ETL(SDClient, Common_ETLMethod):
 | 
	
		
			
				|  |  |      def targets_ETL(self, **param):
 | 
	
		
			
				|  |  |          list_targets = [row for _ in list(self.iter_targets(**param)) for row in _]
 | 
	
		
			
				|  |  |          df_targets = pd.json_normalize(list_targets)
 | 
	
		
			
				|  |  | -        df_targets = self.expression_split(df_targets, "resolvedExpression")
 | 
	
		
			
				|  |  | +        # df_targets = self.expression_split(df_targets, "resolvedExpression")
 | 
	
		
			
				|  |  | +        df_targets['resolvedExpressions_type'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'type'))
 | 
	
		
			
				|  |  | +        df_targets['resolvedExpressions_value'] = df_targets['resolvedExpressions'].map(lambda x:self.get_keyOvalue(x,'value'))
 | 
	
		
			
				|  |  |          return self.columnsName_modify(df_targets)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def budget_ETL(self, campaignsIds: list):
 | 
	
	
		
			
				|  | @@ -1454,10 +1457,10 @@ if __name__ == '__main__':
 | 
	
		
			
				|  |  |      conn = Common_ETLMethod(**AWS_CREDENTIALS).clickhouse_connect()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      # SD
 | 
	
		
			
				|  |  | -    ac_etl = SD_ETL(**AWS_CREDENTIALS)
 | 
	
		
			
				|  |  | +    ac_etl = SB_ETL(**AWS_CREDENTIALS)
 | 
	
		
			
				|  |  |      ls = ac_etl.targets_ETL()
 | 
	
		
			
				|  |  |      print(ls)
 | 
	
		
			
				|  |  | -    print(ls.tail(20).to_excel('obse1.xlsx'))
 | 
	
		
			
				|  |  | +    print(ls.to_excel('obse111.xlsx'))
 | 
	
		
			
				|  |  |      # ac_etl.reportV2_campaignsRecord_t2_ETL(conn)
 | 
	
		
			
				|  |  |      # ac_etl.reportV2_campaignsRecord_t3_ETL(conn)
 | 
	
		
			
				|  |  |      # ac_etl.reportV2_adGroupsRecord_t2_ETL(conn)
 |