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

DAX - how to convert a date string from another locale into a date type

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

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

比如我想导入

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

作为

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

你有两个选择。

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

Select 列并在 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 Importas Datetime 类型的列。

如果您遇到困难,请查看有关 PowerQuery 的 official documentation

如果有帮助请告诉我。

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

我会右击该列并选择更改类型/使用区域设置。然后我会指定 Data Type = Date 和 Locale = English (United States)。