PBI DAX 查询前 N 个以返回文本

Posted

技术标签:

【中文标题】PBI DAX 查询前 N 个以返回文本【英文标题】:PBI DAX Query for Top N to return Text 【发布时间】:2021-08-03 14:50:40 【问题描述】:

我正在尝试编写 DAX 查询以返回销售额最高的供应商名称(数据类型为文本)。我有一个查询返回销售额最高的供应商的销售额,但我需要与此相反。我试过做与我在这里相反的事情,但它不起作用。我知道这里有一个简单的解决方案,但无法弄清楚如何获得我需要的东西。

Top Air Vendor = VAR 
    RankingContext = VALUES ('Dim Vendor'[Vendor Name])
    RETURN
           CALCULATE('Fact Invoice'[Air Volume],
           TopN(1,All('Dim Vendor'[Vendor Name]),
           [Air Volume]),
           RankingContext)

我也试过了:

Top Air Vendor = Calculate ( Selectedvalue ('Dim Vendor'[Vendor Name] ),
    TopN (1, ('Fact Invoice'), [Air Volume], Desc) )

它确实返回了航空公司名称,但排名中的某些内容是错误的。它返回第三高的值,但我不知道为什么。

我也有类似的查询,例如:

Top Air Vendor Tickets % = VAR 
    RankingContext = VALUES ('Dim Vendor'[Vendor Name])
    RETURN
        CALCULATE('Fact Invoice'[Air Tickets],
            TopN(1, ALL('Dim Vendor'[Vendor Name]), [Air Tickets]),
            RankingContext) / [Air Tickets]

【问题讨论】:

这是一个非常相似的问题:***.com/questions/52525377/… @AlexisOlson 谢谢,似乎仍然无法正常工作。 【参考方案1】:

能够通过稍微简化 DAX 代码来解决它:

Top Air Vendor = TOPN(1,ALLNOBLANKROW('Dim Vendor'[Vendor Name]),
      'Fact Invoice'[Air Volume],desc)

【讨论】:

以上是关于PBI DAX 查询前 N 个以返回文本的主要内容,如果未能解决你的问题,请参考以下文章

Power BI - Tabular - 模型类型

DAX 第九篇:文本函数

PBI之模拟ABC 分析矩阵的建模(一)

使用 Fill in ADOMD 限制检索的行数

DAX,IF函数,使用两种类型的数据类型(数字和文本)

使用DAX在Power Bi中进行计算时,文本函数中的错误