|  | @@ -218,7 +218,9 @@ class SP_ETL(SPClient, Common_ETLMethod):
 | 
	
		
			
				|  |  |                  "%Y-%m-%d")
 | 
	
		
			
				|  |  |          params['reportType'] = "spCampaigns"
 | 
	
		
			
				|  |  |          params['columns'] = [
 | 
	
		
			
				|  |  | -            'adGroupName', 'adGroupId', 'adStatus',
 | 
	
		
			
				|  |  | +            'adGroupName', 'adGroupId', 'adStatus','campaignName', 'campaignId', 'campaignStatus', 'campaignBudgetAmount', 'campaignBudgetType',
 | 
	
		
			
				|  |  | +            'campaignRuleBasedBudgetAmount', 'campaignApplicableBudgetRuleId', 'campaignApplicableBudgetRuleName',
 | 
	
		
			
				|  |  | +            'campaignBudgetCurrencyCode',
 | 
	
		
			
				|  |  |              'impressions', 'clicks', 'cost', 'purchases1d', 'purchases7d', 'purchases14d', 'purchases30d',
 | 
	
		
			
				|  |  |              'purchasesSameSku1d',
 | 
	
		
			
				|  |  |              'purchasesSameSku7d', 'purchasesSameSku14d', 'purchasesSameSku30d', 'unitsSoldClicks1d',
 | 
	
	
		
			
				|  | @@ -230,7 +232,7 @@ class SP_ETL(SPClient, Common_ETLMethod):
 | 
	
		
			
				|  |  |              'kindleEditionNormalizedPagesRoyalties14d', 'date', 'campaignBiddingStrategy', 'costPerClick',
 | 
	
		
			
				|  |  |              'clickThroughRate', 'spend'
 | 
	
		
			
				|  |  |          ]  # 'startDate', 'endDate',
 | 
	
		
			
				|  |  | -        params['groupby'] = ['adGroup']
 | 
	
		
			
				|  |  | +        params['groupby'] = ['adGroup',"campaign"]
 | 
	
		
			
				|  |  |          params['timeUnit'] = 'DAILY'
 | 
	
		
			
				|  |  |          list_report = self.get_v3_report(timeUnit=params['timeUnit'], groupby=params['groupby'],
 | 
	
		
			
				|  |  |                                           columns=params['columns'], startDate=params['startDate'],
 | 
	
	
		
			
				|  | @@ -254,7 +256,9 @@ class SP_ETL(SPClient, Common_ETLMethod):
 | 
	
		
			
				|  |  |                  "%Y-%m-%d")
 | 
	
		
			
				|  |  |          params['reportType'] = "spCampaigns"
 | 
	
		
			
				|  |  |          params['columns'] = [
 | 
	
		
			
				|  |  | -            'placementClassification',
 | 
	
		
			
				|  |  | +            'placementClassification','campaignName', 'campaignId','campaignStatus',  'campaignBudgetAmount', 'campaignBudgetType',
 | 
	
		
			
				|  |  | +            'campaignRuleBasedBudgetAmount', 'campaignApplicableBudgetRuleId', 'campaignApplicableBudgetRuleName',
 | 
	
		
			
				|  |  | +            'campaignBudgetCurrencyCode',
 | 
	
		
			
				|  |  |              'impressions', 'clicks', 'cost', 'purchases1d', 'purchases7d', 'purchases14d', 'purchases30d',
 | 
	
		
			
				|  |  |              'purchasesSameSku1d',
 | 
	
		
			
				|  |  |              'purchasesSameSku7d', 'purchasesSameSku14d', 'purchasesSameSku30d', 'unitsSoldClicks1d',
 | 
	
	
		
			
				|  | @@ -266,13 +270,15 @@ class SP_ETL(SPClient, Common_ETLMethod):
 | 
	
		
			
				|  |  |              'kindleEditionNormalizedPagesRoyalties14d', 'date', 'campaignBiddingStrategy', 'costPerClick',
 | 
	
		
			
				|  |  |              'clickThroughRate', 'spend'
 | 
	
		
			
				|  |  |          ]  # 'startDate', 'endDate',
 | 
	
		
			
				|  |  | -        params['groupby'] = ['campaignPlacement']
 | 
	
		
			
				|  |  | +        params['groupby'] = ['campaign','campaignPlacement']
 | 
	
		
			
				|  |  |          params['timeUnit'] = 'DAILY'
 | 
	
		
			
				|  |  |          list_report = self.get_v3_report(timeUnit=params['timeUnit'], groupby=params['groupby'],
 | 
	
		
			
				|  |  |                                           columns=params['columns'], startDate=params['startDate'],
 | 
	
		
			
				|  |  |                                           endDate=params['endDate'], reportType=params['reportType'])
 | 
	
		
			
				|  |  |          # print(list_report)
 | 
	
		
			
				|  |  |          df_report = pd.json_normalize(list_report)
 | 
	
		
			
				|  |  | +        # print(df_report)
 | 
	
		
			
				|  |  | +        # print(df_report.columns)
 | 
	
		
			
				|  |  |          df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          conn.insert_df("AmazonReport.SP_spCampaigns_placementV3", df_report[params['columns']])
 | 
	
	
		
			
				|  | @@ -1463,10 +1469,10 @@ if __name__ == '__main__':
 | 
	
		
			
				|  |  |      conn = Common_ETLMethod(**AWS_CREDENTIALS).clickhouse_connect()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      # SD
 | 
	
		
			
				|  |  | -    ac_etl = SB_ETL(**AWS_CREDENTIALS)
 | 
	
		
			
				|  |  | -    ls = ac_etl.targets_ETL()
 | 
	
		
			
				|  |  | +    ac_etl = SP_ETL(**AWS_CREDENTIALS)
 | 
	
		
			
				|  |  | +    ls = ac_etl.reportV3_campaignPlacement_spCampaignsETL(conn,params={"startDate":"2023-10-28","endDate":"2023-10-28"})
 | 
	
		
			
				|  |  |      print(ls)
 | 
	
		
			
				|  |  | -    print(ls.to_excel('obse11.xlsx'))
 | 
	
		
			
				|  |  | +    # print(ls.to_excel('obse11.xlsx'))
 | 
	
		
			
				|  |  |      # ac_etl.reportV2_campaignsRecord_t2_ETL(conn)
 | 
	
		
			
				|  |  |      # ac_etl.reportV2_campaignsRecord_t3_ETL(conn)
 | 
	
		
			
				|  |  |      # ac_etl.reportV2_adGroupsRecord_t2_ETL(conn)
 |