gpt4 book ai didi

powerpivot - 获取计算列中最常见的项目

转载 作者:行者123 更新时间:2023-12-02 08:26:51 26 4
gpt4 key购买 nike

我已经想出如何在度量中完成与以下等效的操作,但我需要将其用作 Power View 图表中的图例,因此需要在计算列中完成。从计算字段到计算列的上下文变化完全把我搞砸了。

在我的数据模型中,我有一张工作申请表。每条记录都有一个专业和申请公司的地址。每个专业可以在表中多次出现。

应用表:

ApplicationID | Name | Specialty | City | State

  1. 32911 |Joe Bob | Engineering | Miami | Florida
  2. 89547 |Ralph Kramden | Shouting | New York | New York

等等

我还有一个状态表。它只有州名和邮政缩写的列。我需要创建一个列,其中包含每个州最常出现的专业。

如果我可以将其作为计算字段来执行,我早就完成了。我只是使用了一个非常简单的 topn 应用程序:

Top Specialty := FIRSTNONBLANK (TOPN (3, VALUES (ApplicationTable[Specialty]),[Count of ApplicationID], ApplicationTable[Specialty])

我使用了 FIRSTNONBLANK 和 TOPN(3...),因为有些州只有几个申请,所以每个专业只出现一次。在我的申请中,在这些情况下只选择列表中的第一个专业就可以了。

无论如何,这个公式很酷,但在这里没有帮助。那么如何在计算列中执行等效操作,以便将其用作键或筛选器?具体来说,我认为我需要在 StateTable 中执行此操作,为我提供 ApplicationTable 中每个州出现次数最多的专业名称。想法?

最佳答案

首先,创建一个计算专业的基本度量:

SpecialtyCount :=
COUNTA ( ApplicationTable[Specialty] )

接下来,创建一个度量来找出最高的单一专业(在上下文中):

MostSpecial :=
MAXX ( VALUES ( ApplicationTable[Specialty] ), [SpecialtyCount] )

最后,向您的 States 表添加一个计算列:

=
FIRSTNONBLANK (
ApplicationTable[Specialty],
IF (
[SpecialtyCount]
= CALCULATE ( [MostSpecial], VALUES ( ApplicationTable[Speciality] ) ),
1,
BLANK ()
)
)

通过将其作为计算列,我们的筛选上下文是每个州。因此,首先 PowerPivot 会将 ApplicationTable 过滤为状态内的应用程序,然后它会使用 FIRSTNONBLANK() 遍历每个 ApplicationTable[Specialty],计算其 SpecialtyCount 并查看它是否等于该州内的 MostSpecial 计数。如果是,则它不是空白,这就是它返回的专业。

关于powerpivot - 获取计算列中最常见的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com