2024-05
11

手机浏览器的种种烦恼

By xrspook @ 9:00:23 归类于: 烂日记

说了两天的Power Query方案不完美,大概就那些了。今天来说一下级联下拉菜单网站的不完美。

就功能来说,实际上都已经能实现了,但关键是有些部分好像,我无论如何控制不了,就电脑的展示效果来说,没什么好纠结的,但是手机的展示效果,却让人觉得好像总差那么一点点。

首先让我烦恼是在不同浏览器之下,搜索输入框会自动对焦。在小米自带的浏览器之下,不知道为什么那个下拉的选择框会变窄。firefox手机浏览器之下,整个页面变大,无论我怎么调节网页的字体大小都没办法阻止 firefox手机浏览器的这个自动变大。最后发现,原来这是手机浏览器的臭毛病,他们觉得输入时字体太小,你看不清,所以要自动变大,但自动变大会让网页的展示效果发生扭曲,变大了以后,当我不再聚焦在那个输入框,不会自动把网页缩小,这就让人很头痛。小米自带浏览器之下,当你的焦点不在那个搜索框的时候,下拉菜单的宽度又正常了。虽然这两个测试的浏览器实际上都不会影响最终的结果,你要查找的东西最终还是能看到,但关键是非常影响用户的使用体验。如果是小米自带的浏览器,感觉虽然丑一些,但还是能够做到,但如果是遇到firefox手机浏览器,你必须用双指把网页缩小,这就让人觉得很麻烦,而且缩小了以后,当我再次点击搜索框,还是会变大,简直可以把这个东西称之为恶心。

在我发现这个是手机浏览器的臭毛病以后,我就直接在meta那里加入了禁止缩放的命令。搜索框聚焦会让网页放大缩小的问题彻底解决了,但这里只能说在安卓手机之下彻底解决了,至于苹果会不会有这种臭毛病,不知道。因为我手边没有可以用来测试的苹果设备。根据单位会计的反映,使用苹果手机的人比例不算太多。虽然我不知道她说的这个比例是怎么算出来的。因为单位的人用苹果手机的比例跟经常报销的人用苹果手机的比例可能是两个完全不一样的数字。但也可以换个角度考虑,那些用苹果手机的人如果手机体验感真的很差,那么就请他们在电脑上完成这个查询的步骤。毕竟需要经常报销的人通常不可能长期不接触办公室的电脑。

解决网页放大缩小的问题后,另外一个烦恼又涌出来了,理论上那是一个下拉菜单,但实际上不知道为什么,有时手机会弹出一个上拉菜单。如果上拉菜单完全没有问题也可以说得过去,关键是上拉菜单有时会出现一些格式上的异常,为什么明明是下拉菜单就变成了上拉菜单呢?据说这是select2插件的一个自动判断,当它觉得下面空间不足的时候,就会采用上拉菜单。这种情况通常发生在我要下拉一个菜单,那个菜单刚好是有搜索功能的,当那个菜单打开以后,手机会自动弹出输入法,所以这就意味着手机屏幕的高度突然间没有了1/3或以上,于是不知道为什么,网页就判断下面的空间不足,把那个东西变成上拉。有些时候,你明明知道下面的空间足够,但因为之前几回都是上拉,所以这一次有空间,也不下拉,要展示为上拉。我个人觉得挺反人类。电脑上没有发生过这种问题,但在手机浏览器上,却说不准什么时候会出现这种状况。理论上我要做的就是强制把菜单限定为只能下拉,但实际上好像插件又没有一个明确的控制方法让我轻易做到这个。

目标是明确的,道路是曲折的。

2024-05
10

进一步加权平均

By xrspook @ 10:06:46 归类于: 烂日记

之前说到了Power Query方案不完美,第2天我又更进了一步,真的老老实实做了两层加权平均。效果挺稳定,比之前那个还稳定,因为之前那个方案查询数据是跨表的方式获取,PQ可以跨表查询数据,但在数据转换的时候,可能会遇到一些问题,导致刷新通过不了,于是你得重新刷新,如果你的表格很多,会让你非常的烦恼。我这一次,我采用的方案是用VBA跨表抓取数据,相对于PQ的跨表来说,VBA的跨表更稳定。在不进行文本拼接的前提下,我对VBA里的SQL操作感觉是要比PQ熟练一些。 VBA抓取的数据很快,不会有卡顿的烦恼,除非VBA直接卡死了。VBA卡死的解决方案就是重新拿出之前备份好的那个重新刷。又或者是卡死了之后再弹出Excel,然后你选择把那个东西恢复,这两种通常都能解决问题。如果依然卡死,那么估计你就得重启电脑了,如果重启电脑还是不行,那就换一台电脑吧。前几个月基本上我每天又或者是每隔几天就会遇到VBA卡死,但近段时间又好像没有再遇到,我严重怀疑这跟win10的系统更新有关,尤其是框架的更新。

