Excel:Power Query参数化

Power Query参数化

1)新建一个sheet,并插入table,并填写参数信息

image-20230203173621511

1.1)修改表名称为Parameters(后续需要用到)

image-20230203174002753

2)在 Power Query 编辑器中新建一个空查询

image-20230203173746747

3)在空查询中填入以下代码,并重命名该查询为fnGetParameter(后续会用到)

image-20230203174445967

代码:

复制= (ParameterName as text) =>
let
    ParamSource = Excel.CurrentWorkbook(){[Name="Parameters"]}[Content],
    ParamRow = Table.SelectRows(ParamSource, each ([Key] = ParameterName)),
    Value =
      if Table.IsEmpty(ParamRow)=true
          then null
      else Record.Field(ParamRow{0},"Value")
in
Value

注意:

  • 第2行,[Name="Parameters"]中的Parameters需要对应表名
  • 第4行,[Key]中的Key对应表的第一列的名称
  • 第8行,(ParamRow{0},"Value")中的Value对应表的第二列的名称

4)在需要用到的查询中,通过"& fnGetParameter("xxxxx") &"替换参数,其中xxxxx为想要的Key名称,如:

image-20230203174627441

复制= Odbc.Query("dsn=gsol-sit-utf8", "SELECT lang_code,count(0) FROM isearch_grp.etrack_source WHERE #(lf)request_time >= to_date('"&fnGetParameter("start_date")&"','yyyy/MM/dd HH24:mi:ss')#(lf)and request_time < to_date('"&fnGetParameter("end_date")&"','yyyy/MM/dd HH24:mi:ss')#(lf)GROUP BY lang_code;")

5)后续只需要修改Parameters表格的参数,再执行刷新数据即可

image-20230203174844610

参考链接

posted @   Feng1024  阅读(596)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示