决策报表图表联动传递的参数在数据集里面查是正确的,但是点击图标数据却没有变化

1

image.png

2

ds1

SELECT

--top 1000

    t.*,

    concat(year_num,'Y',week_num,'W') AS combined_value,

    CASE 

        WHEN cc_type = 'Tech CC' THEN '技术类'  

        WHEN cc_type = 'BO CC' THEN '配件类'

        ELSE '其他类'  

    END AS 类型,

    ISNULL(t1.area, '区域未维护') AS area

FROM 

    smil_dw..courtesy_cost_request_weeknum_currency t

LEFT JOIN 

    smil_dw..dim_aft_company_area_imp t1 

ON 

    t1.approval_company_code = t.approval_company_code

    AND t.buyoff_company_code = t1.buyoff_company_code

WHERE

1=1

${if(len(currency) == 0,"","and target_currency = '" + currency + "'")}  

${if(len(area) == 0,"","and ISNULL(t1.area, '区域未维护') in ('" + area + "')")} 

${if(len(status_adj) == 0,"","and status_adj in ('" + status_adj + "')")}  

${if(len(YearWeek) == 0,"","and concat(year_num,'Y',week_num,'W') in ('" + YearWeek + "')")}  

${if(len(country_code) == 0,"","and country_code in ('" + country_code + "')")}   

${if(len(customer_no) == 0,"","and customer_no in ('" + customer_no + "')")}  

${if(len(cc_type) == 0,"","and cc_type in ('" + cc_type + "')")} 

ORDER BY 

 DATEADD(week, week_num - 1, DATEFROMPARTS(year_num, 1, 1))

3柱状图

SELECT

---concat(year_num,'Y',week_num,'W'),

   CASE 

        WHEN cc_type = 'Tech CC' THEN '技术类'  

        WHEN cc_type = 'BO CC' THEN '配件类'

        ELSE '其他类'  

    END AS 类型,

   cc_type,

count(distinct cc_no)  as cc_no

FROM 

    smil_dw..courtesy_cost_request_weeknum_currency t

LEFT JOIN 

    smil_dw..dim_aft_company_area_imp t1 

ON 

    t1.approval_company_code = t.approval_company_code

    AND t.buyoff_company_code = t1.buyoff_company_code

WHERE

1=1

${if(len(currency) == 0,"","and target_currency = '" + currency + "'")}  

${if(len(area) == 0,"","and ISNULL(t1.area, '区域未维护') in ('" + area + "')")} 

${if(len(status_adj) == 0,"","and status_adj in ('" + status_adj + "')")}  

${if(len(YearWeek) == 0,"","and concat(year_num,'Y',week_num,'W') in ('" + YearWeek + "')")}  

${if(len(country_code) == 0,"","and country_code in ('" + country_code + "')")}   

${if(len(customer_no) == 0,"","and customer_no in ('" + customer_no + "')")}  

${if(len(cc_type) == 0,"","and cc_type in ('" + cc_type + "')")}

  group by 

 -- concat(year_num,'Y',week_num,'W'),

   CASE 

        WHEN cc_type = 'Tech CC' THEN '技术类'  

        WHEN cc_type = 'BO CC' THEN '配件类'

        ELSE '其他类'  

    END,

    cc_type

4、

image.png

5、image.png

FineReport 帆软用户RYtgqeGMo6 发布于 2025-9-15 14:26 (编辑于 2025-9-15 14:47)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
帆软用户RYtgqeGMo6Lv2见习互助
发布于2025-9-15 15:17

2种:

1、把ds1里面的参数那块字段改成case when  形式

2、传系列,分类时候用系列

最佳回答
0
snrtuemcLv8专家互助
发布于2025-9-15 14:29(编辑于 2025-9-15 14:31)

数据中参数名是不是cc_type

是不是用in查询

都要检查下

===========

你先直接report0报表单元格=$cc_type看看取到什么值

  • 帆软用户RYtgqeGMo6 帆软用户RYtgqeGMo6(提问者) 是这个,传递出来的是数值形式,然后我用replace把,换成了','就是可以传递多个参数。我把replace出来的数组放到ds1里面查询出来数据就是正确的
    2025-09-15 14:32 
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-9-15 14:31

找个表报块 看下这个的值

image.png

最佳回答
0
ID1208Lv6高级互助
发布于2025-9-15 14:38

value("柱状图",2) 是取的一整列,这个跟当前系列没有关系吧?

原本的出发点就是不管点击哪个系列,都是传一样的参数值?

  • 帆软用户RYtgqeGMo6 帆软用户RYtgqeGMo6(提问者) 本来取的是系列,但是这个系列被转换过了,ds1只能取原始的字段值,比如'Tech CC' THEN '技术类' ,点击计数类,传过去的参数应该是Tech CC',这样ds1就能过滤Tech CC了,如果传递过去为技术类 ,参数接受不过去
    2025-09-15 14:44 
  • ID1208 ID1208 回复 帆软用户RYtgqeGMo6(提问者) 如果转换单纯是为了显示成中文效果,可以先把转换去掉,然后用原值去传递参数,看看效果
    2025-09-15 15:15 
  • 3关注人数
  • 36浏览人数
  • 最后回答于:2025-9-15 15:17
    请选择关闭问题的原因
    确定 取消
    返回顶部