用VBA抓取数据,然后把那复制到要进行PQ处理的工作簿里,把需要手工填写的东西补上去,然后PQ就可以很快乐地在工作簿内弯曲折叠生成我想要的样式。如果说有什么事让我觉得我非得在PQ里而不想用VBA解决的,大概就只有文本拼接。在PQ、Python又或者真正的SQL里进行文本拼接都是很大路的货色,但是在Excel的SQL里,你就是没有一个很方便的方式实现,你只能把它输出到数组,然后再折腾半天。老领导要求的表格里,总少不了文本拼接。有可能是拼仓号的,有可能是拼品种的,有可能是拼客户的,也有可能是拼各种组合的。如果要拼这么多的东西,我首先想到的就是在PQ里做一个分组。PQ也是一个很神奇的存在,分组的时候就没有办法给我选择文本聚合,其实文本的聚合的方式就是文本拼接。所以每次你都是得随便选一个求和,然后在高级编辑器里面把求和改成文本拼接。

PQ经常让我绕来绕去绕不出去的还有if的使用。在其它编程语言下,括号逗号解决问题,但是M语言里if这些东西都没有。所以当我用常规的思路去进行我的条件设定的时候怎么都不对,最后我不得不使用自动生成的方式,接着才发现原来自己语法错误。

在PQ里使用加权平均,思路来说很简单,就是数量乘以单价求和后再除以数量之和。如果要分步操作,在分组之前要算出一个总价,分组以后在高级编辑器里面修改公式,用总价除以总数量,但实际上也有不需要分两步的方式,但是需要用到list.zip。其实我对PQ并不算太熟悉,在没有查找加权平均的方案之前,我试过用公式套叠,结果发现不行,在list.sum里面选择两个列,然后相乘实际上是不可以的。list.zip那种方式,让我想起了Python里面的元组操作。要完全搞懂PQ,学习成本非常高,他们的各种玩法套叠简直是到了那种让人眼花缭乱的程度,当然,其实Power Pivot,也就是DAX语言要玩得高深,同样很烧脑。对我这种初级玩家,主要是用来拼接文本的人来说,基本功能能顺利实现也就可以了。最终生成的数据,有一些地方肯定用了加权平均,我手动校核了一下,发现很OK,没有问题,但是我还没有测试过一种先单仓做平均,然后再多仓做平均的数据。这种数据肯定会有,但是今年的前几个月未必一定发生过。

手上的工具多了,用的时候得想想用那个最合适,又或者,联合使用也是个妙招。

2024-05
9

为什么非得堆一起?!

By xrspook @ 8:51:39 归类于: 烂日记

花了一个上午的时间,让某个Power Query的查询更进一步,花了一个下午的时间修改级联下拉网站的一些格式问题。无论是哪一个,我总感觉都不够完美。

Power Query的查询,之所以我感觉不完美,倒不是因为我的数据有什么问题,我或者我的解决方案有哪里不妥,而是需要我们填写这一张报表的人,脑子不知道想不知到底是什么。那是一张信息高度集中的报表,但为什么要把那么多信息在一张表上反映呢?里面要有每天的进出数据可以理解,要有每天的库存数据,也可以理解,因为期初库存加上进出的数据,就可以得出每天的库存。每天的库存是有要求的,必须得表达出来,这个可以理解,每天的进出数据具体来自于哪里,要把那写明白,这也可以理解,但是在2024年7月1日即将实施的某个规定里,要把采购价格也写进去,这个我就很不理解。采购价格跟这些进出有什么关系吗?又或者说任何一笔进出数据,一定就能轻易关联到采购价格吗?如果每天变化的只是一个仓,设定表格的人难道觉得采购价格就应该是一个固定值?实际上某天某个仓按照不同的合同,实际上可能有多个采购价格,那个仓严格来说,我是不是要做一个加权平均?某天多个仓发生了变动,有进的也有出的,进的那些仓一个仓有多个采购价格,出的那些仓,哪怕我已经不按先进先出或者价高先出之类的规则,直接把那统一为一个均价,这也意味着存在着很多采购价格。采购价格这个东西,完全没办法从原始凭证里面得到,每天某个品种要填写进出数量,但是涉及仓号那里,进出都填在一起,采购价格那里如果有多个价格就取一个均价,但是这个均价该如何取舍呢?单仓先做一个均价,然后每个仓房按照数量跟价格再做一个加权平均吗?最后出来的那个采购价格代表了什么?算出那个数很不容易,但是算出了那个数,又能怎么着呢?那不代表任何东西。做出那个是完全没有意义的,为什么非得把那个数给算出来呢?硬是要把那个数算出来以后,最终会导致这张报表采购价格那个地方出来的东西是个四不像,用什么资料去验证?其它数据都是确切可以算明白的,但那个地方的数据却只是一个大概差不多的玩意。不知道这么脑残的决定到底是谁做的。想出这么个招的时候,居然没有人去否定他。如果有一天,信息化程度真的可以实现把报表要求的数据都自动的算出来,我举双手双脚赞成,但是还是那句话,加权再加权得到的平均采购价格到底有什么用?又或者对普通人来说,对正常的人来说,根本没办法做那么仔细的加权平均,所以最终我的暴力解决方式是首先算出那个月变动的仓房有哪些,然后指定那些仓房的采购价格,每天有多少个变动仓房就直接把那些仓房的采购价格算术平均。

