DAX计数/计数A函数

DAX计数/计数A函数,dax,Dax,我看过很多关于COUNT和COUNTA的帖子,但我似乎不知道如何正确使用它 我是DAX的新手,正在学习我的方法。我已经试着去查了一下,找到了一些我需要去的地方,但不完全是这样。我想我对如何应用过滤器感到困惑 情况如下: 用于生成报告中数据的四个独立查询;但DAX功能只需使用两个(产品和显示)。 我有三列需要筛选,如下所示: DisplayCountCalcCol = 'GD-DP-Merge'[CustID] & 'GD-DP-Merge'[Brand] & 'GD-DP-Mer

我看过很多关于
COUNT
COUNTA
的帖子,但我似乎不知道如何正确使用它

我是DAX的新手,正在学习我的方法。我已经试着去查了一下,找到了一些我需要去的地方,但不完全是这样。我想我对如何应用过滤器感到困惑

情况如下: 用于生成报告中数据的四个独立查询;但DAX功能只需使用两个(
产品
显示
)。 我有三列需要筛选,如下所示:

DisplayCountCalcCol = 'GD-DP-Merge'[CustID] & 'GD-DP-Merge'[Brand] & 'GD-DP-Merge'[Location] & 'GD-DP-Merge'[Order#]
  • 客户(
    显示
    产品
    查询;两者均可)
  • 品牌(
    产品
    查询)
  • 位置(
    显示
    查询)
我想根据数据是否唯一来计算列数。 下面是一个例子:

  • 客户:大批量购买
  • 项目:乐高大积木
  • 品牌:乐高
  • 位置:玩具
中断

  • 客户:大包装购买
  • 项目:乐高星球大战
  • 品牌:乐高
  • 位置:玩具
中断

  • 客户:大包装购买
  • 项目:Surface Pro
  • 品牌:微软
  • 位置:电子设备
中断

  • 顾客:街角的小店
  • 项目:红色自行车
  • 品牌:长途跋涉
  • 位置:机架
在本例中,无论商品是否不同,我们只想查看客户、品牌和位置。我们在前两个记录中看到,客户是“大团购”,品牌是“乐高”,位置是“玩具”。这出现了两次,但我想将其计算为“1”。下一家“大团购”商店的品牌是“微软”,地点是“电子”。它只出现一次,因此不同的计数无论如何都是“1”。这意味着“大批量购买”有两个单独的条目,两个条目的计数均为1。最后是“街角上的小店”,只出现一次,只统计一次

我所拥有的代码的“框架”基本上只是看看我是否能得到一个计数来工作,我可以。从我读过的其他线程来看,我认为问题出在
过滤器上(在下面的示例中没有使用)

TotalDisplays = CALCULATE(COUNTA(products[Brand]))
显然,我不能仅仅计算一个品牌出现的次数,因为这会给我重复的次数。如果满足以下条件,我需要它的唯一性: 客户必须是相同的 品牌必须相同 位置必须相同

如果是这样,我们显然将其视为一个

我知道我咆哮了一点,可能看起来像是在兜圈子,但我一直在想如何解释它。请让我知道,如果我需要编辑这篇文章或后澄清


在我使用DAX完成我的旅程时,请提前向我表示感谢

我相信我找到了答案。我在DAX中使用了一个
naturalnerjoin
来创建一个新的合并表,因为我需要在同一个查询中引用所有值(不知道如何做)。我还创建了一个“unique identity”计算列,该列组合了来自多行的数据,但隐藏在幕后(并没有实际显示在报告中),因此我可以通过这种方式测量唯一值

TotalDisplays = COUNTROWS(DISTINCT('GD-DP-Merge'[DisplayCountCalcCol]))
我的计算列如下:

DisplayCountCalcCol = 'GD-DP-Merge'[CustID] & 'GD-DP-Merge'[Brand] & 'GD-DP-Merge'[Location] & 'GD-DP-Merge'[Order#]
因此,测量
TotalDisplays
现在根据客户ID、品牌和项目位置的唯一值报告不同的行数。为了以防万一,我还输入了一个订单号


谢谢

我是DAX的新手,一直在努力学习Count和CountA公式,你的帖子帮助我找到了答案。我想添加的解决方案,我得到了我的查询:想要计数为正确的时间开始实现,因此,如果有人正在寻找这种答案使用下面,过滤器将选择表和添加字符串,你想要的

RTSA:=计算(计数([RTS]),车辆每日服务[RTS]=“RTSA”)