gpt4 book ai didi

vb.net - 我如何将大量表格数据拆分成较小的相关表格? (不是数据库问题)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:18 25 4
gpt4 key购买 nike

我真的希望我能以一种易于理解的方式描述这个问题。这是一个我无法开始解决的难题,即使我(大部分)理解它。我只是不确定从哪里开始,我真的希望有人可以让我朝着正确的方向前进。

我有一个大数据表。它描述了对象之间的关系。假设 Y 轴的项目编号为 1-1000,X 轴的项目也为 1-1000。如果 Y 轴上的项目 #234 与 X 上的项目 #791 相关,则表中行和列交叉处会有一个标记。在某些行业中,这被称为真值表。人们可以一眼看出系统中有多少项相互关联。表格中的标记有助于识别趋势和模式。

这里有一些关于表格性质的其他有用信息:

  • 每个项目在任一轴上的关系数 (r) 的完整范围可以是 1 <= r <= axisTotal。
  • X 轴和 Y 轴将共享共同的项目,但每个轴也会有另一个轴没有的项目。
  • 每个项目在每个轴上只存在一次。它可以在 X 和 Y 上,但只能在每个上出现 1 次。
  • 每个轴上的项目总数很可能不相等。每个轴可以包含 50 到 1000 个项目。

最终结果是,这将是一份需要打印的报告。我们已经成功地在一张 11 英寸 X 17 英寸的纸上打印了一张表格,每个轴上有大约 100-150 个项目。再多一点,它就会变得很小,无法阅读。

我想做的是将超大表拆分成更小的表,但相关点需要保持在一起。如果我在 X 上抓取项目 1-100,那么我需要从 Y 中获取它们相关的每个项目。

我已经生成了许多这样的表,虽然关系的数量可以是任意的,但我从未见过一个项目与所有其他项目相关。所以在实际实践中,范围更像是 1 <= r <= (10% * axisTotal)。如果一个项目的关系超出这个范围,它可以被拆分成多个表,但这根本不是最优的。

归根结底,如果将 1000x1000 的项目表分成 8 到 10 个较小的相关表格的打印页,我认为我们和我们的客户会很高兴。

任何指导都会有很大帮助!谢谢。

---编辑---另一件值得注意的事情是,表格中不会有空行或空列。 x 轴和 y 轴上的每个项目都将与相反轴上的至少 1 个项目相关。

---编辑---这是我正在描述的一个小型真值表的示例:Example Truth Table .每一行和每一列至少有一个关系。

---编辑---2011 年 5 月 18 日对于它的值(value),我在这个项目上进展得很好,但我被推迟了几个星期。所以在我回到这个问题之前需要一段时间。但这是我必须尽快解决的问题。

---编辑---2011 年 7 月 11 日无赖。好吧,看来我现在无法解决这个问题。我真的很希望能够解决这个问题。通过讨论,我们决定在 Excel 电子表格中提供真值表作为主报告的附加资源。 Excel 2007 及更高版本将处理 1000 列,这已经足够了。另外,我们添加了一些 VBA,允许查看者双击列标题。此操作会将行减少为仅存在交互的行。然后它删除空列。通过这种方式,他们可以看到一个基于他们想要查看的项目的小子表,并且可以根据需要进行打印。

最佳答案

这不是答案,我只是想尝试更好地可视化您的数据。看起来像这样吗?

        Alice  Bob  Charlie ... Zelda
Shoes X X
Hats X X
Gloves X
...
Pants X

编辑

是否要求以表格格式显示数据?或者你能把每一个都列出来吗?像这样的东西:

  • 爱丽丝
    • 鞋子
  • 鲍勃
    • 帽子
    • 裤子
  • 查理
    • 鞋子
    • 手套
  • 塞尔达
    • 帽子

或者反过来:

  • 鞋子
    • 爱丽丝
    • 查理
  • 帽子
    • 鲍勃
    • 塞尔达
  • 手套
    • 查理
  • 裤子
    • 鲍勃

编辑 2

好的,我制作了另一个更大的真值表,希望能更好地理解您希望如何拆分:

   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 x x x x
2 x x x x x x
3 x x x x
4 x x x
5 x x x
6 x x x
7 x x x
8 x x x

为了争论起见,我们只说一个页面上只能容纳 4 行(因为我不想在这么早的时候打出一个巨大的表格)所以我们将把它分成两页。首先,显示每一行很重要,对吧?其次,您是否需要显示永远没有值的列。例如,YZ 从未在此表中的第 1 行到第 8 行有值,它们可以从报告中排除还是仍然需要存在?第三,行的顺序重要吗?

如果显示完全空的列并不重要,那么我们可以从上表中删除 10 列并将其压缩为:

   A B C E F H I L M O P Q R U V W
1 x x x x
2 x x x x x x
3 x x x x
4 x x x
5 x x x
6 x x x
7 x x x
8 x x x

然后,如果行顺序不重要,您可以通过采用最佳行排列(不一定在此处显示)来进一步压缩它。下面两个表格进一步压缩为 11 和 10 列:

  A B C F H I M P Q R U
1 x x x x
2 x x x x x x
5 x x x
7 x x x

A E H I L M O P U W
3 x x x x
4 x x x
6 x x x
8 x x x

我是不是走错了路?这些只是帮助我更好地了解您的数据和输出要求的问题。

此外,说真的,是否可以选择购买更大的打印机/绘图仪?另外,是否可以只生成 PDF 并使用 Acrobat 的打印图 block 选项?

关于vb.net - 我如何将大量表格数据拆分成较小的相关表格? (不是数据库问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com