2014-06-27 123 views
2

我認爲我手上有一個相對容易的問題,只是無法正常工作。讓我先說說我是DAX的新手。Excel PowerPivot DAX已計算字段

考慮下面的PowerPivot數據模型:

enter image description here

它由一個銷售記錄表,加入到日期查找表,以及一個「日常開支」表。 「每日費用」表中存儲了單個值,該值表示每天運行特定交易位置的平均成本。

生產數據透視表非常簡單,該數據透視表爲我提供每個[插入日期]的每個商店的總銷售額。我所追求的是一種DAX公式,它將計算每家商店的每日利潤 - 即。銷售總額減去DailyExpenses(運營成本):

enter image description here

從理論上講,這應該是很容易的,但我很困惑如何利用DAX行背景。

失敗的嘗試:

利潤:= CALCULATE(SUM(SalesInformation [SaleAmount] - DailyStoreExpenses [DailyExpense]))

利潤:= CALCULATE(SUM(SalesInformation [SaleAmount] - DailyStoreExpenses [DailyExpense]) ,DailyStoreExpenses [StoreLocation])

利潤:= SUM(SalesInformation [SaleAmount] - 相關(DailyStoreExpenses [DailyExpense])

任何幫助表示讚賞。

回答

6

贊,可惜你失敗的嘗試都不敢靠近:-)

的答案,最好的做法是使用所謂的「商店」第4表包含每家商店的唯一記錄 - 不僅是對這項有益將兩個事實表中的數據彙集在一起​​,但它可以包含有關商店的其他信息,您可以將其用於其他彙總,例如格式,位置等

您應該創建每個銷售和費用表和存儲表之間的關係,然後使用像措施:

[Sales] = SUM(SalesInformation[SaleAmount]) 
[Expenses] = SUM(DailyStoreExpenses[DailyExpense]) 
[Profit] = [Sales] - [Expenses] 

只要你有時間和存儲表正確鏈接到這兩個'事實'表(即銷售和費用),那麼整個事情應該很好地排列。

編輯:

如果要推出這一成周,年等,你有沒有那種費用,那麼你就需要調整您的費用日曆之間關係的相應措施:

[Expenses] = SUM(DailyStoreExpenses[DailyExpense]) * COUNTROWS(DateTable) 

這將基本上採用該特定過濾器上下文中的天數,並將開銷乘以它。

+0

嗨雅各布。非常感謝您花時間回覆。也許我沒有很好地解釋這個問題,但「Store Expense」表是靜態的,因爲_only_包含每個商店一個值。該值是上一個財政年度的平均日運營成本,或者「我們需要每天花費500美元來支付成本」的概念。 任何額外的幫助,你可以提供將不勝感激.. – Zam

+0

嘿,改變了我的答案稍微,但它基本上仍然站立。如果您在Store Expenses和Date表之間沒有任何關係,那麼它將起作用。如果您確實不想要額外的表,那麼您可以將'Sales'直接鏈接到費用,並使用'Expenses'中的商店名稱在你的支點和上面的措施應該工作。 – Jacob

+0

嗨,Jacbob。再次感謝你的回覆。我已經採納了您的建議,並簡單地使用了費用表中的SaleLocation名稱作爲我的數據透視表的措施,並按預期工作。爲了學習的目的,我會感興趣的是爲什麼它不能以另一種方式工作(即,如果我使用Sales表中的SaleLocation) – Zam