Untitled

 avatar
unknown
plain_text
a year ago
3.7 kB
3
Indexable
engine_5 = sqlalchemy.create_engine('mssql+pyodbc://@spb99-dbs01.gazprom-neft.local:1433/DATAMARTS?driver=ODBC+Driver+17+for+SQL+Server&trusted_connection=yes')

query_5 = '''SELECT 
	YEAR(wh.GPN_WHOLESALE_TRANSACTIONS_DATA) AS year, 
	MONTH(wh.GPN_WHOLESALE_TRANSACTIONS_DATA) AS month,
	ok.[Код ОКВЭД] AS okved,
	ok.[Сфера] AS scope,
	SUM(wh.KOLICHESTVO_TN) AS volume_t,
	SUM(wh.VYRUCHKA) AS revenue,
	wh.TIP_NEFTEPRODUKTA AS np_type
FROM [SANDBOX_DB_TEAM_21].[dbo].[MED_codes_OKVED] AS ok
JOIN [DATAMARTS].[FINAL].[GPN_WHOLESALE_TRANSACTIONS] AS wh
ON ok.[ИНН]=wh.INN
WHERE 
	ok.[Вид ОКВЭДа] = 'Основной' 
	AND YEAR(wh.GPN_WHOLESALE_TRANSACTIONS_DATA) >= '2015' 
	AND wh.KANAL_PRODAZH_VYVERENNYJ != '1.Розница'
	AND wh.OBLAST_POSTAVKI = 'Ярославская обл.'
GROUP BY
	ok.[Код ОКВЭД], ok.[Сфера],
	YEAR(wh.GPN_WHOLESALE_TRANSACTIONS_DATA), 
	MONTH(wh.GPN_WHOLESALE_TRANSACTIONS_DATA),
	wh.TIP_NEFTEPRODUKTA
ORDER BY 
	year, month'''

yaroslav_okved = pd.read_sql(query_5, engine_5)
yaroslav_okved.to_csv('okved_MO_yaroslav.csv', index=False)


yaroslav_okved

	year	month	okved	scope	volume_t	revenue	np_type
0	2015	1	10.71	Производство хлеба и мучных кондитерских издел...	3.695000	0.000000e+00	Бензин
1	2015	1	11.5	Производство пива	14.000000	0.000000e+00	СУГ
2	2015	1	23.63	Разработка гравийных и песчаных карьеров	4.099452	0.000000e+00	ДТ
3	2015	1	29.1.5	Производство автомобилей специального назначения	3.729852	0.000000e+00	Бензин
4	2015	1	29.1.5	Производство автомобилей специального назначения	4.131206	0.000000e+00	ДТ
...	...	...	...	...	...	...	...
3789	2023	12	46.71	Торговля оптовая твердым, жидким и газообразны...	10984.214000	5.073148e+08	Бензин
3790	2023	12	46.71.2	Торговля оптовая моторным топливом, включая ав...	16032.136000	7.436256e+08	Бензин
3791	2023	12	47.3.11	Торговля розничная бензином и дизельным топлив...	657.324000	3.184711e+07	Бензин
3792	2023	12	47.78.6	Торговля розничная бытовым жидким котельным то...	2006.620000	5.816152e+07	СУГ
3793	2023	12	49.41	Деятельность автомобильного грузового транспорта	141.296000	1.031481e+07	ДТ


yaroslav_okved.sort_values(by=['year', 'month'], inplace=True)
yaroslav_okved['year_month'] = pd.to_datetime(yaroslav_okved['year'].astype(str) + '-' + yaroslav_okved['month'].astype(str) + '-01')
yaroslav_okved.insert(2, 'year_month', yaroslav_okved.pop('year_month'))
yaroslav_okved

yaroslav_okved.dropna(inplace=True)
yaroslav_okved.info()

total_revenue_yar = yaroslav_okved['revenue'].sum()
total_revenue_yar

okved_revenue_yar['revenue_share'] = okved_revenue_yar['revenue'] / total_revenue
okved_revenue_yar_filtered = okved_revenue_yar[okved_revenue_yar['revenue_share'] >= 0.01]
okved_revenue_yar_filtered = okved_revenue_yar_filtered.sort_values('revenue_share', ascending=False)
okved_revenue_yar_filtered=okved_revenue_yar_filtered.reset_index(drop=True)
okved_revenue_yar_filtered

plt.figure(figsize=(12,8))
sns.barplot(x='revenue_share', y='okved', data=okved_revenue_yar_filtered)
plt.title('ОКВЭДы с долей выручки более 1%')
plt.xlabel('Доля')
plt.ylabel('Оквэд')
plt.show()
Editor is loading...
Leave a Comment