我认为我遇到了一个相对简单的问题,只是无法使其正常工作。首先我要说的是我是 DAX 新手。
考虑以下 PowerPivot 数据模型:
它由一个销售记录表和一个“每日费用”表组成,该表连接到一个日期查找表。 “每日费用”表存储一个值,该值代表每天运行特定交易地点的平均成本。
生成一个数据透视表非常容易,它可以为我提供每个[插入日期期间] 每家商店的总销售额。我想要的是一个 DAX 公式,可以计算每家商店每天的利润 - 即。总销售额减去每日费用(运营成本):
理论上,这应该很容易,但我对如何利用 DAX 行上下文感到困惑。
失败的尝试:
利润:=CALCULATE(SUM(SalesInformation[SaleAmount] - DailyStoreExpenses[DailyExpense]))
利润:=CALCULATE(SUM(SalesInformation[SaleAmount] - DailyStoreExpenses[DailyExpense]), DailyStoreExpenses[StoreLocation])
利润:=SUM(销售信息[销售金额] - RELATED(DailyStoreExpenses[DailyExpense])
等等
感谢任何帮助。
最佳答案
Zam,不幸的是,你的失败尝试还没有结束:-)
答案和最佳实践是使用名为“Stores”的第四个表,其中每个商店包含唯一的记录 - 这不仅对于汇集两个事实表中的数据很有用,而且还可以包含有关商店的附加信息您可以将其用于替代聚合,例如格式、位置等
您应该在每个 Sales 和 Expenses 表与 Store 表之间创建关系,然后使用如下度量:
[Sales] = SUM(SalesInformation[SaleAmount])
[Expenses] = SUM(DailyStoreExpenses[DailyExpense])
[Profit] = [Sales] - [Expenses]
如果您将日期和商店表正确链接到两个“事实”表(即销售和费用),那么整个事情应该很好地对齐。
编辑:
如果您想将其汇总为几周、几年等,并且费用和日历之间没有任何关系,那么您需要相应地调整您的费用衡量标准:
[Expenses] = SUM(DailyStoreExpenses[DailyExpense]) * COUNTROWS(DateTable)
这基本上需要特定过滤器上下文中的天数并将费用乘以它。
关于Excel PowerPivot DAX 计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24444176/