我有一个经过计算的列,它按日期返回每一行的等级。本质上,这一列是对客户进行的采购数量进行排序或“计数”(因为每次他们进行新的购买时,都会添加一个新的行,并且该行的排名比他们以前的购买要高。
Purchase Count = RANKX(FILTER(Purchases,Purchases[ID]=EARLIER(Purchases[ID])), Purchases[Date], ,asc) 结果
请注意,艾莉森有三次购买,如果是她的第一次、第二次或第三次购买,则购买计数列将按日期计算。

我想要的是一个度量,它本质上将计算每个客户的最大值数(这意味着1,因为每个客户只有一个最大值),但是count函数将不接受MAX函数作为输入。即清点(MAXA(购货计数)
我想发展的是这样的东西:

但我所能做的就是:这只是购买计数计算列的一个简单计数(见上文)。我希望条形图与下面的“动态采购(度量)”栏相匹配。换句话说,我希望x轴上的3有一个1的值,因为只有一个人做了3次购买。我让x轴上的2的值为0,因为没有客户购买过2次,我希望x轴上的1有1的值,因为“比利”是唯一只购买了1次的客户。通过简单的统计,它为艾莉森的每一栏增加了一个,因为她已经完成了第一、第二和第三次购买。我只想数数她最大的购买量。我想忽略她第一次和第二次购买

发布于 2017-07-21 17:28:11
我认为以下几点可能会有所帮助。我使用DAX导出了下表。然后,您可以在视觉的值选择中使用计数(不同)来获取您想要的内容。

我很快就把这个堆叠的柱状图连同它一起扔到了一起:

它显示:史蒂夫有一个最大的购买数为1;约翰和比利都有一个最大的购买计数,每个2;艾莉森有一个最大的购买计数3。
我提到的计数(不同)设置如下:

下面是添加MaxPerCustomer和CountOfMaxPerCustomerMatches列的DAX代码:
MaxPerCustomer = if(calculate(max(Table11[Purchase Count]),filter(Table11,Table11[Name]=earlier(Table11[Name])))=Table11[Purchase Count],calculate(max(Table11[Purchase Count]),filter(Table11,Table11[Name]=earlier(Table11[Name]))),BLANK())和
CountOfMaxPerCustomerMatches = calculate(COUNT(Table11[MaxPerCustomer]),filter(Table11,Table11[MaxPerCustomer]=EARLIER(Table11[MaxPerCustomer])))编辑增编如下:(本增编是对您的评论的回应)
然后,您也可以根据上面所做的创建一个新的表。

...using Table = GROUPBY(Table11,Table11[MaxPerCustomer],"CountOfMaxPerCustomerMatchesGrouped",countx(CURRENTGROUP(),Table11[MaxPerCustomer])),它将给您提供以下内容:

然后使用该新表进行可视化:


发布于 2017-08-21 15:47:49
我想出的解决方案可能不是最优雅的解决方案,但它绕过计算过的列和表,没有考虑到切片器。
1)我在Power中创建了一个表,该表只是使用CALENDAR函数生成的整数。
Counts = SELECTCOLUMNS(
CALENDAR(DATE(1900, 1, 2), DATE(1900, 1, 6)),
"Count", DATEDIFF(DATE(1900, 1, 1), [Date], DAY)
)

2) I交叉连接,将表计数到原始表,并且只选择必要的列。
PurchaseCounts = CROSSJOIN(
SELECTCOLUMNS(Purchases,
"Date", Purchases[Date],
"ID", Purchases[ID]
),
Counts
)

3)在那个交叉表中,我添加了所需的度量。
CustomerCount = CALCULATE(
DISTINCTCOUNT(PurchaseCounts[ID]),
FILTER(
GROUPBY(PurchaseCounts,
PurchaseCounts[ID], PurchaseCounts[Count],
"PurchaseCount", COUNTX(CURRENTGROUP(), PurchaseCounts[Date])
),
PurchaseCounts[Count] = [PurchaseCount]
)
)

4)我制作了一些快速的可视化工具和一个基于交叉表的切片器。按日期过滤时,直方图显示期望值。

https://stackoverflow.com/questions/45242453
复制相似问题