从多个站点中的多个 SharePoint 库获取数据

问题描述 投票:0回答:2

我想从位于不同 SharePoint 网站集中的多个 SharePoint 库中提取信息。

所有同名的库具有相同的结构。我收到一个错误,无法将值“Library1”转换为列表类型。

我正在使用以下脚本:

let
    sitesEBibliotecas = {
        {"https://Site1", {"Library1", "Library2"}},
        {"https://Site2", {"Library1", "Library2"}}
    },

    tabelasDeBibliotecas = List.Combine(
        List.Transform(
            sitesEBibliotecas,
            each List.Combine(
                List.Transform(
                    _{1},
                    each let
                        biblioteca = _,
                        Origem = SharePoint.Tables(_{0} & "/" & biblioteca, [ApiVersion = 15]),
                        lista = Origem{[Id=biblioteca]}[Items]
                    in
                        lista
                )
            )
        )
    ),
    tabelasDeBibliotecas1 = tabelasDeBibliotecas{0}
in
    tabelasDeBibliotecas1
sharepoint powerbi powerquery
2个回答
0
投票

如果您坚持使用该列表结构,那么您需要类似于下面的内容

let
sitesEBibliotecas = {
    {"https://Site1", {"Library1", "Library2"}},
    {"https://Site2", {"Library1", "Library2"}}
},
hitlist= Table.FromList(List.Combine(List.Transform(sitesEBibliotecas, each  let a=_ in List.Transform (a{1}, each a{0}& "/" &_ )))),
#"Added Custom" = Table.AddColumn(hitlist, "Output", each SharePoint.Tables([Column1]))
in #"Added Custom"


0
投票

这个

SharePoint.Tables(_{0}
导致了问题。更新了您的查询以将站点名称存储在变量中。

let
  sitesEBibliotecas = {
    {"https://Site1", {"Library1", "Library2"}},
    {"https://Site2", {"Library1", "Library2"}}
  },

  tabelasDeBibliotecas = List.Combine(
    List.Transform(
        sitesEBibliotecas,
        each let
          site = _{0},
          libraries = _{1},
          combined =  List.Combine(
            List.Transform(
              libraries,
              each let
                biblioteca = _,
                Origem = SharePoint.Tables(site & "/" & biblioteca, [ApiVersion = 15]),
                lista = Origem{[Id=biblioteca]}[Items]
              in
                lista
            )
          )
        in combined
    )
  ),
  tabelasDeBibliotecas1 = tabelasDeBibliotecas{0}
in
  tabelasDeBibliotecas1
© www.soinside.com 2019 - 2024. All rights reserved.