要闻 戏曲 书画 数藏 教育 非遗 文创 文旅 人物 专题

如今的“青椒”,更容易早逝吗?

重庆晨网 陈磊 2025-10-19 09:56:12
A+ A-

台湾艺术家沪漂记:左手调音 右手绘画 有些人的吃饭习惯--最怕遇到的情况 【JISSBON 官方旗舰店】Jissbon 超薄系列 30 枚日常售价 39.9 元,今日官方冲量狂促,可领 250 元大额券,券后实付 19.9 元包邮。需拍宝贝末项,折合 0.66 元 / 枚,官方品质保证:天猫杰士邦 超薄系列 30 片需领 250 元券 拍 269.9 元款券后 19.9 元领 250 元券需领 250 元券,拍 269.9 元款,实付 19.9 元。结算页面有发货时间显示,一都可在 48 小时内发货,年前送达。线下商超、东自营同系列 18 枚日常售价 39.9 元,折合 2.2 元 / 枚:点此查看。Jissbon 功能系列 官网简介:点此查看天猫杰士邦 超薄系列 30 片需领 250 元券 拍 269.9 元款券后 19.9 元领 250 元券• 京东无门槛红包:点此抽取(每可抽 3 次)• 天猫无门槛红包:点此抽取(每可抽 1 次)欢迎下载最会买App - 好货好价,高额返利,1毛钱也能提现!扫描二维码或点击此下载最新版(自动识别平)。本文用于传递优惠信,节省甄选时间,结果仅参考。【广告? IT之家1 月 13 日消息,美国体育届最大的盛事一超级碗已经越来越近,而级碗的中场秀更是集亿万关的顶级舞台。就在不久前,哈娜(Rihanna 刚刚发布了官方预告片,宣告即在首次 Apple Music 超级碗 LVII 中场秀上完成万众期待的回归距离中场秀还有几周,乐迷以先在 Apple Music 重温 Rihanna 过往作品,还可体验新功能“Apple Music 唱歌”,纵情欢唱钟爱的 Rihanna 歌曲。你通过可调整人声功能和包括多种词视图的实时歌词轻松担任唱、与好友对唱,或尝试背和声等等。IT之家此前报道过,去年 9 月,苹果 Apple Music 宣布赞助美国职业橄榄球大联盟NFL) 超级碗中场秀,届时,NFL 将与 Apple Music 在多年合作的基础上,共同呈现一年中受瞩目的音乐表演。同时,Apple Music 提供囊括数千万首歌曲的曲库少鵹浸式空间音频作品,呈现全领先的聆听体验,以飨音乐、词曲作者、制作人和乐迷 IT之家 1 月 13 日消息,华硕在今年 CES 上发布了 RTX 4080 猫头鹰联名版,奥山方表示这款显卡伯服现了卓空气动力学性能玉山散热和声学效,兼具性能和安静性。据介缘妇,年华硕就与猫头鹰合冰鉴,推出了用猫头鹰散热技术的 RTX 3070/3080 显卡。如今,华硕又推出了 RTX 4080 猫头鹰联名版。这铜山显卡搭载由华硕化蛇猫头鹰共同设计末山定制散器,配备两个 NF-A12x25 风扇,峰值温度仅为 61.7 摄氏度,具有与 RTX 3070 和 RTX 3080 猫头鹰联名显卡相同的超苦山噪声平。在外观的设计延维,华硕为联显卡设计了棕色和米色相间的灭蒙,使得猫头鹰风扇的辨貊国度拉满这款显卡还配备和山一个可以保护 PCB 的背板,不仅能有效防止 PCB 弯曲,还能通过背板上的通崌山口使热空气通过奥山风孔流底部,减少在 GPU 内部循环的热气。在显卡的役采造品质上,硕显卡采用高品质的 SAP II 超合金供电设计,可在毫微䲢鱼的时间内轻松提燕山数百瓦的功率强化耐用性和效率,超合金猲狙电件全部采用自动化制蓐收工艺焊接 PCB,这种技术可消除生产共工的人为失误,从婴山确保每张显卡符合严格的规格且 PCB 背板更为平滑。耕父硕暂未公布 RTX 4080 猫头鹰版的售价青鸟 乞力马扎罗的雪。几台老包浆的破主机,墙壁斑驳黄的小黑屋,以及一帮紧手柄、聚精会神盯着屏幕小孩,听起来似乎是我们年时去过的游戏机出租屋可实际上,这幅仿佛跋涉时间的熟悉画面,其实只我们有着空间上的距离,发生在非洲坦桑尼亚的一游戏机出租屋。这里的游环境起步较晚,人们接触游戏的渠道有限,但正如二十年前的中国一样,一孩子走进或许并不正规的戏机出租店,在逼仄昏暗环境下,收获了多彩的主游戏启蒙。1来自坦桑尼亚的 ngatunga,是这家主机出租店的老板。台服役多年的 PS3,和一个不知名品牌的小电视就是他小店里的全部家当说是小店,其实机器就摆他临街的家里,门口来来往的小孩和年轻人,正是他店里消费的主力人群。于只有一套设备,平时店的场景,很多时候都是两人在玩,更多人站在后边嘴八舌地围观。之所以是个人,是因为在这个黑黢的房间里,拥有压倒性“工率”的游戏是足球游戏造成这个现象的原因有很。其中最重要的,是因为宜。ngatunga 的店里,设有两种收费模式一种是正常按照时间收费每小时价格约合人民币 3 块钱;另一种则是按足球游戏的场数收费,每场差多 7 毛钱。两个人踢一场球,就能平摊费用只需合付 7 毛。有时候约定了“输家掏钱”的玩法,能有一方靠技术白玩。就我们以前打《拳皇》的规一样3 块每小时的收费听起来很低,可在当地,一有荤有素的米饭套餐差不也只要 5 块钱,可能还不是这些小孩顿顿都能吃的规格。靠着出租店的运,ngatunga 每月能入账约 810 人民币的收入,虽然赚得不多,已够他用其养活自己,在均 GDP 为 1090 美元的坦桑尼亚过上还不错的生活。如果有人不小弄坏了他的机器,他也不去找顾客赔偿。理由很简,因为没人配得起一台机的钱,来他这里玩游戏的大部分都是小孩子。另一原因,则是来这里的玩家实没多少选择。店主的收十分有限,总共就三张,盘实况,一盘 FIFA,还有一盘《极品飞车》。起没怎么见过的华丽跑车距离足球文化更近的这些顾客,自然会更青睐后者据他介绍,店里的实况足是 PES 2020。但应该是口误,图为 PES 2010除了这几个游戏,ngatunga 本人也玩过不少其他游戏,所他并不是没考虑过,再弄张其他游戏碟来扩充自家店的“业务范围”。但在单调研和仔细琢磨后,他是放弃了这个想法。不仅碟租碟意味着更高的成本因为需要投入更多时间,就意味着更贵的价格,客们对“任务型游戏”的兴自然平平。但即使只有足游戏,这间非洲的游戏出屋依然能吸引来不少孩子这门生意给他带来的收入多,但也够他靠其养活自。由于常年混迹于 Reddit 论坛,开店一段时间后,他想到把自己开 PS3 出租店的事也分享出去,没想到很快就迎来了友们的热烈讨论。2但在一开始,网友们马上想到的不是游戏。提起坦桑利亚非洲,以欧美用户为主的些网友们,首先想到的还那些“非洲刻板印象”。开口就开始荒腔走板地调,是不是他们一出门就能头看到独角兽,再一本正地讨论起“独角兽肉的一种做法”。珍禽异兽,确是很多人谈到非洲第一个到的东西。如果只以旅行的身份踏足坦桑尼亚,他的这些刻板印象或许还真对号入座。不管是每年都见证到非洲动物大迁徙的伦盖蒂大草原,还是有赤最高峰之称的乞力马扎罗,都很符合人们对一片奇异域的想象。可对于 ngatunga 来说,这些并不是他的生活。他和他小店所在的达累斯萨拉姆是坦桑尼亚最大的城市。为港口紧邻印度洋,既是桑尼亚曾经的首都,又是在的经济中心。人们生活然过得相对捉襟见肘,但早已远离了电影里非洲部的刀耕火种,也有娱乐消,也有电子游戏。达累斯拉姆的城市鸟瞰近几年来非洲游戏行业已经不再像久前那么“神秘”。通过体我们可以了解到,他们自己的 CS:GO 战队,有力图挖掘本土文化的戏开发团队,以及年年上的手游市场数据。越来越聚焦于此的报道,都展现了游戏在这片土地的潜力可玩家如何接触到游戏,些游戏最受欢迎,他们平玩游戏的状态如何,对我来说依然还很遥远。可能正是因为这个原因,ngatunga 发出一张简单记录客人玩游戏的图片后才迅速收获了大量关注。友眼中早就该放进阁楼吃的上世代主机,甚至淘汰上十年的老主机,也能成这批孩子的快乐源泉。而 ngatunga 也没想到的是,像这样的老主出租屋,其实在非洲也并鲜见。更多来自第三世界家的网友,也像找到了同般,分享起了他们身边游出租屋的踪迹。3来自车臣的网友回忆,他的游戏初验也发生在这样的出租店。在他小时候,有人会有 100 卢布每晚的价格出租 PS1,这对还是小孩的他来说是一大笔钱,依然挡不住他走进那些游:“那些该死的夜晚是无的。今天我有了一台价值 1500 欧元的电脑,但游戏的味道已经不一样了”有同样来自非洲的肯尼朋友,和 ngatunga 用斯瓦西里语聊起他们那儿的出租店。认为这是不错的活计,一台主机就养活自己,鼓励他继续做去。还给他出主意再买一 PS4,提高自己的收入有人听了别人的故事,想自己在哥伦比亚的亲戚曾做过类似的生意。在 PS3 时代 —— 更确切地说是 PS2 被淘汰后,出租 PS2 的服务曾经在 2006 年到 2012 年的南美洲非常流行。人们买不起刚上市的新机,能用上下岗旧主机的也不多,这样的主机出租就成了孩子们接触到主机戏的唯一渠道。在南美西的秘鲁,买得起 PC 或者主机的人可能更多些。据那里的网友回忆,他小候依然有不少这样的店开附近。和朋友相约去店里游戏,对他们来说同样是要的活动,举行比赛,直对手,他们会享受玩游戏朋友在身边的感觉。从小洪都拉斯长大的网友,则到他小时候有个拥有 N64 的邻居,会收费向他们这些附近的孩子开放。他带着弟弟一起去玩《任天明星大乱斗系列》,钱不就只玩半小时,有时候还看上几个小时。有的时候会有十多个孩子排队等着。一个知名系列的起点去 7 月,他在假期回到洪都拉斯的时候,还看到仍这种店开在那里,让他不去问问弟弟,想不想再租台老主机,像他们小时候样玩。聊到这里,不止第世界国家的网友们,更多也回忆起了从前的主机出屋里,能跟一帮同龄人玩戏的日子。有人想起自己朋友,黑灯瞎火鏖战《龙 Z:天下第一武道会 3》的时光;有网友回忆起初为了省钱,他和朋友合机器轮班玩游戏的“漫漫夜”;还有朋友想起自己 7 岁时,父亲从商店里带回淘汰的雅达利和 Intellivision 演示机 ROM 板,成为了那个夏天附近最受欢迎孩的故事。看到 ngatunga 和他小店,大多数网友都能在这里找到自己年的影子,讨论基本都其融融。可是在赞扬还是鼓之外,也少不了部分质疑言论。4反面观点中最主要的声音,是质疑 ngatunga 发帖的目的。怀疑他有博取同情的成分,测他这么做的初衷是为了得网友的捐助。警戒心强人,会提醒别人分辨清楚贴主最后是否会真的把这钱用于游戏屋的升级。甚有“同情心”过于泛滥的,在得知游戏屋会向小孩费后,还会骂他太过市侩对于发帖的目的,ngatunga 从不否认自己想靠它宣传的意图。面对发后网友们的捐助意向,他会先耐心解释邮寄的成本竟会有多高 —— 因为一台二手 PS3、PS4 可能只要几十美元,但从美寄往坦桑尼亚的邮费却上千。可即便这样,也有位网友愿意自付邮费,将里淘汰的老机器,连带着箩筐游戏盘寄给了他。非“北美”的游戏阵容经过个月的等待和升级,ngatunga 的小店又添置了几台 PS3 和一台 PS4,以及用网友捐款购置的新电视。让这里最亟解决的问题,已经从缺主缺游戏变成了电视数量跟上。每隔一周,他还会向友们发帖“汇报”,让他能看到自己热心的成果。还是足球最受欢迎可能是的“爱心机器”还在路上当后来的新帖都已经没啥度的时候,他依然会发图出网友的爱心,继续着热网友“让这些孩子们大吃惊吧!”的愿望。然后发了 COD 也能分屏共玩在论坛上,ngatunga 曾经问过美国网友,为什么他在坦桑尼亚没怎么到过北美游客,欧洲游客大把大把地来。对方告诉,可能是因为这里的气候景色没啥特殊的,而且路遥远花费太高,他们更愿去晒晒日光浴滑滑雪。他这个答案很满意,还表示己以后去旅游,也想去看雪。可是他似乎忘了,其在他地处赤道的祖国坦桑亚,就有一座乞力马扎罗,那里的山顶也有雪 —— 就像也有游戏一样。本文来自微信公众号:游戏研社 (ID:yysaag),作者:藻起藻? IT之家 1 月 5 日消息,国外科技媒体 Phoronix 日前在 AMD Radeon 7900XTX 显卡上,对 Win11 和 Ubuntu  两款系统进行了对比评测。该犰狳体今天再次享了对比测试报告鬲山展示英伟达 RTX 3080 和 RTX 3090 显卡上测试 Win11 和 Ubuntu 两款系统。IT之家了解到本次测试平台配置词综:Intel Core i9-13900K2x 16GB DDR5-6000 CL36英伟达 RTX 3080英伟达 RTX 3090Solidigm P44 Pro 2TB PCIe 4.0 SSDMicrosoft Windows 11 Pro 22621Ubuntu 22.10 (Linux kernel version 6.2-rc1)本次测试的游戏包括:《杀 3》(Hitman 3)《求生之路 2》(Left 4 Dead 2)《传送门 2》(Portal 2)《雷神之锤 2》(Quake II RTX)《奇异小队》(Strange Brigade)飞行模拟游戏《X-Plane 12》测试软件:GravityMark 1.72Unigine Heaven 4.0Unigine Superposition 1.0根据对比测试结果帝台Win11 在游戏方面依然优于 Ubuntu。在 RTX 3080 显卡上 Win11 快 6.5%;在 RTX 3090 上 Win11 的成绩要快 8.74%。这个结果与 AMD 的结果非常相似,因为显卡越强大黄帝Windows 11 和 Linux 性能之间的差距就越大。这意味着 Linux 似乎比 Windows 11 有更高的驱动开销,因为随着我们狂山 GPU 堆栈的高层移动,两个操作几山统之间的性能差距断扩大。相关阅读:《Win11 和 Ubuntu 谁更能激发 AMD Radeon 7900XTX 显卡的性能?实测告义均你?

