我有一个无法导入的日期字符串,因为它的格式与我预期的机器区域设置的格式不同(即美国的日期为英国机器)。
如何告诉DAX将此字符串转换为日期,但使用的指定格式或区域设置与机器默认值不同。
例如,我想导入
3/27/2008 11:07:31 AM
作为
2008年3月27日上午11:07:31
答案 0 :(得分:1)
您有两种选择。
第一个选项,使用Power BI中的基本Formatting
选项卡功能。
选择列并使用Formatting
标签中的以下设置:
第二个选项(推荐),使用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})
在这种情况下,为了导入所需日期时间类型的列,我添加了一个附加列,您可以将更改应用于同一列。
Date import
列是实际的文本列,DateTime是我添加到导入Date Import
作为日期时间类型的列。
如果您遇到问题,请查看有关PowerQuery的official documentation。
如果有帮助,请告诉我。
答案 1 :(得分:1)
我认为最实用的解决方案是在查询编辑器中,但不需要复杂的公式。
我会右键单击该列,然后选择“更改类型/使用区域设置”。然后我会指定数据类型=日期和区域设置=英语(美国)。