电源查询日期格式

时间:2015-10-12 09:29:10

标签: database excel postgresql powerquery

我正在使用Power Query访问我的PostgreSQL数据库并按特定日期参数过滤我的数据。但是,对于我的一个数据库表,日期格式为YYYYMM(201510)。

是否可以将此格式转换为实际日期格式?

4 个答案:

答案 0 :(得分:1)

Power Query将YYYY-MMYYYYMMDD识别为有效日期格式,但不识别YYYYMM。这是插入连字符然后更改类型的解决方案:

  1. 按字符数分割文本,4
  2. 删除自动数字类型推断步骤。
  3. 使用自定义分隔符-
  4. 合并列
  5. 将类型更改为日期
  6. 这是一个简单的例子:

    let
        Source = Csv.Document("201510
    201502"),
        SplitColumnByPosition = Table.SplitColumn(Source,"Column1",Splitter.SplitTextByPositions({0, 4}, false),{"Column1.1", "Column1.2"}),
        MergedColumns = Table.CombineColumns(SplitColumnByPosition,{"Column1.2", "Column1.1"},Combiner.CombineTextByDelimiter("-", QuoteStyle.None),"Merged"),
        ChangedType = Table.TransformColumnTypes(MergedColumns,{{"Merged", type date}})
    in
        ChangedType
    

答案 1 :(得分:0)

请尝试:

=DATE(LEFT(A1,4),RIGHT(A1,2),1)

答案 2 :(得分:0)

select to_date('201510', 'YYYYMM');
  to_date   
------------
 2015-10-01

答案 3 :(得分:0)

在这种情况下,我更喜欢创建一个新的自定义列,然后删除原始列。在您的情况下,自定义列的公式如下所示:

=Text.Range([DateColumn],0,4) & "-" & Text.Range([DateColumn],4,2) & "-01"

添加自定义列后,您可以将其格式更改为日期。

如需进一步参考,请查看M公式参考:https://msdn.microsoft.com/en-us/library/mt211003.aspx