工作的时间越久,越让我深切地体会到:上面不正常,会让你憋死;下面不正常,会让你气死,横竖都是死。

2024-05
8

不可拆卸的风扇

By xrspook @ 8:59:32 归类于: 烂日记

不知道从什么时候开始,电风扇的罩子,慢慢地都变成了塑料的。可能这样的加工成本更低,但清洗的时候非常不方便,尤其是当这些塑料用的是磨砂材质的时候。我不知道那些塑料的模具到底是怎么被设计出来的。因为清洗的时候,你会发现有些地方真的是卫生死角,你用尽一切办法都洗不干净,最终我只好拿出自己的电动牙刷以及水牙线,对着那些我实在没办法清理得到的地方发起进攻,但即便那样,一个风扇罩子那么大,我怎么可能每个犄角旮旯都这般处理?设计这些风扇罩子的人,是不是从来都不清理风扇?难道他们觉得按照网上教程的那样,喷上一点醋跟小苏打的混合体,再加一点洗洁精,然后套个罩子开风扇,风扇就可以自己清理干净吗?风扇不可拆洗,这就让一个电器从可以使用多年的东西变成了一个一次性的玩具。如果使用的那个地方灰尘还很大,那么可能这个玩具只能支撑一两个月,然后就到达那种,你无法忍受的肮脏状态,但因为你不想洗,你也不知道该怎么洗,所以是不是意味着然后你得买一个新的电风扇。

我是一个很抠门的人,所以除非风扇的电机坏了,又或者是按钮按了很多年实在没办法控制了,我才会把风扇换掉。电机坏了通常意味着你得开很大的档位才能出一点点风。异响跟出风量不成正比。又或者已经到达了那种不用外力干扰那个风扇叶根本转不起来的状态。如果风扇到达那种程度,我会直接放弃,但从一个正常的风扇到那种状况,如果那个风扇质量是靠谱的,起码5年以上才会那样。在那5年里,可能每几个月或者半年就得把风扇拆洗。

以前铁网的风扇拆洗很简单,只要把罩子拿下来。因为罩子的铁都是经过浸塑处理的,灰尘基本上不会顽固地粘在上面,所以泡在水里,拿个毛巾随便擦两下风扇的罩子就干净了,风扇的罩子无论是前罩还是后罩都能拆下来,扇叶也能拆下来,简而言之的就是最容易积灰尘的部位都可以轻松地拆下来完成清理。现在的风扇显然不是那么回事,首先是因为即便可以拆下来,那些塑料的罩子也很难清洗。上一次清洗家里的那个格力落地扇的罩子,我用的是一个大盆,把罩子都放在盆里用水泡着,然后倒了一些洗洗衣机的固体,热水发泡,然后拿个牙刷,让那两个罩子在盆里转动起来。过一段时间就转一下,其余时间就让它慢慢地浸泡。最后那些犄角旮旯都被清理干净了,但真的是很费事。一年干一次还能接受,两个月就得干一次会把人逼疯。那是一个落地扇,虽然前后罩子都能拆下来,但是很难洗,现在更多的是循环扇,属于前盖子跟扇叶可以拆,但后盖子是拆不下来的类型。宿舍正在用的那个风扇就是循环扇类型的,我研究了半天,依然没找到可以把后盖子拆下来的方案,只能把前罩子拆下来,扇叶用抹布擦干净。虽然说相对于前盖来说后盖不怎么容易积灰尘,但是使用时间长了,还是会有灰尘。要一条一条的用抹布去清理后盖子,显然非常麻烦。

