jjzjj

javascript - 我需要在 ASP.NET 中编写动态报表生成器代码,应该从哪里开始?

coder 2024-07-18 原文

我的任务是创建一个动态报表生成器来扩展我们当前的产品,该产品应该允许我们的用户相对轻松地配置有用的报表,从他们输入到系统中的数据中提取数据。目前我们手动自定义这些报告,这个过程涉及开发人员(我)接受报告的要求(字段、总计、百分比等)并将结果发布为一个相对交互式的页面,允许“向下钻取”的能力' 在记录行等中获取更多信息。

这些报告并不是非常复杂,但是它们涉及的范围很广,以编程方式生成这些报告似乎是不可能的。我觉得创建一个允许用户自定义报告外观的界面应该不会太难,尽管这本身就涉及到。我不知所措的地方是如何创建一个界面,使完全没有“编程”素养的用户能够轻松生成将提取他们所需信息的 SQL 查询。

事实上,他们需要能够创建这些查询并访问他们输入的数据的内部,而无需意识到他们真正在做什么。我觉得这要按要求工作,报告的生成必须尽可能与魔术没有区别。用户应该能够从可能的数据集中拖放他/她需要的内容,并神奇地生成报告。

我当然准备迎接挑战,但我真的不知道从哪里开始。一旦我开始行动,解决个别问题将变得“容易”(实际上更像是过程的一部分),但开始行动一直充满挑战和挫败感。如果有人能给我提供搜索方向,我不怕投入时间。感谢您的宝贵时间,我期待着一些积极的建议。

最佳答案

我以前被分配过这样的任务。我的建议:不要。除非所需的报告非常基础并且您的用户不关心报告的外观,否则将花费大量时间来实现。当您指示您的单人团队时,请不要这样做。聘请初级开发人员或实习生或其他人来处理这部分工作对您来说(即使从长远来看)会更便宜。

现在,有一些不同的报表设计器。我还没有看到任何可以在网页上完全工作的东西,而且从非程序员的 Angular 来看,它们都非常糟糕。

现在,有很多方法可以解决这个问题。大多数需要这些类型报告的人都知道如何使用 Microsoft Access。您可以利用他们的知识让他们创建自己的报告。这不是微不足道的,因为你不希望他们只是连接到你的数据库。所以,这是我的建议:

  1. 生成与 Access 兼容的可下载数据库
  2. 确保下载的数据库“易于”使用。这意味着要复制数据并使很多事情非规范化
  3. 确保您没有在可下载的数据库中留下任何敏感信息(密码、他们不应该看到的内部信息等)
  4. 最后,确保他们可以安全地下载它并且它是高性能的。您可能需要告诉您的用户可下载的数据库每周或每月仅“同步”一次,因为实时同步该数据库的成本相对较高

关于javascript - 我需要在 ASP.NET 中编写动态报表生成器代码,应该从哪里开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076268/

有关javascript - 我需要在 ASP.NET 中编写动态报表生成器代码,应该从哪里开始?的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  3. ruby - 我需要将 Bundler 本身添加到 Gemfile 中吗? - 2

    当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/

  4. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  5. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  6. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  7. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  8. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  9. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  10. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

随机推荐