You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Business Central:如何在Power Query中获取本地化(丹麦语)列名?

解决Power Query从Business Central获取丹麦语列名的问题

方案1:通过OData元数据提取本地化列名映射

Business Central的OData API会将丹麦语列名存放在元数据的displayName属性中,你可以通过以下步骤自动替换列名:

  1. 在Power Query中打开高级编辑器,替换原有查询逻辑,先获取实体元数据,再加载数据并批量重命名:
    // 替换以下占位符为你的实例信息
    bcInstanceUrl = "https://your-business-central-instance/api/v2.0",
    companyId = "your-company-guid",
    entityName = "your-target-entity",
    
    // 获取带丹麦语元数据的响应
    metadataResponse = Web.Contents(
       Text.Combine({bcInstanceUrl, "/companies(", companyId, ")/", entityName, "/$metadata"}),
       [Headers=[#"Accept-Language"="da-DK", #"Accept"="application/json;odata.metadata=full"]]
    ),
    metadata = Json.Document(metadataResponse),
    // 构建字段名与丹麦语显示名的映射表
    fieldMappings = List.Transform(metadata{"value"}, each {_{"name"}, _{"displayName"}}),
    
    // 加载原始数据
    dataResponse = Web.Contents(
       Text.Combine({bcInstanceUrl, "/companies(", companyId, ")/", entityName}),
       [Headers=[#"Accept-Language"="da-DK"]]
    ),
    dataSource = Json.Document(dataResponse),
    dataTable = Table.FromRecords(dataSource{"value"}),
    
    // 批量替换列名为丹麦语
    finalTable = Table.RenameColumns(dataTable, fieldMappings)
    

方案2:直接使用Business Central的"导出到Power Query"功能

这是最省心的方法,BC会自动处理本地化列名的映射:

  • 在Business Central的目标列表页面(已显示丹麦语列名),点击顶部的分享按钮
  • 选择导出到Power Query,下载生成的.pq文件
  • 在Power Query中加载该文件,即可直接获取带丹麦语列名的完整数据,无需手动调整请求头或列名

方案3:完善API请求头参数

确保请求头同时包含以下两个参数,让API返回完整的本地化元数据:

  • Accept-Language: da-DK:指定返回丹麦语内容
  • Accept: application/json;odata.metadata=full:要求返回包含displayName的完整元数据
    加载数据后,你可以通过Power Query的Table.RenameColumns结合元数据中的displayName批量替换列名,避免手动逐个重命名。

内容的提问来源于stack exchange,提问作者BE50

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:04:53