OData - 同一个表中的多个 $expand 和 $select

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

我正在尝试从 OData Feed 的表(if_sites)中选择特定的列,但是这些列中有 2 个是表,我只能找到一种方法来扩展一个表,而不是表中的 2 个或更多表if_sites

表名:if_sites

如果_名字 if_siteid
站点A 10eed1
B站 17fcc2

if_sites 还包含以下表格,

if_if_locality_if_sites if_if_site_if_schedule
如果_名字 如果_名字
if_if_locality_if_sites if_scheduleid
If_Locality

Visual Representation of if_sites Table

这就是我目前所拥有的。

= OData.Feed(https://XXXXXX/v9.2/if_sites?$select=if_siteid,if_name,if_if_locality_if_site&$expand=if_if_locality_if_site($select=if_name,if_if_locality_if_site,if_LocalityType), null, [Implementation="2.0"])

除了上面的扩展列外,我还想在同一查询中添加 $expand= if_if_site_if_schedule($select=if_name)

我想我可以生成第二个查询,添加以下内容并建立关系。

= OData.Feed(https://XXXXXX/v9.2/if_sites?$select=if_siteid,if_if_site_if_schedule&$expand=if_if_site_if_schedule($select=if_name), null, [Implementation="2.0"])

但肯定有一种方法可以在一个查询中完成。

我试过了

$expand=if_if_locality_if_site($expand=if_if_site_schedule;$select=if_name)

,

$expand=if_if_locality_if_site,if_if_site_if_schedule 
= .../v9.2/if_sites?$select=if_siteid,if_name,if_if_locality_if_site&$expand=if_if_locality_if_site/if_name,if_if_site_if_schedule/if_name", null, [Implementation="2.0"])

和各种组合,但我没有找到,(找到遍历多个导航属性的路径。请重新表述查询,使每个扩展路径仅包含类型段和导航属性。),位置“x”处的语法不正确,与嵌套相关的注释查询。

powerbi odata
1个回答
0
投票

下面好像已经成功了,

= OData.Feed("https://XXXXX/v9.2/if_sites?$select=if_if_locality_if_site&$expand=if_if_locality_if_site($select=if_name,if_if_locality_if_site,if_LocalityType), if_if_site_if_schedule($select=if_scheduleid,if_name)", null, [Implementation="2.0"])

我试图只 $select 我想查看数据的列,但我遇到了麻烦。

从 $select 中省略特定列会产生关系问题(即,行会显示不正确的数据),例如所有 400k+ 行显示相同的 if_scheduleid。

表格的加载需要很长时间,可能比我以前通过 Power Query 进行加载的方式要快得多,尽管我在其中选择了表格,扩展了相关字段(嵌套表格),然后删除了其他列(100 多个额外的列)。

© www.soinside.com 2019 - 2024. All rights reserved.