Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi Power bi:将数字列表转换为月份名称列表_Powerbi_Dax - Fatal编程技术网

Powerbi Power bi:将数字列表转换为月份名称列表

Powerbi Power bi:将数字列表转换为月份名称列表,powerbi,dax,Powerbi,Dax,我在power bi中有一列包含这种格式的字符串: 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_col

我在power bi中有一列包含这种格式的字符串:

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测试解释这些特殊情况,但无法正确实现

有什么想法吗?是否可能以某种方式使用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,",")

如果您正在寻找度量,可以使用下面的代码。由于1在10、11、12中也可用,2在12中也可用,因此需要先转换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"
)
对于自定义列只需使用'month value to name'[month value]代替MIN('month value to name'[month value])

注意:如果希望从Power Query Editor获得相同的结果,也可以在Power/M Query中进行一些转换。

更简单的公式:

Month = FORMAT(DATEVALUE("2020-" & [month_number] & "-1") , "MMMM") 
如果您想要缩写形式,只需使用
MMM