根据筛选结果展示不同的列顺序

表格格式:

 产品ID          颜色           尺寸            说明书                  材质 .............. 

123456         白色        5MM*5MM    HTTP//:.....        605不锈钢 

789521        黑色                                                           聚酯纤维 

...................

 ................... 

.................... 

看板中我需要用产品ID进行筛选,然后筛选出来对应产品,有信息的列在前面展示,没有信息的列自动挪移到后面

FineBI yzm255419 发布于 2024-10-29 14:51
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2024-10-29 14:52

BI目前不支持你的需求

  • yzm255419 yzm255419(提问者) 那根据筛选,展示有信息的列,没有信息的列不展示 这个可以实现吗
    2024-10-29 14:54 
  • snrtuemc snrtuemc 回复 yzm255419(提问者) 不支持
    2024-10-29 14:54 
  • yzm255419 yzm255419(提问者) 回复 snrtuemc 那利用SQL的话 在看板里能实现吗
    2024-10-29 14:55 
  • snrtuemc snrtuemc 回复 yzm255419(提问者) BI列没法动态的。。
    2024-10-29 14:57 
最佳回答
0
CD20160914Lv8专家互助
发布于2024-10-29 14:55(编辑于 2024-10-29 15:15)

不要移动列,而是增加对应列的辅助列。。。比如你的属性有5列,你在数据源中继续增加5列,对他们5列判断。

比如哪一列有数据,就把它放在增加5列的里面,然后最终展示这5列公式判断出来的结果就行了

sql server中写语法,拼成一列后,你在bi中按_拆分列,这样所有有数据的就展示在最前面了!!

SELECT 

    CONCAT(

        ISNULL(NULLIF(Column1, ''), '_'), -- 如果Column1为空,则返回空字符串,否则返回Column1的值

        '_',

        ISNULL(NULLIF(Column2, ''), '_'),

        '_',

        ISNULL(NULLIF(Column3, ''), '_'),

        '_',

        ISNULL(NULLIF(Column4, ''), '_'),

        '_',

        ISNULL(NULLIF(Column5, ''), '')  -- 最后一个列后不加_

    ) AS ConcatenatedColumn

FROM 表名称;

image.png

拼成的结果。最后BI用这一列拆分列

拆分行列- FineBI帮助文档 FineBI帮助文档

image.png

  • yzm255419 yzm255419(提问者) 可以举个例子吗,看的有点懵
    2024-10-29 14:56 
  • CD20160914 CD20160914 回复 yzm255419(提问者) 你是什么数据库?
    2024-10-29 15:12 
  • CD20160914 CD20160914 回复 yzm255419(提问者) 其它数据库,你搜索判断空的函数就行了!
    2024-10-29 15:15 
  • 3关注人数
  • 131浏览人数
  • 最后回答于:2024-10-29 15:15
    请选择关闭问题的原因
    确定 取消
    返回顶部