bi有一组数据需要按某个数值字段${取数值}进行升序排序并显示连续排名怎么写公式

image.png

FineBI yzm802555 发布于 2025-2-27 16:43
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-2-27 16:45(编辑于 2025-2-27 20:18)

加错地方了。要在组件的里面加,不是在公式列加!!!

这种聚合函数不能在数据中的公式去增加的。数据中的公式是常规的。组件中的添加计算字段才可以增加这种聚合函数,然后再添加到你的分组表中就行了

image.png

  • yzm802555 yzm802555(提问者) RANK_ANLS(SUM_AGG(${取年月}),0,"asc") 这样写提示不能直接输出聚合函数
    2025-02-27 16:47 
  • CD20160914 CD20160914 回复 yzm802555(提问者) 不能这样套。你的取年月这个是数字?
    2025-02-27 16:48 
  • yzm802555 yzm802555(提问者) 回复 CD20160914 是的
    2025-02-27 16:48 
  • CD20160914 CD20160914 回复 yzm802555(提问者) 你的取年月是公式,要用常规的公式,你取年月字段之前也用了聚合函数了吧。你再套一个def函数看,不知道你的取年月计划的逻辑,可以不要那一段用def套取年月的公式后,直接再套我上面的函数
    2025-02-27 16:49 
  • yzm802555 yzm802555(提问者) 回复 CD20160914 取年月字段是这样设的:LEFT(${合同签约时间},4)+MID(${合同签约时间},6,2)
    2025-02-27 16:51 
最佳回答
0
用户k6280494Lv6资深互助
发布于2025-2-27 16:45
DEF(RANK_AGG([],[SUM_AGG(取数值),"asc"],"UNIQUE"),[取数值])

这里的公式解释如下:

  • RANK_AGG([],[SUM_AGG(取数值),"asc"],"UNIQUE") 是用于计算连续升序排名的公式。

  • DEF 函数用于将聚合函数的结果转为明细计算,以便在数据编辑中使用。

最佳回答
0
小陈PhLv3初级互助
发布于2025-2-27 17:40

在帆软FineBI中,如果你有一组数据需要按某个数值字段进行升序排序并显示连续排名,你可以使用FineBI提供的排名函数来实现这一需求。具体来说,你可以使用RANK()函数或DENSE_RANK()函数。以下是具体的操作步骤和公式写法:

使用RANK()函数

RANK()函数会为相同数值的项分配相同的排名,但后续的排名会跳过。例如,如果有两个数值相同的项排在第1名,那么下一个数值不同的项将排在第3名。

公式写法:

sql

复制代码

RANK() OVER (ORDER BY ${取数值} ASC) AS 连续排名

使用DENSE_RANK()函数

DENSE_RANK()函数与RANK()类似,但它不会跳过后续的排名。例如,如果有两个数值相同的项排在第1名,那么下一个数值不同的项将排在第2名。

公式写法:

sql

复制代码

DENSE_RANK() OVER (ORDER BY ${取数值} ASC) AS 连续排名

在FineBI中设置步骤

打开FineBI设计器:登录FineBI设计器,并打开你需要编辑的仪表板或数据集。

编辑数据集:选择你需要排序并添加排名的数据集,点击编辑。

添加计算字段:在数据集编辑界面,点击“添加计算字段”。

输入公式:在计算字段的公式框中输入上述的RANK()或DENSE_RANK()公式。例如:

sql

复制代码

DENSE_RANK() OVER (ORDER BY [你的数值字段名] ASC) AS 连续排名

注意:将[你的数值字段名]替换为你实际的数值字段名,如果使用了FineBI的变量${取数值},则直接使用${取数值}。

保存并应用:保存计算字段并应用更改。

查看结果:在仪表板中查看修改后的数据集,你应该能看到按指定数值字段升序排序后的连续排名。

示例

假设你的数值字段名为销售额,那么公式将写成:

sql

复制代码

DENSE_RANK() OVER (ORDER BY 销售额 ASC) AS 连续排名

或者,如果你使用FineBI的变量:

sql

复制代码

DENSE_RANK() OVER (ORDER BY ${销售额} ASC) AS 连续排名

通过以上步骤,你就可以在FineBI中实现按数值字段升序排序并显示连续排名的需求。

  • 4关注人数
  • 68浏览人数
  • 最后回答于:2025-2-27 20:18
    请选择关闭问题的原因
    确定 取消
    返回顶部