Birt report - 计算符合条件的次数
Birt report - count the number of times it matches a criteria
╔═══╦════════════╦═════════════╗
║id ║ TV# ║ Time ║
╠═══╬════════════╬═════════════╣
║ 1 ║ TV1 ║ 0 ║
║ 2 ║ TV2 ║ 10 ║
║ 3 ║ TV3 ║ 0 ║
║ 4 ║ TV3 ║ 20 ║
║ 5 ║ TV3 ║ 21 ║
║...║ ... ║ ... ║
╚═══╩════════════╩═════════════╝
我想为每个 TV# 计算元素 id 的数量,时间 > 0。
在这种情况下,我希望结果为:
TV1 - 0 ;电视2-1; TV3 - 2
我正在使用 BIRT 报告,我尝试了不同的方法来获取它,但我无法得到我想要的。
我尝试了不同的方法,这是我目前使用的方法:
数据立方体,汇总字段(度量)
函数:计数
表达式:测量["id"]
过滤器:测量["Time"]>0
然后我使用聚合生成器:
函数:Count or Sum
表达式:测量["id"]
过滤器:测量["Time"]>0
聚合于:GroupTV#
当我使用 count 时,这将返回:仅 0 和 1(当至少有一个 Time>0 时,它会向 TV# 提供“1”),即电视1-0;电视2-1; TV3 - 1
当我使用 sum 时,返回的是:每个 TV# 出现在 table 上的次数(当至少有一个 Time>0 时那个频道),即 TV1 - 无输出;电视2-1; TV3 - 3
有人可以帮助我吗?
w=12=WILL.y.:w=11=w
w=10=sh
这两种方法都应该有效,但是在您的示例中,您计算的是特定 id 而不是 'TV#' 的出现次数。
当然,由于 ID 是唯一的,因此每个 ID 最多只能出现一次。
你需要:
函数:计数
表达式:从 'id' 更改为 'TV#'
过滤器:测量["Time"] > 0
不要在数据立方体、交叉表或图表上使用过滤器,只需在数据集上进行过滤。
╔═══╦════════════╦═════════════╗
║id ║ TV# ║ Time ║
╠═══╬════════════╬═════════════╣
║ 1 ║ TV1 ║ 0 ║
║ 2 ║ TV2 ║ 10 ║
║ 3 ║ TV3 ║ 0 ║
║ 4 ║ TV3 ║ 20 ║
║ 5 ║ TV3 ║ 21 ║
║...║ ... ║ ... ║
╚═══╩════════════╩═════════════╝
我想为每个 TV# 计算元素 id 的数量,时间 > 0。 在这种情况下,我希望结果为:
TV1 - 0 ;电视2-1; TV3 - 2
我正在使用 BIRT 报告,我尝试了不同的方法来获取它,但我无法得到我想要的。
我尝试了不同的方法,这是我目前使用的方法:
数据立方体,汇总字段(度量)
函数:计数
表达式:测量["id"]
过滤器:测量["Time"]>0
然后我使用聚合生成器:
函数:Count or Sum
表达式:测量["id"]
过滤器:测量["Time"]>0
聚合于:GroupTV#
当我使用 count 时,这将返回:仅 0 和 1(当至少有一个 Time>0 时,它会向 TV# 提供“1”),即电视1-0;电视2-1; TV3 - 1
当我使用 sum 时,返回的是:每个 TV# 出现在 table 上的次数(当至少有一个 Time>0 时那个频道),即 TV1 - 无输出;电视2-1; TV3 - 3
有人可以帮助我吗?
这两种方法都应该有效,但是在您的示例中,您计算的是特定 id 而不是 'TV#' 的出现次数。 当然,由于 ID 是唯一的,因此每个 ID 最多只能出现一次。
你需要:
函数:计数
表达式:从 'id' 更改为 'TV#'
过滤器:测量["Time"] > 0
不要在数据立方体、交叉表或图表上使用过滤器,只需在数据集上进行过滤。