【问题标题】:Sorting portfolios based on criterias根据标准对投资组合进行排序
【发布时间】:2016-11-09 20:12:08
【问题描述】:

我当前的表是这样的

公司-----年份----规模-----交易所

A-----------2000-----80--------A

A-----------2001-----85--------A

B------------2002-----90-----C

我想将公司分为“大”和“小”两类。

对于某一年,如果公司规模大于交易所 A 当年公司规模的中位数,则称为“BIG”。 像这样的,

=if([size]>MEDIANX(filter(filter(tbl1,[Year]=A),[Year]),[size]),"Big","Small")

我知道我使用过滤器的方式是错误的。我不知道该怎么做。请帮我。

【问题讨论】:

    标签: excel sorting filtering powerpivot


    【解决方案1】:

    您的问题措辞不是特别好,因为它让我想知道我在回答时是否做出了正确的假设,但基本上我认为您需要像 Median 的数组公式之类的东西。

    =IF(C2>MEDIAN(IF($D$2:$D$5="A",IF($B$2:$B$5=B2,$C$2:$C$5))),"Big","Small")
    

    如果那一年的公司规模大于交易所 A 当年公司规模的中位数,这应该给你“大”。

    【讨论】:

    • 感谢您的回答,我很抱歉我的措辞不佳。您理解正确,但不幸的是,您提供的公式似乎没有给我正确的答案。
    • 是的,刚刚检查过,您是对的,Median 和数组发生了一些奇怪的事情,如果我将其更改为 SUM,那么它工作正常,您可能需要看看是否有其他人可以弄清楚为什么会这样案子。我刚刚用谷歌搜索它,它似乎与其他人所做的一致,例如here.
    【解决方案2】:

    我假设您要求 PowerPivot 解决方案,因为您的问题已被标记为此类。

    DAX(又名 Power Pivot)公式 MEDIAN() 仅在 Excel 2016 的预览版中可用(请参阅此处:https://msdn.microsoft.com/en-us/library/dn802551.aspx)。

    但是,您可以使用 RANKX() 简单地构建自己的中值逻辑

    首先,添加一个名为[RankInExchangeA]的新列:

    =If([Exchange]="A",RANKX(FILTER(Table1,[Exchange]="A" && EARLIER([year])=[year]),[size]),Blank())
    

    EARLIER() 函数基本上表示ThisRowsValue()

    现在添加您想要的大/小列:

    =If([Exchange]="A",If([RankInExchangeA]<=CALCULATE(max([RankInExchangeA]),filter(Table1,EARLIER([year])=[year]))/2,"Small","Big"),"Other Exchange")
    

    编辑:在公式中添加了年份条件。

    编辑 2: 如 cmets 中所述,以下公式可以使用 MEDIANX()

    =IF([size]>MEDIANX(FILTER(Table,[Exchange]="A"&&EARLIER([date])=[date]),[size]),‌​"Big","Small")
    

    【讨论】:

    • 是的,我要求 Powerpivot 解决方案。我正在使用 excel 2016,它具有 median() 和 medianx() 函数。我认为,在您的公式中,您没有考虑年份过滤器。
    • 你说得对。我在答案中添加了年份条件。我也会尝试使用 Median() 提供解决方案,但由于我没有可用的 Excel 2016,我无法测试公式。
    • @Djeeramon 非常感谢。如果我想用相同的标准(交换 A 和年份)将它们分配到三组(前 30%、中 40% 和后 30%),我该如何编辑您提供的解决方案?
    • @Djeeramon 我使用以下公式完成了大/小分配。 =IF([size]>MEDIANX(FILTER(Table,[Exchange]="A"&&EARLIER([date])=[date]),[size]),"Big","Small") 。非常感谢您的大力帮助。
    • 要分成多个组,您可以使用Switch() 函数修改公式。有关如何使用公式的更多详细信息,请参阅:powerpivotpro.com/2012/06/dax-making-the-case-for-switch
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多