我有一个很奇怪的问题。我建立了一个表格模型,该模型从SSAS多维数据集中获取数据。在数据源多维数据集中,有一列称为“处理日期”,并且采用英国日期格式(dd / mm / yyyy)。当我将此列带入模型时,日期变得混乱,其中日期和月份值交换为某些日期!
下面是说明这一点的图像,我用红色突出显示了一个特定的日期。在数据源SSAS多维数据集中,日期为12/02/2019,而对于表格模型而言,此日期为02/12/2019。我在表格模型中添加了一个check_month列,发现表格模型认为它的12月,即日期/月份已被交换!
谢谢
JC
编辑:通过更改连接中的区域设置标识符已解决此问题。请参阅下面由userfl89回答的注释。这是由于数据源多维数据集使用的是与我在模型中使用的语言环境不同的语言环境(美国英语),更改语言环境标识符将覆盖此问题,从而解决问题
答案 0 :(得分:0)
可以从SSDT定义日期格式。突出显示日期列,然后转到属性窗口(按F4)。对于Data Format
属性,选择所需的日期格式。如果需要的日期格式未列出,则可以基于原始列创建使用FORMAT
函数的计算列,然后将该列的数据类型设置为Date
。下面是一个示例。此外,确认SSDT中的区域设置标识符(LCID)。可以通过选择模型> 现有连接> 编辑> 构建> 全部进行查看。 >>,然后是区域设置标识符属性。 Microsoft documentation提供了有关识别正确LCID的详细信息。
=FORMAT('Process'[Process Date], "dd-MM-yyyy")