【问题标题】:Distinct Count by Date in PowerPivot ColumnPowerPivot 列中按日期的不同计数
【发布时间】:2016-03-13 18:27:12
【问题描述】:

我有一个客户,我要从中导入大量数据,但为了缩小范围,它会使用日期列和产品列拉入 powerpivot。他们想查看一件商品(“单卖”)、两件(“双卖”)、三件、四件或更多商品的销售天数的摘要。

我遇到了麻烦,因为他们想通过当天是“单独销售”还是“双重销售”等来总结其余数据。让我们称之为“销售计数”

因为我需要数据透视表的行上的这些“销售计数”值,所以我试图在表中构建一个计算列,按日期对产品进行不同的计数,但似乎无法得到在那里使用 CALCULATE 和/或 FILTER。它似乎总是给我整个表中产品的总不同计数,而不是按每个日期计数。

任何关于我应该使用的 DAX 公式的建议都将不胜感激。 Power Pivot 新手,鉴于 Power Pivot 中的行逻辑很少,我认为我的想法仍然有点过于以卓越为中心。

提前致谢!

已编辑:这是表格

PowerPivot Table

我希望 SalesCount 列中的值对于日期为 2016 年 1 月 1 日的每一行读取 4,对于 2016 年 1 月 2 日为 1,对于 2016 年 1 月 3 日为 2,对于 1/4/ 为 2 2016 年(相当于每天产品的 DISTINCTCOUNT 次)。

然后我想使用条件 IF 语句将这些数字替换为“Solo Sale”“Double Sale”等,以便我可以在数据透视表的行上使用这些值。

【问题讨论】:

  • 老实说,我什么都不懂。请您更具体地说明您需要计算的具体内容(通过示例)。帮助我们为您提供帮助。
  • 原始帖子已编辑以提供更多信息
  • 我对 PowerPivot/DAX 不太了解,但快速浏览了一下。希望有类似 Excel 的 COUNTIFS 函数,但没有乐趣。另一种方法是对枢轴进行枢轴,其中第一个获取您的计数,第二个使用这些计数作为字段。
  • 谢谢@DougGlancy,这就是我认为我的下一次尝试必须要做的事情。你能帮我看看吗?以前从没走过那条路。希望有人能够向我展示如何在 DAX 中执行此操作,因为它会更清洁、更容易更新
  • 我现在时间紧迫,但如果 DAX 事情没有发生,我会在一两天内再次发表评论,我会模拟一些东西。我同意,尽管 DAX 方法更好。

标签: excel pivot-table calculated-columns powerpivot dax


【解决方案1】:

试试这个作为你的计算列:

=CALCULATE(
  DISTINCTCOUNT(Table1[Product]),
  ALLEXCEPT(Table1, Table1[Date])
 )

【讨论】:

  • 成功了,谢谢@greggalloway!你能分解那个 ALLEXCEPT 过滤器的逻辑吗?我很想知道为什么它会起作用,以便我可以利用这个技巧继续前进。
  • @A.Reed ALLEXCEPT 清除表中除日期之外的所有列的过滤器。这使您可以汇总该日期的所有行
  • 谢谢@greggalloway。我想我完全理解这些函数如何通过度量值和应用在那里的过滤器在数据透视表中发挥作用,但我没有意识到这些列中固有地嵌入了过滤器。你有没有很好的文章或资源分解计算列和 DAX 公式我可以阅读?数据太多,无法在 Excel 中将其展平,然后再导入...谢谢!
  • @A.Reed 当然。注意行和过滤上下文的区别:sqlbi.com/articles/row-context-and-filter-context-in-dax
  • 谢谢!很有帮助。看起来我在那个网站上还有很多文章要阅读......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
  • 2016-11-24
  • 2020-05-31
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
相关资源
最近更新 更多