我有一列包含此格式的字符串的幂次幂:
6,7,8,9
1,2,3,4
12,1,2
我的目标是将其转换为缩写的月份名称,即
Jun,Jul,Aug,Sep
Jan,Feb,Mar,Apr
Dec,Jan,Feb
我确实做了一些尝试,例如我尝试使用搜索功能并将其连接起来,简短示例如下:
CONCATENATE(
IF(
ISERROR(
search("4",MyTable[month_number_column])
)=true,
"",
"Apr"
)
因此,我将所有月份中的12个全部处理,然后将它们全部合并为一个,但是,在某些特殊情况下,我似乎无法正确处理:
数字1也包含在10,11和12中,类似地是 数字2也包含在12中,因此我的转换无法完全正常进行,因此我尝试使用if-tests解释这些特殊情况,但无法正确处理。
有什么想法吗?是否可能以某种方式使用generate series?也许可以这样做吗?
var variable_table = generateseries(1,4)
var add_column_to_variable_table =
ADDCOLUMNS(variable_table,"Month_name_short",
"INSERT IF TESTS HERE TO TRANSLATE EACH ROW NUMBER INTO MONTHNAME)
var final_transform = concatenatex(add_column_to_variable_table,Month_name_short,",")
答案 0 :(得分:1)
一个简单的公式:
Month = FORMAT(DATEVALUE("2020-" & [month_number] & "-1") , "MMMM")
如果要使用简写形式,请改用MMM
答案 1 :(得分:0)
如果您要寻找度量,则可以使用以下代码。由于10、11、12中还有1,而12中也有2,因此您需要先转换10,11&12,然后再转换其他数字。
month name =
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
SUBSTITUTE(
MIN('month value to name'[month value]),
"12","December"
),
"11","November"
),
"10","October"
),
"1","January"
),
"2","February"
),
"3","March"
),
"4","April"
),
"5","May"
),
"6","June"
),
"7","July"
),
"8","August"
),
"9","September"
)
对于自定义列,只需使用“月份值命名” [[月份值] ”代替 MIN(“月份名称命名” [月值] )
注意:,如果您希望从Power Query Editor中获得相同的结果,也可以在 Power / M Query 中进行一些转换。