我基本上试着按所有国家的费用顺序来获得前十名的索赔。排名很简单,我已经建立了排名。
=Rank([Estimated Loss Amount Home Currency];([Claim ID]);Top)
但我该如何应用它,使其成为每个国家的前十名呢?目前,我已经在这个国家设立了一个分支机构,所以它对每个国家的索赔进行了排序。因此,例如,澳大利亚有21项索赔(这是全部索赔,并将其排名为1-21)。当我把我的排名变量作为前十名的筛选器时,它会在我的整个数据集上这样做,而不是每个国家,所以我最终只在澳大利亚获得了前十名,而失去了其他国家。
我在SQL中重新创建了它,这很容易,只是无法理解Webi
我正在编写一个查询,以获取每个领域的前十名。查询正确地返回了排名,但是当我尝试只获取前十名时,它返回了一个无法识别的名称错误,即使我声明了它的名称。
with rank as (
select RANK() OVER (PARTITION BY area ORDER BY total_orders_last30days DESC)
FROM `dataset`)
SELECT orders, name, area,
FROM `dataset` where rank<=10
在Business Objects XI Web Intelligence中,Rank函数返回密集结果。例如,当按“数量”排名时,我只想返回前十条记录。然而,三项记录在“数量”上并列第五。结果是总共12条记录:1到4位和6到10位各一条记录,第五位3条记录。
期望的结果是一个“稀疏”的前十名,它丢弃了排名最低的两个记录(第9位和第10位)。
为了获得上个月玩家的统计值,我使用以下查询:
SELECT COUNT(*) FROM test WHERE player='player1' AND statistic=0 AND time > DATE_SUB(now(), INTERVAL 1 MONTH)
现在我想要价值最高的前十名球员。
示例:
player1的值为40 (来自上面的查询)
player2的值为78 (来自上面的查询)
player3的值为21 (来自上面的查询)
现在的排名必须是:
player2
player1
player3
但我怎样才能对排名排序呢?因为我需要上面查询
我想找到measure排名前十的国家
measure = CALCULATE(SUM(PSL[Commitment Value EUR]), PSL[PSL Flag] = "Global" || PSL[PSL Flag] = "Local") / SUM(PSL[Commitment Value EUR])
这个measure给了我正确的和预期的值,但是当我把它放到过滤器中去获取top N where N = 10 by this measure时,17 countries被过滤了,而不是10。我不知道我哪里出了问题。
有什么办法来衡量前十名的国家吗?