tableConfigDay.tsx 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794
  1. import WidthEllipsis from "@/components/widthEllipsis"
  2. import { Progress, Statistic } from "antd"
  3. import React from "react"
  4. import { AdUnitType_Enum, PRODUCT_TYPE_ENUM } from "../../../const"
  5. function columns12(): { label: string, fieldSHow?: { label: string, saveField: string, defaultValue: any[], data: any[] }, data: any[] }[] {
  6. return [
  7. {
  8. label: '腾讯创意基本信息',
  9. data: [
  10. {
  11. title: '广告账号', dataIndex: 'accountId', label: '腾讯创意基本信息', align: 'center', width: 80, default: 1,
  12. render: (a: string) => (<WidthEllipsis value={a} />)
  13. },
  14. {
  15. title: '业务类型', dataIndex: 'productType', label: '腾讯创意基本信息', align: 'center', width: 80, default: 2,
  16. render: (a: string) => (<WidthEllipsis value={PRODUCT_TYPE_ENUM[a as keyof typeof PRODUCT_TYPE_ENUM]} />)
  17. },
  18. {
  19. title: '应用', dataIndex: 'appName', label: '腾讯创意基本信息', align: 'center', width: 100, default: 3,
  20. render: (a: string) => (<WidthEllipsis value={a} />)
  21. },
  22. {
  23. title: '小程序ID', dataIndex: 'mpId', label: '腾讯创意基本信息', align: 'center', width: 100, default: 4,
  24. render: (a: string, b: any) => (<WidthEllipsis isCopy value={a} />)
  25. },
  26. {
  27. title: '广告名称', dataIndex: 'adgroupName', label: '腾讯创意基本信息', align: 'center', width: 120, default: 5,
  28. render: (a: string) => (<WidthEllipsis value={a} />)
  29. },
  30. {
  31. title: '创意名称', dataIndex: 'dynamicCreativeName', label: '腾讯创意基本信息', align: 'center', width: 120, default: 6,
  32. render: (a: string) => (<WidthEllipsis value={a} />)
  33. },
  34. {
  35. title: '广告ID', dataIndex: 'adgroupId', label: '腾讯创意基本信息', align: 'center', width: 90, default: 7,
  36. render: (a: string) => (<WidthEllipsis value={a} isCopy />)
  37. },
  38. {
  39. title: '创意ID', dataIndex: 'dynamicCreativeId', label: '腾讯创意基本信息', align: 'center', width: 90, default: 8,
  40. render: (a: string, b: any) => (b?.accountId === '总计' ? '--' : <WidthEllipsis value={a} isCopy />)
  41. },
  42. {
  43. title: '投手', dataIndex: 'pitcherName', label: '腾讯创意基本信息', align: 'center', width: 60, default: 9,
  44. render: (a: string) => (<WidthEllipsis value={a} />)
  45. }
  46. ]
  47. },
  48. {
  49. label: '广告消耗信息',
  50. data: [
  51. {
  52. title: '消耗', dataIndex: 'cost', label: '广告消耗信息', align: 'center', width: 85, default: 10, sorter: true,
  53. className: 'padding_0',
  54. render: (a: number) => <div style={{ height: 27, position: 'relative' }}>
  55. <Progress
  56. strokeColor={{
  57. from: '#ff5900',
  58. to: '#ffd380',
  59. }}
  60. status="active"
  61. showInfo={false}
  62. percent={a ? a / 20000 * 100 : 0}
  63. />
  64. <span style={{ position: 'absolute', left: 0, top: 2, bottom: 0, right: 0, padding: '0 5px' }}><Statistic value={a || 0} valueStyle={a >= 20000 ? { color: '#000', fontWeight: 500 } : { fontWeight: 500 }} /></span>
  65. </div>
  66. },
  67. {
  68. title: '曝光量', dataIndex: 'viewCount', label: '广告消耗信息', align: 'center', width: 70, default: 11, sorter: true,
  69. render: (a: string) => <Statistic value={a || 0} />
  70. },
  71. {
  72. title: '千次曝光成本', dataIndex: 'thousandDisplayPrice', label: '广告消耗信息', align: 'right', width: 65, default: 12, sorter: true,
  73. render: (a: string) => <Statistic value={a || 0} precision={2} />
  74. },
  75. {
  76. title: '点击量', dataIndex: 'clickCount', label: '广告消耗信息', align: 'center', width: 70, default: 13, sorter: true,
  77. render: (a: string) => <Statistic value={a || 0} />
  78. },
  79. {
  80. title: '点击均价', dataIndex: 'cpc', label: '广告消耗信息', align: 'center', width: 65, default: 14, sorter: true,
  81. render: (a: string) => <Statistic value={a || 0} precision={2} />
  82. },
  83. {
  84. title: '点击率', dataIndex: 'ctr', label: '广告消耗信息', align: 'center', width: 70, default: 15, sorter: true,
  85. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  86. },
  87. {
  88. title: '不感兴趣点击次数', dataIndex: 'noInterestCount', label: '广告消耗信息', align: 'center', width: 65, sorter: true, default: 16,
  89. render: (a: string) => <Statistic value={a || 0} />
  90. }
  91. ]
  92. },
  93. {
  94. label: '广告转化信息',
  95. data: [
  96. {
  97. title: '公众号关注人数(点击归因)', dataIndex: 'fromFollowByClickUv', label: '广告转化信息', align: 'center', width: 80, sorter: true,
  98. render: (a: string) => <Statistic value={a || 0} />
  99. },
  100. {
  101. title: '公众号关注成本(点击归因)', dataIndex: 'fromFollowByClickCost', label: '广告转化信息', align: 'right', width: 80, sorter: true,
  102. render: (a: string) => <Statistic value={a || 0} precision={2}/>
  103. },
  104. {
  105. title: '公众号关注率(点击归因)', dataIndex: 'fromFollowByClickRate', label: '广告转化信息', align: 'center', width: 80, sorter: true,
  106. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  107. },
  108. {
  109. title: '公众号关注人数(平台上报)', dataIndex: 'bizFollowUv', label: '广告转化信息', align: 'center', width: 80, sorter: true,
  110. render: (a: string) => <Statistic value={a || 0} />
  111. },
  112. {
  113. title: '公众号关注成本(平台上报)', dataIndex: 'bizFollowCost', label: '广告转化信息', align: 'right', width: 80, sorter: true,
  114. render: (a: string) => <Statistic value={a || 0} precision={2}/>
  115. },
  116. {
  117. title: '公众号关注率(平台上报)', dataIndex: 'bizFollowRate', label: '广告转化信息', align: 'center', width: 80, sorter: true,
  118. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  119. },
  120. {
  121. title: '转化目标量', dataIndex: 'conversionsCount', label: '广告转化信息', align: 'center', width: 65, default: 17, sorter: true,
  122. render: (a: string) => <Statistic value={a || 0} />
  123. },
  124. {
  125. title: '转化目标成本', dataIndex: 'convertCost', label: '广告转化信息', align: 'center', width: 65, default: 18, sorter: true,
  126. render: (a: string) => <Statistic value={a || 0} precision={2} />
  127. },
  128. {
  129. title: '转化目标率', dataIndex: 'conversionsRate', label: '广告转化信息', align: 'center', width: 70, default: 19, sorter: true,
  130. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  131. },
  132. {
  133. title: '深度目标转化量', dataIndex: 'deepConversionsCount', label: '广告转化信息', align: 'center', width: 65, default: 20, sorter: true,
  134. render: (a: string) => <Statistic value={a || 0} />
  135. },
  136. {
  137. title: '深度目标转化率', dataIndex: 'deepConversionsRate', label: '广告转化信息', align: 'center', width: 70, default: 21, sorter: true,
  138. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  139. },
  140. {
  141. title: '加企业微信客服次数', dataIndex: 'scanFollowCount', label: '广告转化信息', align: 'center', width: 80, default: 22, sorter: true,
  142. render: (a: string) => <Statistic value={a || 0} />
  143. },
  144. {
  145. title: '加企业微信客服人数', dataIndex: 'scanFollowUserCount', label: '广告转化信息', align: 'center', width: 80, default: 23, sorter: true,
  146. render: (a: string) => <Statistic value={a || 0} />
  147. },
  148. {
  149. title: '加企业微信客服成本(人数)', dataIndex: 'scanFollowUserCost', label: '广告转化信息', align: 'center', width: 85, default: 24, sorter: true,
  150. render: (a: string) => <Statistic value={a || 0} precision={2} />
  151. },
  152. {
  153. title: '加企业微信客服率(人数)', dataIndex: 'scanFollowUserRate', label: '广告转化信息', align: 'center', width: 85, default: 25, sorter: true,
  154. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  155. }
  156. ]
  157. },
  158. {
  159. label: '商品转化',
  160. data: [
  161. {
  162. title: '下单次数', dataIndex: 'orderPv', label: '商品转化', align: 'center', width: 70, sorter: true,
  163. render: (a: string) => <Statistic value={a || 0} />
  164. },
  165. {
  166. title: '下单人数', dataIndex: 'orderUv', label: '商品转化', align: 'center', width: 70, sorter: true,
  167. render: (a: string) => <Statistic value={a || 0} />
  168. },
  169. {
  170. title: '下单金额', dataIndex: 'orderAmount', label: '商品转化', align: 'right', width: 70, sorter: true,
  171. render: (a: string) => <Statistic value={a || 0} precision={2} />
  172. },
  173. {
  174. title: '下单单价', dataIndex: 'orderUnitPrice', label: '商品转化', align: 'right', width: 70, sorter: true,
  175. render: (a: string) => <Statistic value={a || 0} precision={2} />
  176. },
  177. {
  178. title: '下单率', dataIndex: 'orderRate', label: '商品转化', align: 'center', width: 70, sorter: true,
  179. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  180. },
  181. {
  182. title: '下单成本', dataIndex: 'orderCost', label: '商品转化', align: 'right', sorter: true,
  183. render: (a: string) => <Statistic value={a || 0} precision={2} />
  184. },
  185. {
  186. title: '下单ROI', dataIndex: 'orderRoi', label: '商品转化', align: 'center', width: 70, sorter: true,
  187. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  188. },
  189. {
  190. title: '客单价', dataIndex: 'unitPrice', label: '商品转化', align: 'right', sorter: true, width: 70,
  191. render: (a: string) => <Statistic value={a || 0} precision={2} />
  192. },
  193. {
  194. title: '下单次数(点击归因)', dataIndex: 'orderByClickCount', label: '商品转化', align: 'center', width: 70, sorter: true,
  195. render: (a: string) => <Statistic value={a || 0} />
  196. },
  197. {
  198. title: '下单金额(点击归因)', dataIndex: 'orderByClickAmount', label: '商品转化', align: 'right', sorter: true, width: 70,
  199. render: (a: string) => <Statistic value={a || 0} precision={2} />
  200. },
  201. {
  202. title: '下单率(点击归因)', dataIndex: 'orderByClickRate', label: '商品转化', align: 'center', width: 70, sorter: true,
  203. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  204. },
  205. {
  206. title: '下单成本(点击归因)', dataIndex: 'orderByClickCost', label: '商品转化', align: 'right', sorter: true, width: 70,
  207. render: (a: string) => <Statistic value={a || 0} precision={2} />
  208. },
  209. {
  210. title: '下单ROI(点击归因)', dataIndex: 'orderByClickRoi', label: '商品转化', align: 'center', width: 70, sorter: true,
  211. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  212. },
  213. {
  214. title: '点击首日下单次数(点击归因)', dataIndex: 'firstDayOrderByClickCount', label: '商品转化', align: 'center', width: 95, sorter: true,
  215. render: (a: string) => <Statistic value={a || 0} />
  216. },
  217. {
  218. title: '点击首日下单金额(点击归因)', dataIndex: 'firstDayOrderByClickAmount', label: '商品转化', align: 'right', sorter: true, width: 95,
  219. render: (a: string) => <Statistic value={a || 0} precision={2} />
  220. },
  221. {
  222. title: '点击首日下单次数(首日新增下单量)', dataIndex: 'firstDayOrderCount', label: '商品转化', align: 'center', width: 100, sorter: true,
  223. render: (a: string) => <Statistic value={a || 0} />
  224. },
  225. {
  226. title: '点击首日下单金额(首日新增下单金额)', dataIndex: 'firstDayOrderAmount', label: '商品转化', align: 'right', sorter: true, width: 100,
  227. render: (a: string) => <Statistic value={a || 0} precision={2} />
  228. },
  229. {
  230. title: '点击首日下单ROI(首日新增下单ROI)', dataIndex: 'firstDayOrderRoi', label: '商品转化', align: 'center', width: 100, sorter: true,
  231. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  232. },
  233. {
  234. title: '点击7日下单次数', dataIndex: 'orderClk7dPv', label: '商品转化', align: 'center', width: 80, sorter: true,
  235. render: (a: string) => <Statistic value={a || 0} />
  236. },
  237. {
  238. title: '点击7日下单金额', dataIndex: 'orderClk7dAmount', label: '商品转化', align: 'right', width: 80, sorter: true,
  239. render: (a: string) => <Statistic value={a || 0} precision={2} />
  240. },
  241. {
  242. title: '点击7日下单单价', dataIndex: 'orderClk7dUnitPrice', label: '商品转化', align: 'right', width: 80, sorter: true,
  243. render: (a: string) => <Statistic value={a || 0} precision={2} />
  244. },
  245. {
  246. title: '点击7日下单ROI', dataIndex: 'orderClk7dRoi', label: '商品转化', align: 'center', width: 80, sorter: true,
  247. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  248. },
  249. {
  250. title: '点击15日下单次数', dataIndex: 'orderClk15dPv', label: '商品转化', align: 'center', width: 80, sorter: true,
  251. render: (a: string) => <Statistic value={a || 0} />
  252. },
  253. {
  254. title: '点击15日下单金额', dataIndex: 'orderClk15dAmount', label: '商品转化', align: 'right', width: 80, sorter: true,
  255. render: (a: string) => <Statistic value={a || 0} precision={2} />
  256. },
  257. {
  258. title: '点击15日下单单价', dataIndex: 'orderClk15dUnitPrice', label: '商品转化', align: 'right', width: 80, sorter: true,
  259. render: (a: string) => <Statistic value={a || 0} precision={2} />
  260. },
  261. {
  262. title: '点击15日下单ROI', dataIndex: 'orderClk15dRoi', label: '商品转化', align: 'center', width: 80, sorter: true,
  263. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  264. },
  265. {
  266. title: '点击30日下单次数', dataIndex: 'orderClk30dPv', label: '商品转化', align: 'center', width: 80, sorter: true,
  267. render: (a: string) => <Statistic value={a || 0} />
  268. },
  269. {
  270. title: '点击30日下单金额', dataIndex: 'orderClk30dAmount', label: '商品转化', align: 'right', width: 80, sorter: true,
  271. render: (a: string) => <Statistic value={a || 0} precision={2} />
  272. },
  273. {
  274. title: '点击30日下单单价', dataIndex: 'orderClk30dUnitPrice', label: '商品转化', align: 'right', width: 80, sorter: true,
  275. render: (a: string) => <Statistic value={a || 0} precision={2} />
  276. },
  277. {
  278. title: '点击30日下单ROI', dataIndex: 'orderClk30dRoi', label: '商品转化', align: 'center', width: 80, sorter: true,
  279. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  280. },
  281. {
  282. title: '点击首日付费次数', dataIndex: 'cheoutPv1d', label: '商品转化', align: 'center', width: 80, sorter: true,
  283. render: (a: string) => <Statistic value={a || 0} />
  284. },
  285. {
  286. title: '点击首日付费金额', dataIndex: 'cheoutFd', label: '商品转化', align: 'right', width: 80, sorter: true,
  287. render: (a: string) => <Statistic value={a || 0} precision={2} />
  288. },
  289. {
  290. title: '点击首日付费成本', dataIndex: 'cheout1dCost', label: '商品转化', align: 'right', width: 80, sorter: true,
  291. render: (a: string) => <Statistic value={a || 0} precision={2} />
  292. },
  293. {
  294. title: '点击首日付费率', dataIndex: 'cheout1dRate', label: '商品转化', align: 'center', width: 80, sorter: true,
  295. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  296. },
  297. {
  298. title: '点击首日付费ROI', dataIndex: 'cheoutFdReward', label: '商品转化', align: 'center', width: 80, sorter: true,
  299. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  300. },
  301. {
  302. title: '点击首日付费金额(平台上报)', dataIndex: 'purchasePlaClk1dAmount', label: '商品转化', align: 'right', width: 100, sorter: true,
  303. render: (a: string) => <Statistic value={a || 0} precision={2} />
  304. }
  305. ]
  306. },
  307. {
  308. label: '其他业务(平台上报指标)',
  309. data: [
  310. {
  311. title: '激活首24小时广告变现ARPPU(平台上报)', dataIndex: 'firstDayAdPurArppuCost24hPla', label: '其他业务(平台上报指标)', width: 130, align: 'center', sorter: true, className: 'green2ColorClass',
  312. render: (a: string) => <Statistic value={a || 0} precision={2}/>
  313. },
  314. {
  315. title: '激活首24小时广告变现ROI(平台上报)', dataIndex: 'incomeRoi124hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  316. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 50 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  317. },
  318. {
  319. title: '激活首24小时广告变现次数(平台上报)', dataIndex: 'incomePv24hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  320. render: (a: string) => <Statistic value={a || 0} />
  321. },
  322. {
  323. title: '激活首日广告变现次数(平台上报)', dataIndex: 'incomePv1dPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  324. render: (a: string) => <Statistic value={a || 0} />
  325. },
  326. {
  327. title: '激活3日广告变现次数(平台上报)', dataIndex: 'adMonetizationPlaDedupActive3dPv', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  328. render: (a: string) => <Statistic value={a || 0} />
  329. },
  330. {
  331. title: '激活7日广告变现次数(平台上报)', dataIndex: 'minigame7dIncomeCount', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  332. render: (a: string) => <Statistic value={a || 0} />
  333. },
  334. {
  335. title: '注册3日广告变现次数(平台上报)', dataIndex: 'minigame3dIncomeCount', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  336. render: (a: string) => <Statistic value={a || 0} />
  337. },
  338. {
  339. title: '激活首24小时广告变现金额(平台上报)', dataIndex: 'incomeVal24hPla', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  340. render: (a: string) => <Statistic value={a || 0} precision={2} />
  341. },
  342. {
  343. title: '注册首日广告变现金额(平台上报)', dataIndex: 'miniGameFirstDayAdMonetizationAmount', label: '其他业务(平台上报指标)', width: 120, align: 'center', sorter: true, className: 'green2ColorClass',
  344. render: (a: string) => <Statistic value={a || 0} precision={2} />
  345. },
  346. {
  347. title: '注册7日广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmountD7', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  348. render: (a: string) => <Statistic value={a || 0} precision={2} />
  349. },
  350. {
  351. title: '激活14日广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmountD14', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  352. render: (a: string) => <Statistic value={a || 0} precision={2} />
  353. },
  354. {
  355. title: '广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmount', label: '其他业务(平台上报指标)', width: 100, align: 'center', sorter: true, className: 'green2ColorClass',
  356. render: (a: string) => <Statistic value={a || 0} precision={2} />
  357. },
  358. {
  359. title: '激活首24小时广告变现人数(平台上报)', dataIndex: 'adPayingUsers24hPla', label: '其他业务(平台上报指标)', width: 115, align: 'center', sorter: true, className: 'green2ColorClass',
  360. render: (a: string) => <Statistic value={a || 0} />
  361. },
  362. {
  363. title: '激活首日广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupActive1dPv', label: '其他业务(平台上报指标)', width: 110, align: 'center', sorter: true, className: 'green2ColorClass',
  364. render: (a: string) => <Statistic value={a || 0} />
  365. },
  366. {
  367. title: '激活7日变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupActive7dPv', label: '其他业务(平台上报指标)', width: 100, align: 'center', sorter: true, className: 'green2ColorClass',
  368. render: (a: string) => <Statistic value={a || 0} />
  369. }
  370. ]
  371. },
  372. {
  373. label: '其他业务(其他指标)',
  374. data: [
  375. {
  376. title: '激活首24小时广告变现ARPPU', dataIndex: 'firstDayAdPurArppuCost24h', label: '其他业务(其他指标)', width: 100, align: 'center', sorter: true, className: 'volcanoColorClass',
  377. render: (a: string) => <Statistic value={a || 0} precision={2}/>
  378. },
  379. {
  380. title: '激活首日广告变现ARPPU', dataIndex: 'firstDayAdPurArppuCost', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  381. render: (a: string) => <Statistic value={a || 0} precision={2}/>
  382. },
  383. {
  384. title: '广告变现ARPPU', dataIndex: 'adMonetizationArppu', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  385. render: (a: string) => <Statistic value={a || 0} precision={2}/>
  386. },
  387. {
  388. title: '激活首24小时广告变现ROI', dataIndex: 'incomeRoi124h', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  389. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  390. },
  391. {
  392. title: '激活首日广告变现ROI', dataIndex: 'incomeRoi1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  393. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  394. },
  395. {
  396. title: '激活3日广告变现ROI', dataIndex: 'incomeRoi3', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  397. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  398. },
  399. {
  400. title: '激活7日广告变现ROI', dataIndex: 'incomeRoi7', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  401. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  402. },
  403. {
  404. title: '激活14日广告变现ROI', dataIndex: 'incomeRoi14', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  405. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  406. },
  407. {
  408. title: '广告变现ROI', dataIndex: 'adMonetizationRoi', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  409. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  410. },
  411. {
  412. title: '激活首日广告变现成本(人数)', dataIndex: 'adPayingCostD1', label: '其他业务(其他指标)', width: 100, align: 'center', sorter: true, className: 'volcanoColorClass',
  413. render: (a: string) => <Statistic value={a || 0} precision={2} />
  414. },
  415. {
  416. title: '广告变现成本', dataIndex: 'adMonetizationCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  417. render: (a: string) => <Statistic value={a || 0} precision={2} />
  418. },
  419. {
  420. title: '激活3日广告变现次数', dataIndex: 'adMonetizationActive3dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  421. render: (a: string) => <Statistic value={a || 0} />
  422. },
  423. {
  424. title: '激活7日广告变现次数', dataIndex: 'adMonetizationActive7dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  425. render: (a: string) => <Statistic value={a || 0} />
  426. },
  427. {
  428. title: '广告变现次数(平台上报)', dataIndex: 'incomePvPla', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  429. render: (a: string) => <Statistic value={a || 0} />
  430. },
  431. {
  432. title: '激活首24小时广告变现金额', dataIndex: 'incomeVal24h', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  433. render: (a: string) => <Statistic value={a || 0} precision={2} />
  434. },
  435. {
  436. title: '激活首日广告变现金额', dataIndex: 'incomeVal1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  437. render: (a: string) => <Statistic value={a || 0} precision={2} />
  438. },
  439. {
  440. title: '激活3日广告变现金额', dataIndex: 'incomeVal3', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  441. render: (a: string) => <Statistic value={a || 0} precision={2} />
  442. },
  443. {
  444. title: '激活7日广告变现金额', dataIndex: 'incomeVal7', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  445. render: (a: string) => <Statistic value={a || 0} precision={2} />
  446. },
  447. {
  448. title: '激活14日广告变现金额', dataIndex: 'incomeVal14', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  449. render: (a: string) => <Statistic value={a || 0} precision={2} />
  450. },
  451. {
  452. title: '广告变现人数', dataIndex: 'appAdPayingUsers', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  453. render: (a: string) => <Statistic value={a || 0} />
  454. },
  455. {
  456. title: '广告变现金额', dataIndex: 'adMonetizationAmount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  457. render: (a: string) => <Statistic value={a || 0} precision={2} />
  458. },
  459. {
  460. title: '激活首24小时广告变现人数', dataIndex: 'adPayingUsers24h', label: '其他业务(其他指标)', width: 90, align: 'center', sorter: true, className: 'volcanoColorClass',
  461. render: (a: string) => <Statistic value={a || 0} />
  462. },
  463. {
  464. title: '激活首日广告变现人数', dataIndex: 'adPayingUsersD1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  465. render: (a: string) => <Statistic value={a || 0} />
  466. },
  467. {
  468. title: '激活3日广告变现人数', dataIndex: 'adMonetizationDedupActive3dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  469. render: (a: string) => <Statistic value={a || 0} />
  470. },
  471. {
  472. title: '激活7日广告变现人数', dataIndex: 'adMonetizationDedupActive7dPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  473. render: (a: string) => <Statistic value={a || 0} />
  474. },
  475. {
  476. title: '注册次数', dataIndex: 'regPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  477. render: (a: string) => <Statistic value={a || 0} />
  478. },
  479. {
  480. title: '注册人数', dataIndex: 'regDedupPv', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  481. render: (a: string) => <Statistic value={a || 0} />
  482. },
  483. {
  484. title: '注册成本', dataIndex: 'regCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  485. render: (a: string) => <Statistic value={a || 0} precision={2} />
  486. },
  487. {
  488. title: '注册次数成本', dataIndex: 'regPvCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  489. render: (a: string) => <Statistic value={a || 0} precision={2} />
  490. },
  491. {
  492. title: '注册率', dataIndex: 'regRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  493. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  494. },
  495. {
  496. title: '激活注册率', dataIndex: 'activateRegisterRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  497. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  498. },
  499. {
  500. title: '次日留存次数', dataIndex: 'retentionCount', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  501. render: (a: string) => <Statistic value={a || 0} />
  502. },
  503. {
  504. title: '小游戏次日留存人数', dataIndex: 'miniGameRetentionD1', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  505. render: (a: string) => <Statistic value={a || 0} />
  506. },
  507. {
  508. title: '次日留存率', dataIndex: 'retentionRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  509. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  510. },
  511. {
  512. title: '次日留存成本', dataIndex: 'retentionCost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  513. render: (a: string) => <Statistic value={a || 0} precision={2} />
  514. },
  515. {
  516. title: '关键页面次日留存率', dataIndex: 'appKeyPageRetentionRate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  517. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  518. },
  519. {
  520. title: '小游戏次日留存率', dataIndex: 'miniGameRetentionD1Rate', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  521. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  522. },
  523. {
  524. title: '小游戏次日留存成本', dataIndex: 'miniGameRetentionD1Cost', label: '其他业务(其他指标)', width: 80, align: 'center', sorter: true, className: 'volcanoColorClass',
  525. render: (a: string) => <Statistic value={a || 0} precision={2} />
  526. }
  527. ]
  528. },
  529. {
  530. label: '小游戏(平台上报)',
  531. data: [
  532. {
  533. title: '小游戏注册首日广告变现ARPU(平台上报)', dataIndex: 'miniGameFirstDayAdPayingArpu', label: '小游戏(平台上报)', width: 130, align: 'center', sorter: true, className: 'purple1ColorClass',
  534. render: (a: string) => <Statistic value={a || 0} />
  535. },
  536. {
  537. title: '小游戏广告变现ARPU(平台上报)', dataIndex: 'miniGameAdMonetizationArpu', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  538. render: (a: string) => <Statistic value={a || 0} />
  539. },
  540. {
  541. title: '小游戏注册首日广告变现ROI(平台上报)', dataIndex: 'miniGameIncomeRoi1', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  542. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  543. },
  544. {
  545. title: '小游戏注册3日广告变现ROI(平台上报)', dataIndex: 'minigame3dIncomeRoi', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  546. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  547. },
  548. {
  549. title: '小游戏注册7日广告变现ROI(平台上报)', dataIndex: 'minigame7dIncomeRoi', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  550. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  551. },
  552. {
  553. title: '小游戏广告变现ROI(平台上报)', dataIndex: 'miniGameAdMonetizationRoi', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  554. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  555. },
  556. {
  557. title: '小游戏注册首日广告变现成本(平台上报)', dataIndex: 'miniGameFirstDayAdPayingCost', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  558. render: (a: string) => <Statistic value={a || 0} precision={2} />
  559. },
  560. {
  561. title: '小游戏广告变现成本(平台上报)', dataIndex: 'miniGameAdMonetizationCost', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  562. render: (a: string) => <Statistic value={a || 0} precision={2} />
  563. },
  564. {
  565. title: '小游戏注册3日广告变现金额(平台上报)', dataIndex: 'miniGameAdMonetizationAmountD3', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  566. render: (a: string) => <Statistic value={a || 0} precision={2} />
  567. },
  568. {
  569. title: '小游戏注册首日广告变现人数(平台上报)', dataIndex: 'miniGameFirstDayAdMonetizationUsers', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  570. render: (a: string) => <Statistic value={a || 0} />
  571. },
  572. {
  573. title: '小游戏注册3日广告变现人数(平台上报)', dataIndex: 'minigame3dIncomeUv', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  574. render: (a: string) => <Statistic value={a || 0} />
  575. },
  576. {
  577. title: '小游戏注册7日广告变现人数(平台上报)', dataIndex: 'minigame7dIncomeUv', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  578. render: (a: string) => <Statistic value={a || 0} />
  579. },
  580. {
  581. title: '小游戏广告变现人数(平台上报)', dataIndex: 'miniGameAdMonetizationUsers', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  582. render: (a: string) => <Statistic value={a || 0} />
  583. },
  584. {
  585. title: '注册次数(平台上报)', dataIndex: 'regPlaPv', label: '小游戏(平台上报)', width: 90, align: 'center', sorter: true, className: 'purple1ColorClass',
  586. render: (a: string) => <Statistic value={a || 0} />
  587. },
  588. {
  589. title: '注册人数(平台上报+广告主上报)', dataIndex: 'regAllDedupPv', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  590. render: (a: string) => <Statistic value={a || 0} />
  591. },
  592. {
  593. title: '注册成本(平台上报+广告主上报)', dataIndex: 'regCostPla', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  594. render: (a: string) => <Statistic value={a || 0} precision={2} />
  595. },
  596. {
  597. title: '注册率(平台上报+广告主上报)', dataIndex: 'regClickRatePla', label: '小游戏(平台上报)', width: 110, align: 'center', sorter: true, className: 'purple1ColorClass',
  598. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  599. },
  600. ]
  601. },
  602. {
  603. label: 'App相关字段',
  604. data: [
  605. {
  606. title: '回流率', dataIndex: 'miniGameRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  607. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  608. },
  609. {
  610. title: '回流次日留存人数', dataIndex: 'retentionPlaDedupPv', label: 'App相关字段', width: 80, align: 'center', sorter: true,
  611. render: (a: string) => <Statistic value={a || 0} />
  612. },
  613. {
  614. title: '回流次日留存率', dataIndex: 'retentionPlaDedupRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  615. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  616. },
  617. {
  618. title: '回流人数(平台上报)', dataIndex: 'miniGameBfUv', label: 'App相关字段', width: 80, align: 'center', sorter: true,
  619. render: (a: string) => <Statistic value={a || 0} />
  620. },
  621. {
  622. title: '回流成本(平台上报)', dataIndex: 'miniGameBfCost', label: 'App相关字段', width: 80, align: 'center', sorter: true,
  623. render: (a: string) => <Statistic value={a || 0} precision={2} />
  624. },
  625. {
  626. title: '广告变现人数(平台上报)', dataIndex: 'adMonetizationPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true,
  627. render: (a: string) => <Statistic value={a || 0} />
  628. },
  629. {
  630. title: '回流广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeAmount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  631. render: (a: string) => <Statistic value={a || 0} precision={2} />
  632. },
  633. {
  634. title: '回流首日广告变现金额(平台上报)', dataIndex: 'miniGameBfIncomeD1Amount', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  635. render: (a: string) => <Statistic value={a || 0} precision={2} />
  636. },
  637. {
  638. title: '回流广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupPv', label: 'App相关字段', width: 90, align: 'center', sorter: true,
  639. render: (a: string) => <Statistic value={a || 0} />
  640. },
  641. {
  642. title: '回流广告变现ROI(平台上报)', dataIndex: 'miniGameBfIncomePlaRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  643. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  644. },
  645. {
  646. title: '回流广告变现ARPU(平台上报)', dataIndex: 'miniGameBfIncomePlaArpu', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  647. render: (a: string) => <Statistic value={a || 0} />
  648. },
  649. {
  650. title: '回流广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaCost', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  651. render: (a: string) => <Statistic value={a || 0} precision={2} />
  652. },
  653. {
  654. title: '回流首日广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive1dPv', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  655. render: (a: string) => <Statistic value={a || 0} />
  656. },
  657. {
  658. title: '回流首24小时广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive24hAmount', label: 'App相关字段', width: 110, align: 'center', sorter: true,
  659. render: (a: string) => <Statistic value={a || 0} precision={2} />
  660. },
  661. {
  662. title: '回流首24小时广告变现人数(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hPv', label: 'App相关字段', width: 110, align: 'center', sorter: true,
  663. render: (a: string) => <Statistic value={a || 0} />
  664. },
  665. {
  666. title: '回流首24小时广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
  667. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  668. },
  669. {
  670. title: '回流首24小时广告变现ARPU(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hArpu', label: 'App相关字段', width: 120, align: 'center', sorter: true,
  671. render: (a: string) => <Statistic value={a || 0} />
  672. },
  673. {
  674. title: '回流首24小时广告变现成本(平台上报)', dataIndex: 'adMonetizationBkPlaDedupActive24hCost', label: 'App相关字段', width: 110, align: 'center', sorter: true,
  675. render: (a: string) => <Statistic value={a || 0} precision={2} />
  676. },
  677. {
  678. title: '回流3日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
  679. render: (a: string) => <Statistic value={a || 0} precision={2} />
  680. },
  681. {
  682. title: '回流3日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive3dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  683. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  684. },
  685. {
  686. title: '回流7日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
  687. render: (a: string) => <Statistic value={a || 0} precision={2} />
  688. },
  689. {
  690. title: '回流7日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive7dRoi', label: 'App相关字段', width: 100, align: 'center', sorter: true,
  691. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  692. },
  693. {
  694. title: '回流14日广告变现金额(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dAmount', label: 'App相关字段', width: 95, align: 'center', sorter: true,
  695. render: (a: string) => <Statistic value={a || 0} precision={2} />
  696. },
  697. {
  698. title: '回流14日广告变现ROI(平台上报)', dataIndex: 'adMonetizationBkPlaActive14dRoi', label: 'App相关字段', width: 110, align: 'center', sorter: true,
  699. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  700. },
  701. {
  702. title: 'APP下载激活率', dataIndex: 'activatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  703. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  704. },
  705. {
  706. title: 'APP下载率', dataIndex: 'downloadRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  707. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  708. },
  709. {
  710. title: 'APP下载成本', dataIndex: 'downloadCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  711. render: (a: string) => <Statistic value={a || 0} precision={2} />
  712. },
  713. {
  714. title: 'APP安装率', dataIndex: 'installRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  715. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  716. },
  717. {
  718. title: 'APP安装成本', dataIndex: 'installCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  719. render: (a: string) => <Statistic value={a || 0} precision={2} />
  720. },
  721. {
  722. title: 'APP激活成本', dataIndex: 'activatedCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  723. render: (a: string) => <Statistic value={a || 0} precision={2} />
  724. },
  725. {
  726. title: 'APP点击激活率', dataIndex: 'clickActivatedRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  727. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  728. },
  729. {
  730. title: '次日留存率', dataIndex: 'retentionRate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  731. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  732. },
  733. {
  734. title: '3日留存人数', dataIndex: 'appRetentionD3Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  735. render: (a: string) => <Statistic value={a || 0} />
  736. },
  737. {
  738. title: '3日留存成本(人数)', dataIndex: 'appRetentionD3Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  739. render: (a: string) => <Statistic value={a || 0} precision={2} />
  740. },
  741. {
  742. title: '3日留存率(人数)', dataIndex: 'appRetentionD3Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  743. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  744. },
  745. {
  746. title: '5日留存人数', dataIndex: 'appRetentionD5Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  747. render: (a: string) => <Statistic value={a || 0} />
  748. },
  749. {
  750. title: '5日留存成本(人数)', dataIndex: 'appRetentionD5Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  751. render: (a: string) => <Statistic value={a || 0} precision={2} />
  752. },
  753. {
  754. title: '5日留存率(人数)', dataIndex: 'appRetentionD5Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  755. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  756. },
  757. {
  758. title: '7日留存人数', dataIndex: 'appRetentionD7Uv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  759. render: (a: string) => <Statistic value={a || 0} />
  760. },
  761. {
  762. title: '7日留存成本(人数)', dataIndex: 'appRetentionD7Cost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  763. render: (a: string) => <Statistic value={a || 0} precision={2} />
  764. },
  765. {
  766. title: '7日留存率(人数)', dataIndex: 'appRetentionD7Rate', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  767. render: (a: number) => <Statistic value={a ? a * 100 : 0} precision={2} valueStyle={!a ? {} : a >= 0.5 ? { color: 'red' } : { color: '#0f990f' }} suffix="%" />
  768. },
  769. {
  770. title: '下载次数', dataIndex: 'downloadCount', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  771. render: (a: string) => <Statistic value={a || 0} />
  772. },
  773. {
  774. title: '安装次数', dataIndex: 'installCount', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  775. render: (a: string) => <Statistic value={a || 0} />
  776. },
  777. {
  778. title: '快应用添加次数', dataIndex: 'addDesktopPv', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  779. render: (a: string) => <Statistic value={a || 0} />
  780. },
  781. {
  782. title: '快应用添加成本', dataIndex: 'addDesktopCost', label: 'App相关字段', width: 70, align: 'center', sorter: true,
  783. render: (a: string) => <Statistic value={a || 0} precision={2} />
  784. }
  785. ]
  786. }
  787. ]
  788. }
  789. export default columns12