Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🤔 透视表组内排序存在数字含义的非数字格式数据排序问题 #2506

Closed
1 of 5 tasks
tufaofu opened this issue Jan 12, 2024 · 3 comments
Closed
1 of 5 tasks
Labels
❔question 疑问/使用问题

Comments

@tufaofu
Copy link

tufaofu commented Jan 12, 2024

🏷 Version

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

Sheet Type

  • PivotSheet
  • TableSheet
  • GridAnalysisSheet
  • StrategySheet
  • EditableSheet

🖋 Description

透视表组内排序数据不一定全是数字,如果数据不是数字格式的,例如百分比,进行组内排序时会按照字符串的规则进行排序,字符串的排序规则对于百分比的排序显然会出现错误,如果想让百分比也按照数字的排序规则进行排序应该如何处理呢?

我尝试过使用sortFunc,但是调用sortFunc方法返回的params参数里的data不是按照分组返回的,我对data里的数据进行排序处理返回后,所有的分组都会依照我返回的顺序进行排序。这样也会出现问题(不同分组的内部数据可能会出现重复,但是它们的顺序不一定是一样的)

🔗 Reproduce Link

百分比排序问题示例:https://codesandbox.io/p/sandbox/blissful-cori-x96vz9?file=%2Fsrc%2Findex.js%3A84%2C13
sortFunc方法排序问题示例:https://codesandbox.io/p/sandbox/interesting-ride-r3sw4q?file=%2Fsrc%2Findex.js%3A76%2C14

😊 Expected Behavior

希望类似百分比等存在数字含义的数据能按照数字的排序规则进行排序

😅 Current Behavior

不符合数字格式的数据都会默认按照字符串的排序规则进行排序

@wuhaiyang
Copy link
Collaborator

Demo 链接打不开

@tufaofu
Copy link
Author

tufaofu commented Jan 18, 2024

我刚刚点击试了,可以打开的呀

@wjgogogo
Copy link
Contributor

wjgogogo commented Jan 18, 2024

  1. 对于百分比的问题:我们更推荐所有的数值都使用 number 类型,而不是 string, 内部对 string 类型的处理很简单,只是简单的 parseFloat 而已,如果想自定义展示的格式,通过 formatter 来处理:https://codesandbox.io/p/sandbox/cool-field-dyfcsv?file=%2Fsrc%2Findex.js%3A44%2C6
  2. 对于第二个问题,排序的设计就是会返回符合 query 的打平后的所有维度,不会单独进行分组,如果需要分组的话,要么可以在 query 里面对 province 再进一步限定,要么拿到所有的 data 后,自行根据 province 分组后再排序

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❔question 疑问/使用问题
Projects
None yet
Development

No branches or pull requests

3 participants