“此数据集包含动态数据源。由于动态数据源不会在 Power BI 服务中刷新”

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

所以我在尝试使用 Power BI 中的刷新计划菜单时遇到问题。问题是数据集包含动态数据源。由于动态数据源不会在 Power BI 服务中刷新,因此不会刷新此数据集。了解更多:https://aka.ms/dynamic-data-sources

我尝试使用分页 API 收集数据集。但是,我认为因为这个过程可能是动态的,所以 Power BI 服务无法进行计划刷新。如何解决这个问题?预先感谢。

let
    Source = Json.Document(Web.Contents("https://semenbeku.rcve.in/api/semen-beku-produksis?pagination[page]=1")),
    metadata = Source[meta],
    pagination = metadata[pagination],
    totalpages = pagination[pageCount],
    List = {1..totalpages},
    #"Converted to Table" = Table.FromList(List, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table", {{"Column1", type text}}),
    #"Get Page" = Table.AddColumn(#"Changed Type", "Data", each 
        let
            page = [Column1],
            Source = Json.Document(Web.Contents("https://semenbeku.rcve.in/api/semen-beku-produksis?pagination[page]=" & page)),
            data = Source[data],
            #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
            #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"attributes"}),
            #"Expanded attributes" = Table.ExpandRecordColumn(#"Expanded Column1", "attributes", {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"}, 
            {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"})
        in
            #"Expanded attributes"
    ),
    #"Expanded Data" = Table.ExpandTableColumn(#"Get Page", "Data", {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"}, {"Data.eartag", "Data.tgl", "Data.kode_straw", "Data.jenis", "Data.rumpun", "Data.sexing", "Data.jumlah", "Data.createdAt", "Data.updatedAt", "Data.publishedAt"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Data", {{"Data.createdAt", type datetime}, {"Data.updatedAt", type datetime}, {"Data.publishedAt", type datetime}})
in
    #"Changed Type1"
powerbi dax powerquery refresh
1个回答
0
投票

如果您在 Power Query 中使用

Web.Contents
函数并使用动态端点,而不是像应有的那样使用
Web.Contents
,则这是一个常见错误!

这是一个固定的代码片段:

let
    Source = Json.Document(Web.Contents("https://semenbeku.rcve.in/api/semen-beku-produksis?pagination[page]=1")),
    metadata = Source[meta],
    pagination = metadata[pagination],
    totalpages = pagination[pageCount],
    List = {1..totalpages},
    #"Converted to Table" = Table.FromList(List, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table", {{"Column1", type text}}),
    #"Get Page" = Table.AddColumn(#"Changed Type", "Data", each 
        let
            page = [Column1],
            Source = Json.Document(Web.Contents("https://semenbeku.rcve.in/api/semen-beku-produksis,[Query = ["pagination[page]"= page]])),
            data = Source[data],
            #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
            #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"attributes"}),
            #"Expanded attributes" = Table.ExpandRecordColumn(#"Expanded Column1", "attributes", {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"}, 
            {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"})
        in
            #"Expanded attributes"
    ),
    #"Expanded Data" = Table.ExpandTableColumn(#"Get Page", "Data", {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"}, {"Data.eartag", "Data.tgl", "Data.kode_straw", "Data.jenis", "Data.rumpun", "Data.sexing", "Data.jumlah", "Data.createdAt", "Data.updatedAt", "Data.publishedAt"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Data", {{"Data.createdAt", type datetime}, {"Data.updatedAt", type datetime}, {"Data.publishedAt", type datetime}})
in
    #"Changed Type1"

请注意,我不知道包含括号的查询参数的语义,但这就是您构建它的方式。关键是

Web.Contents
函数采用可选的
options
记录,可以携带这些额外的“动态”组件,而请求 URL 本身在表达式中保持静态。

在此处查看更多信息:https://learn.microsoft.com/en-us/powerquery-m/web-contents

编辑:您也许也可以使用

RelativePath
而不是
Query

let
    Source = Json.Document(Web.Contents("https://semenbeku.rcve.in/api/semen-beku-produksis?pagination[page]=1")),
    metadata = Source[meta],
    pagination = metadata[pagination],
    totalpages = pagination[pageCount],
    List = {1..totalpages},
    #"Converted to Table" = Table.FromList(List, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table", {{"Column1", type text}}),
    #"Get Page" = Table.AddColumn(#"Changed Type", "Data", each 
        let
            page = [Column1],
            Source = Json.Document(Web.Contents("https://semenbeku.rcve.in/api/semen-beku-produksis,[RelativePath = "?pagination[page]=" & page]])),
            data = Source[data],
            #"Converted to Table" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
            #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"attributes"}),
            #"Expanded attributes" = Table.ExpandRecordColumn(#"Expanded Column1", "attributes", {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"}, 
            {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"})
        in
            #"Expanded attributes"
    ),
    #"Expanded Data" = Table.ExpandTableColumn(#"Get Page", "Data", {"eartag", "tgl", "kode_straw", "jenis", "rumpun", "sexing", "jumlah", "createdAt", "updatedAt", "publishedAt"}, {"Data.eartag", "Data.tgl", "Data.kode_straw", "Data.jenis", "Data.rumpun", "Data.sexing", "Data.jumlah", "Data.createdAt", "Data.updatedAt", "Data.publishedAt"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Expanded Data", {{"Data.createdAt", type datetime}, {"Data.updatedAt", type datetime}, {"Data.publishedAt", type datetime}})
in
    #"Changed Type1"
© www.soinside.com 2019 - 2024. All rights reserved.