excel - 连接到 PostgreSQL 数据库时在 Power Query 中参数化源

标签 excel postgresql powerquery m

使用 .Net data provider对于 postgresql,我想创建一个 excel 工作簿,从给定模式加载一些表。架构是使用 Excel 工作簿中的命名范围设置的,每个架构的表名都相同。

我尝试了以下方法:

定义一个名为SchemaIdParam 的“来自其他来源”/“空白查询”的查询作为

let
    rng= Excel.CurrentWorkbook(){[Name="schemaid"]}[Content]
in
    rng

(名称“schemaid”在工作簿中定义。)

定义一个“来自 PostgreSQL 数据库”的查询,名为 mytable as

let
    src = PostgreSQL.Database("xxx.myhost.com:5235", "my_database"),
    tbl = src{[Schema=SchemaIdParam,Item="mytable"]}[Data]
in
    tbl

现在这行不通了。错误消息指出:“[Expression.Error]:表中的键和行之间不匹配”(自己的翻译)。然而,如果我将 SchemaIdParam 替换为引号中的文字值,它就会起作用。然后传递正确的表。

非常感谢我如何解决这个问题的任何提示!

我想为模式名称使用​​命名范围的原因是我想在 excel 之外以编程方式设置模式名称。我非常愿意接受如何以另一种方式做到这一点的建议。

最佳答案

这可能是类型错误。尝试将 SchemaIdParam 值转换为文本作为该查询的一部分,否则尝试

tbl = src{[Schema=Number.ToText(SchemaIdParam),Item="mytable"]}[Data]

关于excel - 连接到 PostgreSQL 数据库时在 Power Query 中参数化源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808464/

相关文章:

VBA 将行高与粘贴图像大小相匹配

php - pg_query() 似乎不在循环中执行查询

powerbi - DirectQuery 不支持查询 (PowerBI/PowerQuery)

excel - 获取当前工作簿路径 - Excel Power Query

powerbi - 计算测量值的平均值 PowerBi

Excel:获取前 3 个值和名称

excel - 在 Excel 中打开带有 word vba 的 pdf

excel - 禁用 Microsoft Excel 的自动日期格式设置

postgresql - Docker-Compose + postgres : database and user creation not working (works without compose)

python - 如何填充和访问 Django ArrayField?