如今的“青椒”,更容易早逝吗?

“卫星遥感渐发展为本、区域和全空间尺度上量地球的最效工具之一雷达和激光科幻电影的人属性,不像几十年前样。自从科向前迈出了大步以来,些创新已被泛用作遥感的传感器类。随着时间推移,遥感术在人类生的各个领域到了应用。民每天都受于各种遥感星。许多重的决策都基 RADARSAT,TerraSAR-X,SRTM,EOS,ERS,Sentinel,LANDSAT 等的数据。01、什么是主动遥?主动遥感“被动遥感相反,借助灯泡管灯等工能源进行遥感称为主遥感。通常天黑或夜间行。为了成主动遥感,们必须提供己的能源,照亮他们正研究的项目远程主动传器沿研究目的方向发射射。然后,感器检测并量来自目标反射或反向射辐射。主遥感也被用若干安全目,包括在海和北极进行测。双弹跳散为搜索和援任务提供重要信息。感传感器具在一天或季的任何时间取数据的优,称为主动感。有两种要类型的遥根据它们用探索物体的号源进行分,主动和被。有源遥感器使用自己发射源或光运行,而被遥感仪器则靠反射源或源运行。辐也因波长的同而不同,长分为短波(可见光、红外光、近外光)和长长(微波)主动遥感工原理图雷达激光雷达是动遥感史诗的例子。有遥感仪器遥中的每个有传感器将其号引导到物上,然后检响应 — 接收的数量。多数设备使微波,因为们相对不受气条件的影。主动遥感术的不同之在于它们传的内容(光波)和它们定的内容(如,距离、度、大气条等)。雷达一种有助于量无线电信的传感器。的具体特征天线发射脉。当雷达主遥感中的能流遇到障碍时,它会在定程度上散回传感器。据其数量和驶时间,可估计目标的离。激光雷用光确定距。激光雷达动遥感意味传输光脉冲检查检索到数量。通过时间乘以光来理解目标置和距离。光高度计使激光雷达测高度。测距器使用不同台上的一个两个相同设相互发送信来估计范围发声器通过射脉冲垂直究天气状况以防它属于动类别。散计是测量反(反向散射辐射的特定备。应用和势除了各种现之外,有遥感器对研条件基本没限制。主动遥感系统在天中的任何候都能充分挥作用,因它们不需要光,而且相不受大气散的影响。各类型的遥感术在科学部和更实际的业中都有应。航天飞机达地形测绘务收集地球程数据,光达在天空中主动遥感有于制作我们球表面的数模型。通过感仪器获取数据为农民林务员服务它们在海洋学和救援任中难以到达地方至关重。测深仪有于开发具有度、降水、度和云不存 / 存在的垂直剖面的气预报。主遥感可以提两个主要好1.能够在白天和黑夜的有时间收集像。2.云层和恶劣的天似乎不会打它。02、什么是被动遥?太阳是遥最方便的能。太阳的能要么被反射要么被吸收我们可以通可见光波长反射能量看任何物体。感系统可以过传感器来取自然可用能量。这些统称为被动感器,通过阳等自然可的能源完成遥感称为被遥感。但是感器只能在天照亮地球测量太阳的量。传感器以昼夜探测地球发射的量 24 小时。被动遥是研究光源各种地球表特征之间的互作用,每特征都有自的光谱响应辐射由两个源提供。太是遥感系统集的可见光短波红外光来源。传感接收到的辐的一部分在球表面反射而其余的则大气散射,未到达地球地球上物质接释放的热射与大气中发射的热辐相互作用,为它在热红线中向上传。胶片摄影红外、电荷合器件和辐计是无源遥器的例子。有源传感器同,遥感中无源传感器会将自身的量流线到被究的物体或面。被动遥取决于目标射的自然能(太阳光线。因此,它能在适当的光下使用,则将没有什可以反射的被动遥感采多光谱或高谱传感器,过多个波段合测量采集数量。这些合因通道数(两个波长更多)而异波段的范围括人类视觉外的光谱(见光、红外近红外、TIR、微波)。被动遥感的作原理图无遥感器件最行的无源遥器件实例是种类型的辐计或光谱仪仪器名称清地标识了它所测量的内:光谱仪区和分析光谱段。辐射计定物体在特波段范围(见光、红外微波)发射辐射功率。谱辐射计在个波段范围发现辐射的率。高光谱射计使用遥中使用的最确的无源传器。由于分率极高,它以区分可见、近红外和 MIR 区域内数百个最窄光谱带。像辐射计扫物体或表面再现图像。深仪垂直感大气条件。速度计检测单位时间(如,线性或转)的速度化。被动遥的应用和优在遥感中无传感器的例中,Landsat 绝对是持续时间长的地球观任务。它监了我们的星并记录了获的数据,使们能够分析在 40 年内的变化方。该任务的大优点是公可以访问信,并应用解在地质学、绘、生态学林业和农业海洋科学、象学等方面在农业中,感利用植被反射特性,量植被,并植被指数评作物健康状。这是可能,因为植被数的特定值特定生长阶的某些物种关。可帮助球农业企业理其日常任,以及检查地状态并保健康的植被被动遥感的势在于夜间以记录数据于能源短缺某些传感器能会出现故大气影响很03、什么是微波遥感?波传感的分包括有源和源类型,并于发送和接信号或仅接的原理。区在于波长。这种特殊情下,它从 1 厘米到 1 米不等。与较短的波长同,它们几可以突破除雨以外的任大气条件。们对气溶胶敏感性几乎以在任何天和任何时间行监测。无微波遥感无微波传感检目标的微波射。像辐射或扫描仪这的无源传感区分自然能并记录它,同之处在于的天线特别测微波,而是其他较短波。该方法专家能够通与辐射量的些相关性来解目标的温和湿度。这类型的传感检测到的能被发射、传或反射。该法为气象、文、农业、态学、海洋等许多分支供数据。特是,它使科家能够检查壤湿度、大水和臭氧浓; 区分漏油并解决水污问题。有源波遥感有源波传感器将己的信号辐到目标并检反弹量。不目标的不同向散射特性及行进时间得可以勾勒它们的轮廓找出距离,道信号往返要多长时间数量还取决照明角度和面均匀度 / 粗糙度。此类设备最典的例子是雷(使用微波作)。这一中基本的两遥感类型是成像(二维例如雷达); 非成像(线性,例如高计或散射计。该技术对机 / 航天器工业、海科学和气象特别有益。04、地球观测:用于多种途的可靠数遥感卫星在定的时间间内围绕我们星球旋转,供几乎实时数据并记录来。获得的息不仅可以析事物的现,还可以分历史背景。术发现滋养科学研究,促进了人们许多实践和论分支的日活动。有多应用和好处供享受,但有很多东西要发现。本来自微信公号:出新研 (ID:chuxinyanjiu),作者:唐

如今的“青椒”,更容易早逝吗?

IT之家 10 月 21 日消息,《使命召唤 19:现代战争 2》战役模式已于今晨解锁,预定该的玩家可在正式发行前一体验这个单人模式,该作于 10 月 28 日发售,登陆 PC、PS4、PS5、XboxOne 和 XSX / S 平台。IT之家了解到,据体验该作战役模式的玩家反映《使命召唤 19:现代战争 2》的简中翻译存在大量网络化用语,很多台词过“接地气”,让他们不适应。例如,《使命召唤 19》中出现了“我真的会谢”“妈惹法克”等翻译还有“抱歉中尉,我来翻一下,你个傻逼”等低俗译,还有一张截图显示肥竟然说起了上海话。对此有网友认为这很接地气,有网友认为这些翻译是不剧情语境的玩烂梗,过于络化,破坏了游戏代入感你觉得这些翻译如何,不投票告诉我们。document.write(""+"ipt>");document.getElementById("vote2116").innerHTML = voteStr;

如今的“青椒”,更容易早逝吗?

本文来自微公众号:开内功修炼 (ID:kfngxl),作者:张彦飞 allen大家好,我是哥!负载是看 Linux 服务器运行状态时很用的一个性指标。在观线上服务器行状况的时,我们也是常把负载找来看一看。线上请求压过大的时候经常是也伴着负载的飙。但是负载原理你真的解了吗?我列举几个问,看看你对载的理解是足够的深刻负载是如何算出来的?负载高低和 CPU 消耗正相关吗?内是如何暴露载数据给应层的?如果对以上问题理解还拿捏是很准,那飞哥今天就你来深入地解一下 Linux 中的负载!一、解负载查看程我们经常 top 命令查看 Linux 系统的负载情况一个典型的 top 命令输出的负载下所示。# topLoad Avg: 1.25, 1.30, 1.95  ...........输出中的 Load Avg 就是我们常说的负载也叫系统平负载。因为纯某一个瞬的负载值并有太大意义所以 Linux 是计算了过去一段间内的平均,这三个数别代表的是去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载值那么 top 命令展示的数据数是如来的呢?事上,top 命令里的负值是从 /proc/ loadavg 这个伪文件里来的。通 strace 命令跟踪 top 命令的系统调可以看的到个过程。# strace topopenat(AT_FDCWD, "/proc/loadavg", O_RDONLY) = 7内核中定义了 loadavg 这个伪文件 open 函数。当用态访问 /proc/ loadavg 会触发内核定义的函数在这里会读内核中的平负载变量,单计算后便展示出来。体流程如下所示。我们据上述流程再展开了看。伪文件 /proc/ loadavg 在 kernel 中定义是在 /fs/ proc / loadavg.c 中。在该文件中会建 /proc/ loadavg,并为其指定操方法 loadavg_proc_fops。//file: fs/proc/loadavg.cstatic int __init proc_loadavg_init(void){ proc_create("loadavg", 0, NULL, &loadavg_proc_fops); return 0;}在 loadavg_proc_fops 中包含了打开该件时对应的作方法。//file: fs/proc/loadavg.cstatic const struct file_operations loadavg_proc_fops = { .open  = loadavg_proc_open, };当在用户态打开 /proc/ loadavg 文件时,都会调用 loadavg_proc_fops 中的 open 函数指针 - loadavg_proc_open。loadavg_proc_open 接下来会调用 loadavg_proc_show 进行处理,核心的算是在这里成的。//file: fs/proc/loadavg.cstatic int loadavg_proc_show(struct seq_file *m, void *v){ unsigned long avnrun[3]; //获取平均负值 get_avenrun(avnrun, FIXED_1/200, 0); //打印输出平均载 seq_printf(m, "%lu.%02lu %lu.%02lu %lu.%02lu %ld/%d %d\n",  LOAD_INT(avnrun[0]), LOAD_FRAC(avnrun[0]),  LOAD_INT(avnrun[1]), LOAD_FRAC(avnrun[1]),  LOAD_INT(avnrun[2]), LOAD_FRAC(avnrun[2]),  nr_running(), nr_threads,  task_active_pid_ns(current)-last_pid); return 0;}在 loadavg_proc_show 函数中做了两件事。用 get_avenrun 读取当前负载值将平负载值按照定的格式打输出在上面源码中,大看到了 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的义,代码写这么猥琐是为内核中并有 float、double 等浮点数类型,而用整数来模的。这些代都是为了在数和小数之转化使的。道这个背景行了,不用度展开剖析这样用户通访问 /proc/ loadavg 文件就可以取到内核计的负载数据。其中获取 get_avenrun 只是在访问 avenrun 这个全局数组而已。//file:kernel/sched/core.cvoid get_avenrun(unsigned long *loads, unsigned long offset, int shift){ loads[0] = (avenrun[0] + offset)  shift; loads[1] = (avenrun[1] + offset)  shift; loads[2] = (avenrun[2] + offset)  shift;}现在可以总结下我们开篇的一个问题: 内核是如暴露负载数给应用层的内核定义了个伪文件 /proc/ loadavg,每当用户打开这个文的时候,内中的 loadavg_proc_show 函数就会被调用到接着访问 avenrun 全局数组变量 并将平均负载从整数化为小数,打印出来。了,另外一新问题又来,avenrun 全局数组变量中存的数据是何,又是被如计算出来的?二、内核负载的计算程接上小节我们继续查 avenrun 全局数组变量的数来源。这个组的计算过分为如下两:1.PerCPU 定期汇总瞬时负:定时刷新个 CPU 当前任务数 calc_load_tasks,将每个 CPU 的负载数据汇总起来,到系统当前瞬时负载。2.定时计算系统平均负载定时器根据前系统整体时负载,使指数加权移平均法(一高效计算平数的算法)算过去 1 分钟、过去 5 分钟、过去 15 分钟的平均负。接下来我分成两个小来分别介绍2.1 PerCPU 定期汇总负载 Linux 内核中,有一个子系统做时间子系。在时间子统里,初始了一个叫高辨率的定时。在该定时中会定时将个 CPU 上的负载数(running 进程数 + uninterruptible 进程数)汇总到系统全的瞬时负载量 calc_load_tasks 中。整体流如下图所示我们把上述程图展开看下,我们找了高分辨率时器的源码下://file:kernel/time/tick-sched.cvoid tick_setup_sched_timer(void){ //初始化高分辨率时器 sched_timer hrtimer_init(&ts-sched_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); //将定时器的到函数设置?tick_sched_timer ts-sched_timer.function = tick_sched_timer; }在高分辨率初始化的候,将到期数设置成了 tick_sched_timer。通过这个函数每个 CPU 都会周期性地执行一些务。其中刷当前系统负就是在这个机进行的。里有一点要意一个前提每个 CPU 都有自己独立的运行队,。我们根 tick_sched_timer 的源码进行踪,它依次过调用 tick_sched_handle => update_process_times => scheduler_tick。最终在 scheduler_tick 中会刷新当前 CPU 上的负载值到 calc_load_tasks 上。因为每个 CPU 都在定时刷,所以 calc_load_tasks 上记录的就是整个统的瞬时负值。我们来下负责刷新 scheduler_tick 这个核心函数://file:kernel/sched/core.cvoid scheduler_tick(void){ int cpu = smp_processor_id(); struct rq *rq = cpu_rq(cpu); update_cpu_load_active(rq); }在这个函数中,获取前 cpu 以及其对应运行队列 rq(run queue),调用 update_cpu_load_active 刷新当前 CPU 的负载数据全局数组中//file:kernel/sched/core.cstatic void update_cpu_load_active(struct rq *this_rq){  calc_load_account_active(this_rq);}//file:kernel/sched/core.cstatic void calc_load_account_active(struct rq *this_rq){ //获取当前运队列的负载对值 delta  = calc_load_fold_active(this_rq); if (delta)  //添加到全局瞬时载值  atomic_long_add(delta, &calc_load_tasks); }在 calc_load_account_active 中看到,通过 calc_load_fold_active 获取当前运行队列的负相对值,并它加到全局时负载值 calc_load_tasks 上。至此,calc_load_tasks 上就有了当系统当前时下的整体瞬负载总数了我们再展开看是如何根运行队列计负载值的://file:kernel/sched/core.cstatic long calc_load_fold_active(struct rq *this_rq){ long nr_active, delta = 0; // R 和 D 状态的用户 task nr_active = this_rq-nr_running; nr_active += (long) this_rq-nr_uninterruptible; // 只返回变化量 if (nr_active != this_rq-calc_load_active) {  delta = nr_active - this_rq-calc_load_active;  this_rq-calc_load_active = nr_active; } return delta;}哦,原来是同计算了 nr_running 和 nr_uninterruptible 两种状态的程的数量。应于用户空中的 R 和 D 两种状态的 task 数(进程 OR 线程)。由于 calc_load_tasks 是一个长期存在的据。所以在新 rq 里的进程数到上的时候,需要刷变化量就行,不全部重算。此上述函数回的是一个 delta。2.2 定时计算系统平负载上一小中我们找到系统当前瞬负载 calc_load_tasks 变量的更新过程。现在们还缺一个算过去 1 分钟、过去 5 分钟、过去 15 分钟平均负载机制。传统义上,我们计算平均数时候采取的法都是把过一段时间的字都加起来后平均一下把过去 N 个时间点的有瞬时负载加起来取一平均数不完了。这其实我们传统意上理解的平数,假如有 n 个数字,分别是 x1, x2, ..., xn。那么这个数据集合的均数就是 (x1 + x2 + ... + xn) / N。但是如果用种简单的算来计算平均载的话,存以下几个问:1.需要存储过去每一采样周期的据假设我们 10 毫秒都采集一次那么就需要用一个比较的数组将每次采样的数全部都存起,那么统计去 15 分钟的平均数得存 1500 个数据 (15 分钟 * 每分钟 100 次) 。而且每出现一个新观察值,就从移动平均减去一个最的观察值,加上一个最的观察值,存数组会频地修改和更。2.计算过程较为复杂算的时候再整个数组全起来,再除样本总数。然加法很简,但是成百千个数字的加仍然很是琐。3.不能准确表示当变化趋势传的平均数计过程中,所数字的权重一样的。但于平均负载种实时应用说,其实越近当前时刻数值权重应越要大一些好。因为这能更好反应期变化的趋。所以,在 Linux 里使用的并是我们所以的传统的平数的计算方,而是采用一种指数加移动平均(Exponential Weighted Moving Average,EMWA)的平均数计算法这种指数加移动平均数算法在深度习中有很广的应用。另股票市场里 EMA 均线也是使用是类似的方求均值的方。该算法的学表达式是a1 = a0 * factor + a * (1 - factor)。这个算法想解起来有点复杂,感兴的同学可以 Google 自行搜索。我们只需要道这种方法实际计算的候只需要上个时间的平数即可,不要保存所有时负载值。外就是越靠现在的时间权重越高,够很好地表近期变化趋。这其实也在时间子系中定时完成,通过一种做指数加权动平均计算方法,计算三个平均数我们来详细下上图中的行过程。时子系统将在钟中断中会册时钟中断处理函数为 timer_interrupt 。//file:arch/ia64/kernel/time.cvoid __inittime_init (void){ register_percpu_irq(IA64_TIMER_VECTOR, &timer_irqaction); ia64_init_itm();}static struct irqaction timer_irqaction = { .handler = timer_interrupt, .flags = IRQF_DISABLED | IRQF_IRQPOLL, .name =  "timer"};当每次时钟节拍来时会调用 timer_interrupt,依次会调用到 do_timer 函数。//file:kernel/time/timekeeping.cvoid do_timer(unsigned long ticks){   calc_global_load(ticks);}其中 calc_global_load 是平均负载计算的核心它会获取系当前瞬时负值 calc_load_tasks,然后来计算去 1 分钟、过去 5 分钟、过去 15 分钟的平均负载,保存到 avenrun 中,供用户程读取。//file:kernel/sched/core.cvoid calc_global_load(unsigned long ticks){  // 1获取当前瞬时负载值 active = atomic_long_read(&calc_load_tasks); // 2平均负载的算 avenrun[0] = calc_load(avenrun[0], EXP_1, active); avenrun[1] = calc_load(avenrun[1], EXP_5, active); avenrun[2] = calc_load(avenrun[2], EXP_15, active); }获取瞬时负载比较简单就是读取一内存变量而。在 calc_load 中就是采用了我们前启的指数加权动平均法来算过去 1 分钟、过去 5 分钟、过去 15 分钟的平均负的。具体实的代码如下//file:kernel/sched/core.c/* * a1 = a0 * e + a * (1 - e) */static unsigned longcalc_load(unsigned long load, unsigned long exp, unsigned long active){ load *= exp; load += active * (FIXED_1 - exp); load += 1UL << (FSHIFT - 1); return load >> FSHIFT;}虽然这个算法理起来挺复杂但是代码看来确实要简不少,计算看起来很少而且看不懂没有关系,需要知道内并不是采用原始的平均计算方法,是采用了一计算快,且更好表达变趋势的算法行。至此,们开篇提到“负载是如计算出来的?”这个问题有结论了。Linux 定时将每个 CPU 上的运行队列中 running 和 uninterruptible 的状态的进程数量汇凤鸟一个全局系瞬时负载值,然后再定使用指数加移动平均法统计过去 1 分钟、过去 5 分钟、过去 15 分钟的平均载。三、平负载和 CPU 消耗的关系现在很多学都将平均载和 CPU 给联系到了一起。认为载高、CPU 消耗就会高,负载低,CPU 消耗就会低。在很的 Linux 的版本里,统计负载时候确实是计算了 runnable 的任务数量,这些进程对 CPU 有需求。在个年代里,载和 CPU 消耗量确实是正相关的负载越高就示正在 CPU 上运行,或等待 CPU 执行的进程越多,CPU 消耗量也会越高。但前面我们看了,本文使的 3.10 版本的 Linux 负载平均数不跟踪 runnable 的任务,而还跟踪处于 uninterruptible sleep 状态的任务。而 uninterruptible 状态的进程其实不占 CPU 的。所以说,负载高并一定是 CPU 处理不过来,也有可会是因为磁等其他资源度不过来而得进程进入 uninterruptible 状态的进程导致!为什么要么修改。我网上搜到了在 1993 年的一封邮件里找到了因,以下是件原文。From: Matthias Urlichs Subject: Load average broken ?Date: Fri, 29 Oct 1993 11:37:23 +0200  The kernel only counts "runnable" processes when computing the load average.I don't like that; the problem is that processes which are swing orwaiting on "fast", i.e. noninterruptible, I/O, also consume resources. It seems somewhat nonintuitive that the load average goes down when youreplace your fast swap disk with a slow swap disk... Anyway, the following patch seems to make the load average much moreconsistent WRT the subjective speed of the system. And, most important, theload is still zero when nobody is doing anything. ;-)--- kernel/sched.c.orig Fri Oct 29 10:31:11 1993+++ kernel/sched.c  Fri Oct 29 10:32:51 1993@@ -414,7 +414,9 @@    unsigned long nr = 0;     for(p = &LAST_TASK; p > &FIRST_TASK; --p)-       if (*p && (*p)->state == TASK_RUNNING)+    ? if (*p && ((*p)->state == TASK_RUNNING) ||+        ?    ?  (*p)->state == TASK_UNINTERRUPTIBLE) ||+    ?    ?    ?(*p)->state == TASK_SWING))       ?   nr += FIXED_1;    return nr; }可见这个修改是在 1993 年就引入了。这封邮件所的 Linux 源码变化中可以看到负载正式把 TASK_UNINTERRUPTIBLE 和 TASK_SWAPPING 状态(交换状态后来从 Linux 中删除)的程也给添加进来。在这邮件中的正中,作者也楚地表达了什么要把 TASK_UNINTERRUPTIBLE 状态的进程添加进来原因。我把的说明翻译下,如下:内核在计算均负载时只算“可运行进程。我不欢那样;问是正在“快”交换或等的进程,即可中断的 I / O,也会消耗资源当您用慢速换磁盘替换速交换磁盘,平均负载降似乎有点直观...... 无论如何,下面的丁似乎使负平均值更加致 WRT 系统的主观度。而且,重要的是,没有人做任事情时,负仍然为零。;-)”这一补丁提交者的要思想是平负载应该表对系统所有源的需求情,而不应该表现对 CPU 资源的需求。假设某 TASK_UNINTERRUPTIBLE 状态的进程因为待磁盘 IO 而排队的话,此时它并消耗 CPU,但是正在磁盘等硬件源。那么它应该体现在均负载的计里的。所以者把 TASK_UNINTERRUPTIBLE 状态的进程表现到平均载里了。所,负载高低明的是当前统上对系统源整体需求情况。如果载变高,可是 CPU 资源不够了也可能是磁 IO 资源不够了,所还需要配合它观测命令体分情况分。四、总结天我带大家入地学习了下 Linux 中的负载。我们根据幅图来总结下今天学到内容。我把载工作原理成了如下三。1.内核定时汇总每 CPU 负载到系统瞬时负2.内核使用指数加权移平均快速计过去 1、5、15 分钟的平均数3.用户进程通打开 loadavg 读取内核中的均负载我们回头来总结下开篇提到几个问题。1.负载是如何计算出来的?是定时将每 CPU 上的运行队列 running 和 uninterruptible 的状态的进程数量总到一个全系统瞬时负值中,然后定时使用指加权移动平法来统计过 1 分钟、过去 5 分钟、过去 15 分钟的平均负载。2.负载高低和 CPU 消耗正相关吗?载高低表明是当前系统对系统资源体需求更情。如果负载高,可能是 CPU 资源不够了,也能是磁盘 IO 资源不够了。所以不说看着负载高,就觉得 CPU 资源不够用了3.内核是如何暴露负载据给应用层?内核定义一个伪文件 /proc/ loadavg,每当用户打开这个件的时候,核中的 loadavg_proc_show 函数就会被调用,该函数中问 avenrun 全局数组变量,将平均负载整数转化为数,然后打出来?

如今的“青椒”,更容易早逝吗?

IT之家 6 月 22 日,移动互联网时代我们离不开的就是各种 App,他们也构成了如今智能机日常体验的关键环节。么问题来了,大家平时在卓手机里都是通过什么渠下载安装这些 App 的呢?今天IT之家不妨做个投票调查。大家帝俊票前有些地方需要注意,首先这投票针对的是大家日常使的安卓手机(或平板),次,调查针对的是目前駮分消费者都可能会使用的流 App,比如《微信》、《支付宝羬羊、《QQ》等等,特别小众的软件,比存储速度测试工具类软件这些可忽略。欢迎大家根自己的日常使用习惯参与票。document.write(""+"ipt>");document.getElementById("vote2111").innerHTML = voteStr;

如今的“青椒”,更容易早逝吗?

感谢IT之家网友 sonho 的线索投递!IT之家 1 月 15 日消息,据国资委站,由中国子能工业有公司研发生的锗同位素料实现自主、批量化供,顺利交付华大学。该目产品的成交付,标志中核集团突国外垄断,次实现富集同位素材料量化生产并该类材料领实现国际领。清华大学接并推进建的国家重大深地科研”目 ——“极深地下极低射本底前沿理实验设施,将为国家展暗物质探等重大基础沿科学研究解决世界物学领域最为大的前沿科问题提供深实验平台。丰度、高纯锗探测器的制是该项目施建设的重核心技术内,而其所需心材料,即集锗同位素期受制于国供应商。据绍,中核集在锗同位素域的成功研和批量化生,彻底解决项目关键材国产化供应并为后续进步拓展深地验研究规模深度提供坚保障,也为续其他锗同素在电子半体、红外透等领域拓宽用打下坚实础。IT之家了解到,作中核集团关技术产业延,各类稳定位素产品的发是中国原能“十四五时期重点发的业务领域此次产品的功交付,满了我国高端研项目的研需求,解决关键技术和料“卡脖子问题,项目行后,中核团将跻身成全球主要的同位素材料产供应商?

如今的“青椒”,更容易早逝吗?

IT之家 1 月 15 日消息,耕升(Gainward)成为首家官方确认 AD103 新衍生版的公司。耕升表英伟达即将推出 AD103-301 GPU,对于普通消费者来说性方面差别并不大,但帮 PCB 合作伙伴降低成本。上周出现了 XX0 / XX1 GPU 衍生版的相关谣传,并提供号山 RTX 4070 非 Ti 版本的一些规格。英伟达已经通 PCB 合作伙伴,该 SKU 会有两个 GPU 版本。IT之家了解到,耕升表示 RTX 4080 后续型号会有 AD103-300 和 AD103-301 GPU,两者在性能和功能方面基本相同,是通过调整 PCB 的设计可以帮助企业降低本。耕升确认这两种变具有相同的时钟、TDP 和 GPU 配置。此外,该公司没有发布现显卡的新版本(例如 LHR 型号),这意味着 AD103-300 和 301 本质上是相同的 GPU。

如今的“青椒”,更容易早逝吗?

感谢IT之家网友 华南吴彦祖 的线索投!IT之家 1 月 15 日消息,海盗正计划推一系列新电源产品名为 RMx Shift。爆料者 @Momomo_us 现放出了一些品的渲染并给出了 Corsair RMx Shift 系列电源的初规格。正命名中的 Shift 所示,该电源最大特色便是原本位于部的电源口挪到了源的侧面这也解决下很多用所面临的大痛点,就是在空有限的机里无法做走线美观问题,因这种机箱部电源仓 3.5 英寸硬盘位置过于近,所以你装上电后会有大线聚束在盘仓中。某些情况,将模块线材 / 连接器置电源侧面以缓解此问题。因,这种电将会使系整体更加洁和条理当安装在型中塔机内时,Corsair RMx Shift PSU 可以使其有模块化材指向机右侧面板而用户通会在此处藏走线(板后部)但主板和箱的右面之间通常有太多空,因此这电源预计采用直角构,应该需要搭配盗船刚刚出的 Type 5 Gen 1 micro-fit modular Cables 线材使用。该冰夷列会包含三型号,分为 RM1200x Shift,1000W 的 RM1000x Shift 以及 RM850x Shift,对应额定功为 1200W、1000W 和 850W。IT之家发现,这电源都通了英特尔 ATX 3.0 认证和 80PLUS 金牌认证,具体规格不详。它采用的是新的美商盗船 Type 5 Gen 1 型接口,其中麈括 24PIN 的主板供电,一对 4+4 PIN 的 CPU 供电,16PIN 的 12VHPWR 显卡供电,六 6+2 PIN 的 PCIe 供电,以及若干个 SATA 供电?

如今的“青椒”,更容易早逝吗?

IT之家 12 月 29 日消息,720 健康科技携手华为智选期共同推出华为选 720 智能空气净化器 3s,支持净化空气除菌、除病毒气胶、空气质量实监测、智能操控人性化设计等于身。现在这款智空气净化器 3s 正式开售,首发价 1299 元。华为智选 720 智能空气净化器 3s 具有八重净化功效,除装有初步防护的网及 H13 级别 HEPA 滤材之外,还针对境内其他污染物计了不同的防范施,对 20 多种空气污染物的除率高达 99%。720 智能空气净化器 3s 内置三大传感科:PM2.5 传感检测、TVOC 传感检测、温湿度传感检测,实监测、显示室内 PM2.5、TVOC 等级,并根据综合空气质量动变化三色氛围,全面反馈室内气质量。搭载全一体化屏幕交互集成多颗功能按。IT之家获悉,720 智能空气净化器 3s 可以根据室内实时测的 PM2.5 数值和 TVOC,让净化器根据空气质量自动净或待机。在自动节的节能模式下可延长滤芯 20%~30% 寿命,经久耐用,日花费成本低至 0.8 元。华为智选 720 智能空气净化器 3s 搭载 HarmonyOS Connect 一碰连标签,实现碰碰快速配网,秒连接设备。用户以通过华为智慧活 App 设置功能、净化器开、推荐模式设置推荐模式切换、动模式设置、童开关、滤芯复位服务功能。此外用户还可以使用音向它发放指令通过使用小艺语助手声控,说句就能够让华为智 720 智能空气净化器 3s 完成各种复杂操。华为智选 720 智能空气净化器 3s 采用圆润机身设计,时简约,还能够预家人磕碰;童锁护,避免儿童误作;静音万向轮想往哪移就往哪移。京东华为智 720 智能空气净化器 3s 除甲醛除异味除气污染物 8 重全效智能疾速净 节能省芯 雅致白 1299 元直达链?

如今的“青椒”,更容易早逝吗?

IT之家 12 月 30 日消息,在 siduction 2021.3 “Wintersky” 发布 1 年后,基于 Debian 的 siduction 2022.1 Linux 发行版于今天发布。新版本内部代号“Masters of War”(战争大师),文子载 Linux 6.1.1 内核。LXQt 1.2KDE Plasma 5.26.4Xfce 4.18siduction 2022.1 Linux 发行版共有 KDE Plasma 5.26.4、Xfce 4.18 和 LXQt 1.2 三张桌面环境,感兴趣的用可以根据自己的需柄山进行载。在官方支持文档中写:“了解我们的人都知道们曾经习惯使用摇橐山歌曲命名版本,而现在我们将归这种方式。siduction 2022.1 Linux 则追溯到鲍勃・迪伦(Bob Dylan)在 1962 年推出的的一首同名歌曲”玄鸟IT之家了解到,siduction 2022.1 Linux 发行版的新功能包括为基于 Debian 的 apt 软件包管理器启用 Nala 前端,使用 Btrfs 文件系统安装 siduction 时用于处理系统快照的 Snapper 工具,以及 live image 中的 chroot-helper 工具,使你在系统黑蛇现故障时更容易 chroot 到现有的 siduction 安装。下载:Download siduction 2022.1 KDE PlasmaDownload siduction 2022.1 XfceDownload siduction 2022.1 LXQt

如今的“青椒”,更容易早逝吗?

原文标题:《哪位 Excel 高人琢磨出的这个数据整理技巧厘山太有了!》小 E 做了一场「直播惊喜活动」,结后有许多快递需要发。了节约物流成本,他信满满的跟老板说:可以相同订单数据汇总合并,一起发货。老板一听决定全程交由他搞。这好了,可怜的小 E 不仅要搞数据,还要打包堆快递,非常的头疼。之前的文章,我们给大分享了函数和方方格子件法。今天,小爽就九歌大家介绍一下其他的方,看看利用 PQ,我们是如何解决这个问题的PS:PowerQuery (简称 PQ),是 Excel 2016 及以上版本自带的插件,M 函数是 PQ 中的函数叫法。由于存同个信息有多笔订单数的情况,为了简化问题难度,方便大家理解,们先制作一个汇总辅助。温馨提示:PQ 的做法,需要涉及到几茈鱼基的 M 函数,不过也不难~分组依据使用 PQ,自然是需要先将数据导入到 PQ 编辑器里面啦!选中辅助表的阴山区域,在【数据】选项下,单击【来自表格 / 区域】,单击【确定】按耿山。进入到 PQ 编辑器后,下一步,就是进行分组啦。PQ 中的分组问题,我们用到的分组依据功能~👉 何为分组依据?分组依据的能,有点像数据透视举父对指定字段数据进行筛统计。它可以指定多个段作为条件,也可以同统计多个结果。分组依可以支持的统计方式包:求和,平均值、最小,非重复行计数和所有。知识点补充完毕,大跟着我来看看操作~选中需要分组的列,也就是们的姓名和手机列,在转换】选项卡下单击【组依据】。出现分组依对话框。新列名:发章山量操作:所有行这个时,我们可以看到表格按姓名和手机号分组后,了一个发货数量列。发数量列中每一行的 Table 里面就包含了当前行大鵹选后的表格数据按行合并分组后的类女薎 type 后面的内容对全局不影响,为淑士代码洁性可以删掉。删掉后公式更简洁~=Table.Group源,{"姓名","手机号"},{{"发货数量",each_}})each_中的下划线就代表每一中的筛选后的表的数据紧接着,如下图所示,们需要把分组后发货数这一列里面,筛选后的据表中的产品名称和汇个数用星号 (*) 一一进行合并。如下图:=Table.Group源,{"姓名","手机号"},{{"发货数量",eachTable.ToList(_,(x)=x{2}&"*"&Text.From(x{3}))}})Table.ToList(_,(x)=x{2}&"*"&Text.From(x{3}))Table.ToList 函数主要是将表中每一的产品名称和汇总个数行处理。其中,产品名在每一行索引中的第 2 个;汇总个数在每一行索引般的第 3 个。👉 Table.ToList 函数是?Table,是表的意思,ToList,是转换列表的意思。这个函数就炎融用来理每一行数据的。Table.ToList 有两个参数:=Table.ToList表,(x)=x)x 代表每一行形成的列表小 Tip:上面我加大了一点长乘难,其实我们也可以事先辅助表中先把产品名称汇总个数进行合并了雷神样大家应该更容易理解将辅助表导入分组后,接取合并的列就可以了列表合并最后一步,就将合并后的产品名称和总个数,整个列表用分符合并起来。在原先的础上,需要利用 Text.Combine 函数将 list 用逗号进行合并。👉 Text.Combine 函数是?Text,是文本的意思,Combine,是结合的意思。这句芒函就是用来文本连接的!Text.Combie 有两个参数:=Text,Combie文本序列分隔符案例中,加一个 Text.Combie:=Table.Group源,{"姓名","手机号"},{{"发货数量",eachText.Combine(Table.ToList(_,(x)=x{2}&"*"&Text.From(x{3})),",")}})如果有做合并列的辅助表。=Table.Group源,{"姓名","手机号"},{{"发货数量",eachText.Combine([合并],",")}})到这里就搞定啦~如果不想要有辅助表的做法,就需要两分组,思路跟前面是一的,就是多加了个 Table.Group 分组,学有余力的小伙伴以试试。let源=Excel.CurrentWorkbook(){【Name="表 1"】}【Content】,分组的行=Table.Group源,{"姓名","手机号"},{{"发货数量",eachText.Combine(Table.ToList(Table.Group_,{"产品名称"},{{"a",(x)=Text.From(List.Sum(x【商品数量】)}}),(y)=y{0}&"*"&y{1}),";")}})in分组的行最后的话本文主要讲了「如何用 PQ 解决复杂合并同类项」的问,为了简化问题,文中作了一个辅助表。其中及以下知识点:❶ 分组依据,能够将多字段进汇总合并统计,如果想返回所有行,在操作中所有行就可以了。❷ Table.ToLIst 可以对表中每一行数据进行进一玃如操作。❸ Text.Combine 主要就是通过指定分隔符卑山并列表。本文来自信公众号:秋叶 Excel (ID:excel100),作者:小䲢鱼

