我非常精通Excel,但對於PowerPivot來說卻很新。我有一個數據集,其中包含本賽季每場比賽的每位NBA球員的比賽日誌,我想要一個新的列來計算球員隊伍在給定的夜晚所玩的總積分。PowerPivot中的SUMIF類型函數
在Excel中,這將是一個簡單的SUMIF:[Minutes] if [Team] = [@Team] and [Date] = [@Date]
我將如何處理這一PowerPivot中,或者是這個東西,我需要將數據導入的PowerPivot之前做?
我非常精通Excel,但對於PowerPivot來說卻很新。我有一個數據集,其中包含本賽季每場比賽的每位NBA球員的比賽日誌,我想要一個新的列來計算球員隊伍在給定的夜晚所玩的總積分。PowerPivot中的SUMIF類型函數
在Excel中,這將是一個簡單的SUMIF:[Minutes] if [Team] = [@Team] and [Date] = [@Date]
我將如何處理這一PowerPivot中,或者是這個東西,我需要將數據導入的PowerPivot之前做?
這聽起來像是某種措施可以更好地解決的問題。請參閱this link on measures vs calculated columns。
Power Pivot模型的典型消耗工具是數據透視表,只有數據透視表中的每個單元格都會重新評估度量。計算列僅在模型刷新時重新計算。
這將是那麼簡單,如下:
TotalMinutes:=
SUM(FactGameLog[Minutes])
然後在您的數據透視表,你可以把PlayerName,團隊和日期到行,列或過濾器(或切片器)需要。
我最初的反應是這是一個數據透視表/圖表設計問題。數據透視表爲您查詢模型。所以你可以有一個簡單的SUM()度量,然後在你的行分組上按日期,玩家和團隊進行切片。或者,您可以添加過濾器來查看單個玩家或團隊。
但是,有條件求和的DAX函數,如SUMIF/COUNTIF(也是條件平均值,最小/最大值,計數和其他聚合)。
您將需要使用計算的度量。當您創建度量時,您將要使用SUMX(對其他聚合類型也使用COUNTX,AVERAGEX等)。
最大的問題是你正在比較哪些值(@Team和@Date)。他們在另一列,相關的表中,還是他們是靜態的?
無論如何,sytanx會是這樣的。
YourMeasure:= SUMX(表名,表達)
分鐘總計:= SUMX( GAMEDATA, IF([組] = 「TEAM1」 & & [日期] = DATE(2015,11,5 ),[Minutes],BLANK()) )
本示例僅使用硬編碼字符串,但您可以根據需要對其進行更改。注意條件邏輯構建到第二個參數中。它會聚合[分鐘]字段或具有空白值。
希望這會有所幫助。
感謝您的迴應,我從那以後找到了2種方法來處理這個問題。一種是使用度量,然後在數據透視表中使用它。我不知道某項措施的結果會在數據透視表中得到進一步濾除。此外,我能夠使用計算(總和)與「更早」的過濾器爲我需要的一些事情。 –