antvis / S2

⚡️ A practical visualization library for tabular analysis.

Home Page:https://s2.antv.antgroup.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

透视表列头如何能不分组展示?🤔

Zhaohanqi12 opened this issue · comments

🏷 Version

Package Version
@antv/s2 next
@antv/s2-react next
@antv/s2-vue

Sheet Type

  • [√ ] PivotSheet
  • TableSheet
  • GridAnalysisSheet
  • StrategySheet
  • EditableSheet

🖋 Description

透视表是否可以开启列头不分组展示,name相同不自动合并?
before
image
预期after,一样的列头不合并
image

🔗 Reproduce Link

😊 Expected Behavior

😅 Current Behavior

暂不支持

PS: 另外你说的是行头, 不是列头.

但是会出现同样的数据被合并,导致合计出现错误。
有三条数据,但是只展示两条,后面的数据覆盖了前面一条
https://codesandbox.io/p/sandbox/flamboyant-greider-z9zhfg?file=%2Fsrc%2Findex.ts%3A71%2C6

暂不支持

PS: 另外你说的是行头, 不是列头.

但是会出现同样的数据被合并,导致合计出现错误。
有三条数据,但是只展示两条,后面的数据覆盖了前面一条
https://codesandbox.io/p/sandbox/flamboyant-greider-z9zhfg?file=%2Fsrc%2Findex.ts%3A71%2C6

但是会出现同样的数据被合并,导致合计出现错误。
有三条数据,但是只展示两条,后面的数据覆盖了前面一条
https://codesandbox.io/p/sandbox/flamboyant-greider-z9zhfg?file=%2Fsrc%2Findex.ts%3A71%2C6

好的,近期看一下咋回事

你两条数据都一样, 是会被覆盖的, 符合预期

image

你可以预处理下数据, 遍历数据给相同的维值增加一个序号, 然后渲染时通过 meta 再格式化去除这个序号, 就能实现你想要的不分组展示

const customRowDataConfig: S2DataConfig = {
  fields: {
    rows: ["name", "title"],
    values: ["number"],
  },
  data: [
    {
      name: "張三-1",
      title: "被合并1",
      number: 1223,
    },
    {
      name: "張三-2",
      title: "被合并1",
      number: 555,
    },
    {
      name: "里斯",
      title: "123",
      number: 3344,
    },
  ],
  meta: [
    {
      field: 'name',
      formatter: (v) => v.split('-')[0] 
    }
  ]
};

image

你两条数据都一样, 是会被覆盖的, 符合预期

image

你可以预处理下数据, 遍历数据给相同的维值增加一个序号, 然后渲染时通过 meta 再格式化去除这个序号, 就能实现你想要的不分组展示

const customRowDataConfig: S2DataConfig = {
  fields: {
    rows: ["name", "title"],
    values: ["number"],
  },
  data: [
    {
      name: "張三-1",
      title: "被合并1",
      number: 1223,
    },
    {
      name: "張三-2",
      title: "被合并1",
      number: 555,
    },
    {
      name: "里斯",
      title: "123",
      number: 3344,
    },
  ],
  meta: [
    {
      field: 'name',
      formatter: (v) => v.split('-')[0] 
    }
  ]
};

image

谢谢提供方案