DAX - 如何将日期字符串从另一个语言环境转换为日期类型

时间:2016-08-23 14:06:32

标签: powerbi dax

我有一个无法导入的日期字符串,因为它的格式与我预期的机器区域设置的格式不同(即美国的日期为英国机器)。

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

例如,我想导入

3/27/2008 11:07:31 AM

作为

2008年3月27日上午11:07:31

2 个答案:

答案 0 :(得分: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列是实际的文本列,DateTime是我添加到导入Date Import作为日期时间类型的列。

如果您遇到问题,请查看有关PowerQuery的official documentation

如果有帮助,请告诉我。

答案 1 :(得分:1)

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

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