一站式报告和分析生成和计算,包括电池
python-slick-reporting的Python项目详细描述
Django Slick报道
一站式报告引擎包括电池。在
它的作用:
给定一个包含一些数据的模型(例如:OrderLine model);Slick Reporting允许您计算任何类型的统计信息 (总和、平均值等)在任何领域使用简单直观的类比。 它还允许您在时间序列和交叉表中使用这些计算单位。在
特点
- 对外键进行不同的计算分组。在
- 这些计算也可以在时间序列报表上计算,比如monthly,并具有自定义日期功能。在
- 计算可用于交叉表报表
- 创建自定义计算
- 优化速度!在
- ……还有更多
用法
来自高层
您可以使用SampleReportView,它是django.views.generic.FormView的子类,如下所示
^{pr2}$这将返回一个页面,其中的表如下所示
Product | Total Quantity | Total Value |
Product 1 | 8 | 120 |
Product 2 | 13 | 240 |
你也可以做一个每月的时间序列:
# in views.pyfromslick_reporting.viewsimportSampleReportViewfrom.modelsimportMySalesItemsclassMonthlyProductSales(SampleReportView):report_model=MySalesItemsdate_field='date_placed'group_by='product'columns=['name','sku']# Analogy for time seriestime_series_pattern='monthly'time_series_columns=['__total_quantity__']
将它挂接到您的urls.py,它将返回一个页面,其中的表如下所示:
^{tb2}$此示例代码假定“MySalesItems”模型包含字段“product”作为外键,“quantity”作为数字,以及“date_placed”作为日期字段。它还假设您的“Product”模型有一个SKU字段。。改变这些来更好地适应你的结构。 –
处于低水平
您可以使用与sampleportview相同的语法与ReportGenerator进行交互。在
fromslick_reporting.generatorimportReportGeneratorfrom.modelsimportMySalesModelreport=ReportGenerator(report_model=MySalesModel,group_by='product',columns=['title','__total__'])report.get_report_data()#-> [{'title':'Product 1', '__total__: 56}, {'title':'Product 2', '__total__: 43}, ]
这只是一个划痕,更多信息请访问文档
文档
运行测试
创建一个虚拟环境(可能使用virtual slick_reports_test),激活它;然后
$ git clone git+git@github.com:ra-systems/django-slick-reporting.git $cd tests $ python -m pip install -e .. $ python runtests.py # Or for Coverage report $ coverage run --include=../* runtests.py [-k]$ coverage html
贡献
我们遵循Django’s guidelines准则。在
- 项目
标签: