2015-10-20 169 views
0

我非常精通Excel,但對於PowerPivot來說卻很新。我有一個數據集,其中包含本賽季每場比賽的每位NBA球員的比賽日誌,我想要一個新的列來計算球員隊伍在給定的夜晚所玩的總積分。PowerPivot中的SUMIF類型函數

在Excel中,這將是一個簡單的SUMIF:[Minutes] if [Team] = [@Team] and [Date] = [@Date]

我將如何處理這一PowerPivot中,或者是這個東西,我需要將數據導入的PowerPivot之前做?

回答

1

這聽起來像是某種措施可以更好地解決的問題。請參閱this link on measures vs calculated columns

Power Pivot模型的典型消耗工具是數據透視表,只有數據透視表中的每個單元格都會重新評估度量。計算列僅在模型刷新時重新計算。

這將是那麼簡單,如下:

TotalMinutes:= 
SUM(FactGameLog[Minutes]) 

然後在您的數據透視表,你可以把PlayerName,團隊和日期到行,列或過濾器(或切片器)需要。

0

我最初的反應是這是一個數據透視表/圖表設計問題。數據透視表爲您查詢模型。所以你可以有一個簡單的SUM()度量,然後在你的行分組上按日期,玩家和​​團隊進行切片。或者,您可以添加過濾器來查看單個玩家或團隊。

但是,有條件求和的DAX函數,如SUMIF/COUNTIF(也是條件平均值,最小/最大值,計數和其他聚合)。

您將需要使用計算的度量。當您創建度量時,您將要使用SUMX(對其他聚合類型也使用COUNTX,AVERAGEX等)。

最大的問題是你正在比較哪些值(@Team和@Date)。他們在另一列,相關的表中,還是他們是靜態的?

無論如何,sytanx會是這樣的。

YourMeasure:= SUMX(表名,表達)

分鐘總計:= SUMX( GAMEDATA, IF([組] = 「TEAM1」 & & [日期] = DATE(2015,11,5 ),[Minutes],BLANK()) )

本示例僅使用硬編碼字符串,但您可以根據需要對其進行更改。注意條件邏輯構建到第二個參數中。它會聚合[分鐘]字段或具有空白值。

希望這會有所幫助。

+0

感謝您的迴應,我從那以後找到了2種方法來處理這個問題。一種是使用度量,然後在數據透視表中使用它。我不知道某項措施的結果會在數據透視表中得到進一步濾除。此外,我能夠使用計算(總和)與「更早」的過濾器爲我需要的一些事情。 –