为什么老式可以拆卸的风扇用了那么多年相安无事,现在要开发这些不可拆卸的风扇呢?大概设计风扇的人想钱想疯了吧。

2024-05
7

强迫症

By xrspook @ 8:42:34 归类于: 烂日记

不知道从什么时候开始,我有了强迫症。有些事情如果不能马上就去做,会一直憋在心里,于是无论做什么事,心里总有个疙瘩。那些让我牵挂在心的事情,有可能我可以快速搞定,也有可能是一个无底洞,解决可能要挺长一段时间,但是我就是觉得那个东西憋在心里让我做其他事情的时候都没办法真正静下心来。我不知道这个臭毛病到底是怎么形成的。有可能是因为有时太闲了,所以当某个任务到来的时候,我会变得特别的紧张,特别的在乎,于是往后的事情变得一发不可收拾。

如果某些事情光是我一个人就能解决的话。有时我会忍不住,放下手头上的东西,又或者是在我休息的时候,我直接就开干了。因为与其忍着不去做,还不如直接痛快一点,但是更多时候,那些事情不由我说了算。因为别人没完成,导致我无法开展,在这种情况下,我会变得更加焦虑。比如我明明知道单位的作业结束了,但是需要报数的人还没把数报出来,我没办法结束我的工作,我就会像热锅上的蚂蚁。我不知道其他人是如何放下这个心,去做他们的事的。当别人把数报出来以后,再出发的环节,完成核对,结束我的工作。等待的时候,我会一直盯着电脑。哪怕不是盯着电脑,哪怕我正在拿这个平板看电视,实际上我依然没办法把注意力放在平板电脑上。

4月30日下午快下班的时候好像某个仓已经出仓完毕,有一些数要做损损耗,但问了半天,另外一个科室的人叫我等,等了两个多小时,都没等出结果。最后我实在忍不住了,必须得问清要不要做损耗?因为那是一个月末日,有数跟没数完全是两回事。当我终于问清了那个仓要做损耗以后,结果发现单位的另外一个统计好像已经把那个仓的损耗做了,但关键是在坚果云上,她打开了一个文件没有正常关闭就关电脑走人了。文件没有正常关闭,又或者是正常关闭后,坚果云还没有完全运行到位,她就把电脑关了,最终的结果就是那个文件会处在一个锁定的状态,其他人只能读取,无法编辑。这是一个不经意间就会犯下的错误,以前这种错误出现的几率不高,但现在我发现坚果云完成同步需要的时间比以前长,所以如果那是一个比较大的文件,你在正常关闭程序以后,还得等待一段时间,让坚果云完成检测。我知道我的同事是一个粗心大意的人,他可能知道这种事情得等,但实际上当他做那个事情的时候,她非常有可能又忘记了。如果是其他人,我可能觉得他们不知道坚果云的这个规则,但我的那个同事,我知道她一定知道这个规则,但是她还是会这样粗心大意,而且还在月末这个关键的时刻,犯下这种错误。我什么都不能做,只能等待她重新开启她最后打开那个文件的电脑,然后让坚果云完成同步,文件才能解除锁定。如果她真没办法在那一天打开那台电脑,完成坚果云的同步,其实我也有想过我可以怎么做。我只能复制那个文件。然后退出坚果云用新的文件覆盖旧文件,接着再次打开坚果云,我不确定这样暴力操作到底能不能成功。因为我的一堆VBA查询都那个文件名有关。那个文件只能读取,不能修改,对我的影响很大,因为五一假期那个文件是必然要被修改了。犯下错误很简单,但是要弥补这个错误很不简单。因为我知道坚果云有这么一出,所以每次当我退出要关电脑之前,我都会一再的确认坚果云是否已经同步完毕。如果是我家的电脑,直接叫我妈重新开机就可以。如果是我办公室的电脑,随便找个人开机,哪怕我是在外面,我也可以通过远程的方式登录,然后让坚果云完成同步,前提是我手边有可以VPN到单位的笔记本电脑。对我来说,无论是哪台电脑,没有完全同步,我也是有备份方案,但是对其他人来说。他们一旦离开了他们的电脑估计就没办法在短时间内纠正过来。一个多小时之后,我的同事总算把坚果云再次开启,完成同步,那一个多小时里我无比煎熬。

牵扯别人的事情,我感觉永远是最难的。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress