我在 pentaho 仪表板中添加了一个提示。我想在该提示中添加“全部”类别,这意味着当我选择“全部”时,它不应该过滤数据,它应该获取所选类别下的所有数据。你们能帮帮我吗?
3 回答
为此,请使用 Type SQL List 和“All”作为值(注意区分大小写)。一个示例查询将是:
SELECT DISTINCT 'All' AS VAL, 'ALL TERRITORIES' AS DESC FROM customer_w_ter
UNION ALL
select DISTINCT TERRITORY, TERRITORY from customer_w_ter
@Michael Christopher 我使用以下 postgresql 查询来获取数据。
select 'All' as accountclass
,status
,count(guaccountid) as count
from sms_accountinformation
group by status
union
select distinct accountclass
,status
,count(guaccountid)as count
from sms_accountinformation
group by accountclass,status
order by accountclass,status
有没有没有硬编码的替代方案?
数据集如下
"All";"Active";2288
"All";"PD";257
"All";"TD";777
"Customer";"Active";2275
"Customer";"PD";152
"Customer";"TD";359
"Dealer";"Active";13
"Dealer";"PD";105
"Dealer";"TD";418
您需要在查询中做的是添加一个带有“ ALL ”数据的额外行。在为 ALL 部分编写查询时,不需要执行 group by 子句。检查下面的代码(希望它会更清楚):
select distinct
accountclass,
status,
count(guaccountid)as count
from sms_accountinformation
group by accountclass,status order by accountclass,status
union
select 'ALL' as accountclass,
'ALL' as status,
'ALL' as count
from sms_accountinformation
这将为您获取一个带有“ALL”的结果集作为另一行,您可以在过滤器列表中使用它。
希望能帮助到你:)