本周我尝试在Excel中使用Power Query连接到OData源。当我连接时,这似乎有效。但是我必须进行一些转换,否则,数据是无用的。
现在我遇到了这个问题。连接到OData Feed后,我得到以下结果:
“Begindatum”栏的类型为:日期/时间/时区
我需要的只是约会。所以我使用Transform并将列设置为Date Only
这是预期的结果。但是,当我选择Close&在“查询编辑器”窗口中加载,日期列为空。
我做错了什么?我没有线索。
我在Windows 8.1机器上使用Excel 2013。 Cultureinfo设置为en-US
[更新] 经过一些试验和错误后,我发现删除列时会出现此问题。在原始资源中,在“Begindatum”之前还有其他几个列。只要删除其中一列,并刷新数据,“Begindadtum”列的值就会设置为null。甚至在我选择Load&关。我可以将“Begindatum”列的类型更改为Date。这没问题。但是在此列之后删除列,我遇到了问题。因此,将原始结构更改为仅需要的列会导致日期不再显示。 (空值)
[更新要求的M代码]
let
Source = OData.Feed("https://aaa.zzzzzz.com/odata/Published_OData_service_Contracten"),
Contracten_table = Source{[Name="Contracten",Signature="table"]}[Data],
#"Changed Type with Locale" = Table.TransformColumnTypes(Contracten_table, {{"ID", type text}}, "en-US"),
#"Extracted Date" = Table.TransformColumns(#"Changed Type with Locale",{{"Begindatum", DateTime.Date, type date}}),
#"Removed Other Columns" = Table.SelectColumns(#"Extracted Date",{"ID", "createdDate", "changedDate", "Begindatum", "ConcatContractCode", "ContractID", "ContractSelecteerConcat", "DienstverbandPercentage", "Einddatum", "Einddatum_proeftijd", "EinddatumTijdelijkContract", "Instellingsnummer", "Registratienummer", "Contract_Medewerker"})
在 #“删除了其他列”
我想知道这是否是Power Query中的错误。
[更新2018-04-24] ODatabfeed由Mendix提供。由于这个特殊的饲料是唯一有此问题的饲料,我已经要求我们的供应商进行测试。他们有同样的问题,只有这个饲料。因此,他们在Mendix打开了一张支持票。最有可能的问题是他们的软件造成的。这就是我将关闭这个问题的原因。