Power BI中如何用Python调用多表?需基于tab_moeda_data为cad_processo新增列
Power BI中Python脚本调用多表的解决方法
核心思路
要在处理cad_processo的Python脚本中使用tab_moeda_data,必须先把依赖表的数据注入到当前查询的Python环境中,不能直接在脚本里引用表名。
具体操作步骤
1. 在Power Query中引入依赖表
打开cad_processo的查询编辑界面,添加一个自定义步骤,命名为TabMoedaData,输入公式:
= #"tab_moeda_data"
这一步会把tab_moeda_data的完整数据引入到当前查询的流程里。
2. 修改Python脚本读取双表
添加运行Python脚本步骤,替换默认脚本为以下内容(函数部分根据你的实际逻辑调整):
import pandas as pd import numpy as np # 当前处理的主表(cad_processo) proc = dataset # 读取依赖表(tab_moeda_data) moeda = pd.DataFrame(TabMoedaData) def name_of_the_function(proc, moeda): # 在这里编写你的复杂逻辑,比如给proc新增列 # 示例:通过moeda的匹配数据计算新列 proc['nova_coluna'] = proc.apply(lambda row: 你的计算逻辑, axis=1) return proc # 执行函数并返回结果 result = name_of_the_function(proc, moeda)
常见问题排查
- 提示
TabMoedaData不存在:检查自定义步骤的名称是否和Python脚本里的变量名完全一致,Power Query对大小写敏感 - 数据类型报错:确保两张表的关联列数据类型一致(比如都是文本/数值)
- 性能问题:如果
tab_moeda_data数据量过大,先在Power Query中做筛选、去重等预处理,再传入Python
内容的提问来源于stack exchange,提问作者Comune
相关产品推荐
相关产品推荐

