Skip to content

Instantly share code, notes, and snippets.

@ozv-s-urabe
Created August 30, 2020 04:45
Show Gist options
  • Save ozv-s-urabe/e8e7abf5fdd748a8a2394ac6d17f503b to your computer and use it in GitHub Desktop.
Save ozv-s-urabe/e8e7abf5fdd748a8a2394ac6d17f503b to your computer and use it in GitHub Desktop.
GoogleAnalytics PC-OS-Browser シェア
query = '''
{
"ids": "ga:66453283",
"start_date": "30daysAgo",
"end_date": "yesterday",
"metrics": "ga:users",
"dimensions": "ga:operatingSystem,ga:browser",
"sort": "-ga:users"
}
'''
data = execute_query('Google Analytics', query)
summaryBase = {}
total = 0
for datum in data['rows']:
os = datum['ga:operatingSystem']
browser = datum['ga:browser']
users = int(datum['ga:users'].replace(',', ''))
if os == 'iOS' or os == 'Android':
continue
osbrwoser = os + ':' + browser
summaryBase.setdefault(osbrwoser, 0)
summaryBase[osbrwoser] = summaryBase[osbrwoser] + users
total = total + users
summaryBaseSorted = sorted(summaryBase.items(), key=lambda x:x[1], reverse=True)
result = {}
counttotal = 0
is_support = 'YES'
for list in summaryBaseSorted:
counttotal = counttotal + list[1]
share_top_per = float(counttotal) / float(total) * float(100)
add_result_row(result, {
'OS:ブラウザ': list[0],
'ユーザ数': list[1],
'割合(%)': float(list[1]) / float(total) * float(100),
'上位からのシェア合計(%)': share_top_per,
'サポート対象': is_support
})
if share_top_per >= float(95):
is_support = 'NO'
add_result_column(result, 'OS:ブラウザ', '', 'string')
add_result_column(result, 'ユーザ数', '', 'integer')
add_result_column(result, '割合(%)', '', 'string')
add_result_column(result, '上位からのシェア合計(%)', '', 'string')
add_result_column(result, 'サポート対象', '', 'string')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment