Excel PowerPivot DAX计算字段

Zam*_*Zam 2 excel excel-formula powerpivot dax

我觉得我手上有一个相对简单的问题,只是无法让它工作.让我先说一下我是DAX的新手.

请考虑以下PowerPivot数据模型:

在此输入图像描述

它由Sales Records表组成,该表连接到Date查找表,以及"Daily Expenses"表."每日费用"表存储单个值,该值表示每天运行特定交易地点的平均成本.

生成数据透视表非常容易,它为我提供了每个[插入日期]每个商店的总销售额.我所追求的是DAX配方,它将计算每家商店每天的利润 - 即.总销售额减去DailyExpenses(运营成本):

在此输入图像描述

从理论上讲,这应该很简单,但我对如何利用DAX行上下文感到困惑.

尝试失败:

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

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

利润:= SUM(SalesInformation [SaleAmount] - 相关(DailyStoreExpenses [DailyExpense])

等等

任何帮助赞赏.

Jac*_*cob 6

Zam,不幸的是你失败的尝试并不接近:-)

答案和最佳实践是使用名为"Stores"的第4个表,其中包含每个商店的唯一记录 - 这不仅有助于汇总来自两个事实表的数据,还可以包含有关商店的其他信息,您可以用于替代聚合,例如格式,位置等.

您应该在每个Sales和Expenses表与Store表之间创建关系,然后使用以下度量:

[Sales] = SUM(SalesInformation[SaleAmount])
[Expenses] = SUM(DailyStoreExpenses[DailyExpense])
[Profit] = [Sales] - [Expenses]
Run Code Online (Sandbox Code Playgroud)

如果您将日期和商店表正确链接到两个"事实"表(即销售和费用),那么整个事情应该很好地排列.

编辑:

如果您想将其推广到数周,数年等,并且您在费用和日历之间没有任何关系,那么您需要相应地调整您的费用计量:

[Expenses] = SUM(DailyStoreExpenses[DailyExpense]) * COUNTROWS(DateTable)
Run Code Online (Sandbox Code Playgroud)

这将基本上采用特定过滤器上下文中的天数并将费用乘以它.