2016-08-23 127 views
0

我有一个日期字符串无法导入,因为它的格式与预期我的机器区域设置不同(即美国日期到英国机器) 。DAX - 如何将日期字符串从另一个区域设置转换为日期类型

如何让DAX将此字符串转换为日期,但使用与机器默认值不同的指定格式或区域设置。

例如,我想进口

2008年3月27日上午11时07分31秒

27/3/2008上午11时07分31秒

回答

1

你有两个选择。

第一个选项,使用Power BI中的基本Formatting选项卡功能。

选择列,并在Formatting选项卡中使用以下设置:

enter image description here

第二个选项(推荐),使用PowerQuery导入的日期时间数据类型的文本列。

以下表达式将文字分割为"/"个字符,然后将dd/mm/yyyy字符串转换为日期时间数据类型。

Table.AddColumn(#"Changed Type", "DateTime", 
each Text.Split([#"#(001A)Date Import"],"/"){1} & "/" 
    & Text.Split([#"#(001A)Date Import"],"/"){0} & "/" & 
    Text.Split([#"#  (001A)Date Import"],"/"){2}) 

在这种情况下,我才能在需要的日期时间类型导入的列添加一个附加列,您虽然可以将更改应用于同一列。

enter image description here

Date import列是实际的文本列,日期时间是我添加导入Date Import为DATETIME类型的列。

如果您遇到困难,请检查official documentation PowerQuery。

让我知道这是否有帮助。

1

我认为最实际的解决方案是在查询编辑器中,但复杂的公式不是必需的。

我会右键单击列并选择更改类型/使用区域设置。然后我会指定数据类型=日期和地区=英语(美国)。