2014-09-11 27 views
0

我想要做這樣的事情:如何返回一組匹配的行並連接其中一列?

=related(othertable[aColumn]) 

但在有多個匹配的行,它應該串連所有匹配的aColumn值。

這樣的事情,但工作:

=concatenate(values(filter(othertable,othertable[bColumn]=[value in this table]))) 

回答

1

我無法弄清楚如何在DAX這樣做,所以代替電源查詢做到了。

//using this as a start: 
aTable = #table({"A","B","C"},{{1,"a",1},{1,"b",2},{2,"c",3},{3,"d",4}}), 
//I'm concatenating text...so need to have a function stating what to concatenate with 
fCombine = Combiner.CombineTextByDelimiter(":"), 
aGroupRowsCat = Table.Group( 
    aTable, 
    {"A"}, 
    {{"CatOfB", each fCombine([C]), type text}} 
) 

我結束了:

A|CatOfB 
-+------ 
1|a:b 
2|c 
3|d 
+1

太棒了!一直在尋找這樣的事情:) – 2014-10-12 11:24:05

1

傑森托馬斯在他的博客Group Multiple Rows to Single Delimited Row in PowerPivot

回答了這個問題。在這一職務,他解釋說,如果你先創建一個父/子層次,那麼你可以使用PATH返回逗號分隔列表。

他使用RANKX函數和一點邏輯來創建父/子關係,然後計算感興趣列的父值,最後使用PATH函數來計算逗號分隔列表。

相關問題