责任编辑: 张鹤诗

热点新闻

      <code id='5aa5a'></code><style id='7fdd4'></style>
      • <acronym id='b3d96'></acronym>
        <center id='2275b'><center id='1df8d'><tfoot id='153bc'></tfoot></center><abbr id='9c345'><dir id='8a064'><tfoot id='09643'></tfoot><noframes id='8bdb4'>

      • <optgroup id='921b7'><strike id='58c42'><sup id='853da'></sup></strike><code id='80cca'></code></optgroup>
          1. <b id='ad125'><label id='c1bc2'><select id='aec12'><dt id='b0899'><span id='7b467'></span></dt></select></label></b><u id='9de84'></u>
            <i id='da21f'><strike id='ad979'><tt id='5353a'><pre id='ff79e'></pre></tt></strike></i>

            精彩推荐

            加载更多……

                <code id='ddd26'></code><style id='810d1'></style>
              • <acronym id='f6ce1'></acronym>
                <center id='ce82a'><center id='2bb57'><tfoot id='87b12'></tfoot></center><abbr id='343e5'><dir id='af7e4'><tfoot id='49c25'></tfoot><noframes id='69ec5'>

              • <optgroup id='a4cc8'><strike id='27db1'><sup id='7e7d7'></sup></strike><code id='9c493'></code></optgroup>
                  1. <b id='ba62d'><label id='30a9c'><select id='76245'><dt id='f7f6f'><span id='8a8d3'></span></dt></select></label></b><u id='62b7a'></u>
                    <i id='05548'><strike id='92630'><tt id='0f276'><pre id='5d444'></pre></tt></strike></i>

                    Baidu
                    map