-2

我对 Power BI 比较陌生,想根据列生成一个新的。新列的内容应基于另一列的第一个值。例如:

ColumnA NewColumn
1123 Argentinia
5644 Brazil
5555 Brazil
3334 Denmark
1124 Argentinia

如您所见,数字的第一个值决定了将哪个国家添加到新列中。在 SQL 中,我知道我可以使用这样的东西:

`select * from table where column LIKE '%[2]`%' 

等等,但 Power BI 可以吗?非常感谢。

编辑:

我的附加列表如下所示:

ID Country
1  Argentina
2  Swiss
3  Denmark
4  Norway
5  Brazil

等等...

我想我可以使用这样的东西:

NewColumn = IF('table'[ColumnA] = "%[1]`%" 
THEN "Argentinia"
ELSE if IF('table'[ColumnA] = "%[2]`%
THEN Swiss
ELSE "No Country")
4

2 回答 2

0

将您的号码/国家/地区列表添加到新表中。假设您将其称为Countries.

现在您可以向原始表添加一列(假设您已经调用了该列Fact Table),使用类似:

Country = 
LOOKUPVALUE ( 
    Countries[Country],
    Countries[ID],
    VALUE ( LEFT ( 'Fact Table'[ColumnA], 1 ) )
)

有关工作示例,请参见https://pwrbi.com/so_56391689/ 。

于 2019-05-31T09:31:33.807 回答
0

好的,我现在也找到了解决方案:

NewColumn = SWITCH(TRUE();

                 LEFT(table[ColumnA]; 1) in {"1"}; "Argentina";
                 LEFT(table[ColumnA]; 1) in {"2"}; "Swiss";
                 LEFT(table[ColumnA]; 1) in {"3"}; "Denmark";
                 LEFT(table[ColumnA]; 1) in {"4"}; "Norway";
                 LEFT(table[ColumnA]; 1) in {"5"}; "Brazil"
            )

效果很好:)

于 2019-05-31T09:37:05.363 回答