数据如下,需要将下列数据转成第1次时间,第1次地址,第2次时间,第2次地址…显示
最终效果
实现步骤
1、改写sql
需要用count函数计算出最大行数 这也是动态列的最大值,比如这边为7,到时候生成的就到第7次时间,第7次地址
将需要转成动态列的使用group_concat函数 生成新列,到时候在帆软的时候使用split函数切割获取。
2、帆软实现
创建数据集
B1 填写函数 , 并将扩展方向设为横向扩展
RANGE(1,MAX(VALUE(‘ds1’,‘maxColumn’)),1)
value 取到ds1数据集 的maxColumn列
max 取到最大值
range(1,7,1)第一个1 是表示从1开始,7标识到7,第二个1表示步长为1
A2正常输入姓名 默认父格,不扩展
B2 填写函数,并将扩展方向设为横向扩展,上父格自定为B1
CONCATENATE(‘第’,seq(1),‘次时间’)
C2 填写函数,并将扩展方向设为横向扩展,上父格自定为B1
注意:B2和C2的seq()函数里面需要填写不一样的数字,否则他的序号会递增。
CONCATENATE(‘第’,seq(0),‘次反馈’)
A3 正常纵向扩展 父格默认
B3如下图 填写公式定义,设置扩展设置父格
INDEXOFARRAY(SPLIT($$$,‘,’),B1)
split按照‘,’切割单元格的值
indexofarray 按照B1单元格取上列切割后的数组值,这样就可以动态横向扩展了
C3操做如上面B3
下面即可预览
随后将第一行进行隐藏
如果需要将第1次时间 转为中文 第一次时间
可以使用numto函数
最终效果
多数据效果