状态问题

现假设有一间公司,有四种产品供客户选择(产品型号为1,2,3和4),客户可以同时订阅四种产品中的任意一种或者多种且订阅期最短为一个月,但是不能重复订阅同一型号的产品。所有产品的状态可以划分为20种(1为最好,20为最差),并且所有产品的初始状态为1。产品的状态处于1到18时被认为处于正常区间,而处于[......]

阅读全文

汇总债券现金流

如下表格记录着公司持有的固定息票债券,现要求忽略公众假期,周末或者气象原因导致交收日期的不规则,根据日期参数表添加汇总现金流的计算列。

现在以上图中ISIN号为5的债券为例说明计算流程:

以下为完整的代码:

在DateList过程中,无视了公众假日,周末和气象因素带来[......]

阅读全文

向前分配数值

如下表格的每一行代表某个客户订阅的某种服务(服务类型可为A、B和C)在未来20期为公司带来的收入。现在需要根据参数表中Rate列代表的倍数放大这20期的数值,要求调整后的总额与调整前的一样。

现以图中第四行为例进行说明:

以下为实现这一过程的代码:

由于多处用到20[......]

阅读全文

Parent Child Hierarchies (III)

第三章的内容为在第二章的假设与前提下,使用递归的思路完成路径图的构建与展开。首先,需要把数据一分为二,一组只有处于顶层的成员,其他的成员为另一组。以下为分组用到的代码:

Child字段与Parent字段相同的成员为最顶层的成员,Table.SelectRows()就是利用这一特点把最顶层的[......]

阅读全文

Parent Child Hierarchies (II)

第二章的主题为在最大层数MaxLv未知的情况下构建和展开路径图,在开始之前需要讲解如何使用生成数据(第一章节的内容)的附件。首先,请把附件中Data文件夹解压至C:\中。然后,请按以下表格的指示更新文件夹中每一个工作簿的A2单元格后按下快捷键Alt+A+R+A:

工作簿名称工作表名称旧值新值D[......]

阅读全文

与销售额挂钩的薪酬计算

假设业务员的薪酬与其销售额挂钩,计算薪酬时需要把销售额按如下表格(Info1)划分为多个区间,处在不同区间的销售额的提成率也会发生变化:

现在需要根据以下十位员工的销售额(Info2表格)算出对应的薪酬:

以员工6为例,薪酬的计算过程为

0.03*(36,000 - 0)0[......]

阅读全文

使用CSS Selector进行网抓

Power BI Desktop 5月更新来了,在网抓方面增加了一个新功能———使用示例提取表。
使用前需在设置-预览功能中,勾选"新的通过Web体验"。

该功能类似于智能填充以及添加示例中的列,允许用户手动输入目标数据,并根据输入内容智能分析转换规则,获取到网页中具有同样样式的其他数据。[......]

阅读全文

读取Word文档中的表格

同读取zip一样,使用二进制数据流解析docx文件,然后替换表格元素为html格式,最后用Web.Page解析网页。
核心代码源自于KenR,我修改简化了部分代码并封装为自定义函数。
由于过程过于复杂不作解释,你也不需要去理解是什么意思,需要用时调用自定义函数即可。

比如桌面上有个docx[......]

阅读全文

不解压直接读取zip压缩包

我们知道Power Query能够连接很多不同格式的数据源,但同时还有很多是不能直接支持的,比如word文档、压缩包等等。
有这样一种场景:源数据来自于网络或者远程服务器,每天更新,文件格式是zip,压缩包内有csv。
如果不能直接读取zip,那么我们需要每天把zip下载下来,解压后再导入Pow[......]

阅读全文