转换带有日期列的文本以在 Power BI 中显示月份和年份
Convert Text with date column to display Month and Year in Power BI
我刚刚接触 PowerBI,我试图获取文本中的日期列以显示月份和年份,但我无法做到。任何方向。列类型是文本,其值类似于“2010-09-09T14:46:41+0000”,我正在尝试显示“2010 年 9 月”。
在 Excel 的 Power Query 中测试了以下内容,但希望它在 Power BI 中仍然适用。您可以创建一个简单的函数,例如:
ParseYearAndMonth = (someText as text) as text => DateTimeZone.ToText(DateTimeZone.From(someText), "yyyy MMMM")
(在上面的函数中,我们将文本转换为类型 DateTimeZone
,然后仅将 DateTimeZone
的 year
和 month
组件转换回文本。但是,没有实施错误处理。)
下面是 invoking/using 函数的示例。
let
someText = "2010-09-09T14:46:41+0000",
ParseYearAndMonth = (textToParse as text) as text => DateTimeZone.ToText(DateTimeZone.From(textToParse), "yyyy MMMM"),
someAttempt = ParseYearAndMonth(someText)
in
someAttempt
编辑:
您的查询可能看起来像这样(虽然我不能在没有测试的情况下确定):
let
Source = Facebook.Graph("graph.facebook.com/v2.8/Me/posts"),
#"Removed Other Columns" = Table.SelectColumns(Source,{"message", "created_time", "id", "story"}),
ParseYearAndMonth = (someText as text) as text => DateTimeZone.ToText(DateTimeZone.From(someText), "yyyy MMMM"),
invokedFunction = Table.AddColumn(#"Removed Other Columns", "yearAndMonth", each ParseYearAndMonth([created_time]), type text)
in
invokedFunction
我刚刚接触 PowerBI,我试图获取文本中的日期列以显示月份和年份,但我无法做到。任何方向。列类型是文本,其值类似于“2010-09-09T14:46:41+0000”,我正在尝试显示“2010 年 9 月”。
在 Excel 的 Power Query 中测试了以下内容,但希望它在 Power BI 中仍然适用。您可以创建一个简单的函数,例如:
ParseYearAndMonth = (someText as text) as text => DateTimeZone.ToText(DateTimeZone.From(someText), "yyyy MMMM")
(在上面的函数中,我们将文本转换为类型 DateTimeZone
,然后仅将 DateTimeZone
的 year
和 month
组件转换回文本。但是,没有实施错误处理。)
下面是 invoking/using 函数的示例。
let
someText = "2010-09-09T14:46:41+0000",
ParseYearAndMonth = (textToParse as text) as text => DateTimeZone.ToText(DateTimeZone.From(textToParse), "yyyy MMMM"),
someAttempt = ParseYearAndMonth(someText)
in
someAttempt
编辑:
您的查询可能看起来像这样(虽然我不能在没有测试的情况下确定):
let
Source = Facebook.Graph("graph.facebook.com/v2.8/Me/posts"),
#"Removed Other Columns" = Table.SelectColumns(Source,{"message", "created_time", "id", "story"}),
ParseYearAndMonth = (someText as text) as text => DateTimeZone.ToText(DateTimeZone.From(someText), "yyyy MMMM"),
invokedFunction = Table.AddColumn(#"Removed Other Columns", "yearAndMonth", each ParseYearAndMonth([created_time]), type text)
in
invokedFunction