SSAS 多维数据集和表格模型之间的日期不一致

Inconsistent date between SSAS Cube and Tabular Model

我有一个很奇怪的问题。我构建了一个表格模型,它从 SSAS 多维数据集获取数据。在数据源多维数据集中,有一个名为 "Process Date" 的列,它采用英国日期格式 (dd/mm/yyyy)。当我将此列引入我的模型时,日期被弄乱了,其中日期和月份值被某些日期交换了!

下面是说明这一点的图片,我用红色突出显示了一个特定的日期。在数据源 SSAS 多维数据集中,日期为 12/02/2019,当转到表格模型时,此日期为 02/12/2019。我在表格模型中添加了一个 check_month 列,发现表格模型认为它是十二月,即 day/month 已被交换!

data source date

model date

谢谢

JC

编辑:这已通过更改连接中的区域设置标识符解决。请参阅 userfl89 在下面的答案中的评论。这是因为数据源多维数据集使用的语言环境(美国英语)与我在模型中使用的不同,更改语言环境标识符将覆盖它并因此解决问题

日期格式可以从 SSDT 定义。突出显示日期列并转到属性 window(按 F4)。对于 Data Format 属性 select 所需的日期格式。如果您需要未列出的日期格式,可以根据原始列创建使用 FORMAT 函数的计算列,然后将此列的数据类型设置为 Date。下面是一个例子。此外,确认 SSDT 中的区域设置标识符 (LCID)。这可以通过 selecting Model > Existing Connections > Edit > Build > All > 然后是 Locale Identifier 属性。 Microsoft documentation 提供了有关识别正确 LCID 的详细信息。

=FORMAT('Process'[Process Date], "dd-MM-yyyy")