Power Query如何匹配ISIN与多列分散的投资组合占比
Power Query 跨列提取正确投资组合占比实现方法
核心判断逻辑:投资组合占比为0-1区间的小数值(若为百分比存储则为0-100区间),与Spalte8中存储的大额市值数值有明确量级差,可直接通过数值阈值判断提取,操作全流程如下:
- 源数据预处理:将导入Power Query的源表中Spalte8、Spalte9、Spalte10三列的列类型统一设置为「小数数字」。如果你的数据是用逗号做小数点的欧洲数字格式,选择「更改类型-使用区域设置」,区域选对应欧洲国家即可自动识别数值,避免文本格式导致判断失效。
- 新增自定义列提取正确占比:点击「添加列-自定义列」,在公式框输入以下M公式:
= let // 阈值可根据你的实际数据调整,占比为0-1小数用1,占比为0-100百分比值用100 threshold = 1 in if [Spalte8] <= threshold then [Spalte8] else if [Spalte9] <> null and [Spalte9] <= threshold then [Spalte9] else [Spalte10]
注意:如果你的占比是带百分号存储的格式,把公式里的threshold值改成100即可,不会和动辄上万/百万的市值数据混淆
- 列整理:将新增的自定义列重命名为
Spalte8(即你需要的正确投资组合占比列),之后按住Ctrl选中Spalte2(ISIN编码)和重命名后的Spalte8两列,右键选择「删除其他列」,即可得到两列的基础结果表。
- 列整理:将新增的自定义列重命名为
- 数据校验(可选):如果需要确认每个ISIN对应唯一占比,可以点击「转换-分组依据」,按Spalte2分组统计行数,筛选出行数大于1的条目核查即可,正常无重复数据的情况下会直接得到一一匹配的结果。
特殊情况处理:如果存在个别行三列都没有符合阈值的占比值,自定义列会自动返回Spalte10的内容,你可以在结果里筛选错误值单独核查修正即可。
内容的提问来源于stack exchange,提问作者T123
相关产品推荐
相关产品推荐

