我有大量围绕学校,学生,老师,班级,地点等的相关数据
我面临着客户提出的第四项挑战;他们希望报道所有内容。这意味着他们希望能够以任何方式交叉引用数据点,并且我认为我只是编写一个漂亮的查询构建器。 :/
此堆栈问题旨在征求关于如何精美地构建报告界面的意见。
任何建议,参考,例子,jQ插件等都会令人惊叹。
谢谢!
答案 0 :(得分:6)
我发现Trac的查询构建器对于它的目的而言是可以接受的。
但很可能你的客户并不想要一切,他们只是懒得思考他们现在想要的东西。您可以通过一起分析用例来帮助他们做出决定,并且至少提出几种查询,只需几个部分可定制 - 在最坏的情况下 - 或者只是一些他们真正需要的固定查询 - 在最好的。
答案 1 :(得分:4)
您应该安排与客户会面,以确定他们需要做什么。这不意味着让他们猜测如果你的软件可以做任何事情会有多棒,超灵活但又易于使用等等......但是坐下来看看它们是什么现在就做我这样说是因为“哦,我希望能够与其他一切交叉引用所有内容!”听起来有点太熟悉了,可能会以一种丑陋的内部平台效应结束。
我发现与客户进行快速纸张原型设计是探索可能的想法的好方法,因为它将注意力转移到“你能让这个按钮变黄吗?”对“大图片”的问题,让他们下定决心实际需要的东西。另外,它的成本非常低廉。
除此之外,还有一些UI模式语言可以处理潜在的大量互连数据。这些方面的优点在于,您通常可以使用这些模式向您的客户传达想法,因为结构良好的模式语言将引导非专家通过与领域相关的设计决策进行更详细的描述。
答案 2 :(得分:1)
首先,我只能支持其他声音:与客户一起解决他们真正需要的问题。一个很好的论据是“我能做到,但它会花费你一千美元,每个用户都需要Y小时的培训,你需要一个价值100,000美元/年的开发人员来维护它。”
(不幸的是,当时大多数客户更愿意选择那个说“是的,可以做得更便宜!”的人。)
只有第二,只有客户说“是的,我们确实需要一切”:
有效的是列表/网格视图渐进式过滤。而不是构建SQL查询,然后运行它,让用户直接使用结果:例如,右键单击一个单元格,选择“限制为此值”可以添加WHERE colN = <constant>
约束。
您可以为来自SELECT DISTINCT
次调用的列生成建议 - 如果它返回的值少于20个值,则可以为OR组合提供可能值的复选框。
讨论en 优雅的 UI以解决剩余问题:或多个列的OR条件,按多列排序,分组,......