Django商业智能度量的库存和流量跟踪

django-stockandflow的Python项目详细描述


======
django stock and flow
=====



django stock and flow tracking for business intelligence



installation
===


1。使用"pip"从pypi安装:


…_开发中版本:https://github.com/jesseh/django stockandflow.git

2。将"stockandflow"添加到"已安装的应用程序"设置。

3。创建一个cron作业来调用`./manage.py run_periodic_schedule``以
间隔运行,该间隔至少与您在周期计划程序中注册的最频繁周期相同。每小时,或者每10分钟,
可能就足够了。开始创建库存和流。

_ django:http://www.djangoproject.com/


Introduction
==


django Stock and Flow是一个商业智能工具。我们的目标是将django应用程序中的原始数据转换成可以回答业务问题的视图。
正如django管理界面可以方便地管理
项目中的数据一样,django stock and flow也可以方便地定义,跟踪并呈现项目的业务指标。


django stock and flow背后的理论基于"系统动力学"。维基百科上有关于股票和流量概念的更多信息。


除了跟踪指标外,django stock and flow还有用于在发生流量事件和计算股票时运行自动化代码的钩子。例如,这些
挂钩可用于创建腐烂的库存。系统可以通过一组状态自动转换一个对象,如"热"、"热"和"冷"。


**此应用程序正在开发中。**API可能会以不向后兼容的方式发生变化。


。_`系统动力学`:http://en.wikipedia.org/wiki/system\u dynamics
。_维基百科:http://en.wikipedia.org/wiki/stock_and_flow


关键概念
==


stock
----
一个由queryset定义的累积。

在摘要中,库存是在特定时间
间隔计数的集合,生成库存记录)。对象的状态定义了它在给定股票中的
成员资格。因此,"状态"和"库存"这两个词大致上可以互换。


每个用户都是活跃的=真的。

字段前缀将stock的对象映射到facet中过滤的对象。例如,如果有一个用户在profile对象上有一个profile和一个
facet,比如"yada"="true",那么用户stock将使用
field前缀"profile",这样facet中的字段查找就变成
"profile\uuda"=true。



flow
----
stocks之间的命名关系表示对象从源库到汇库的转换。流允许在一段时间间隔内测量转换
,以跟踪发生率。

没有一个是有效的源或
接收器,表示外部或未跟踪的库存。任何其他类(如
int或string)都可以用作stock stand-in,用于在没有关联的stock实例的状态之间创建流事件


继续stock docstring中的示例,当创建新用户时,将
从none流到stock"active"。跟踪此传输的流可以称为"激活"。激活流将lso将"inactive"作为
源来处理以前不活动的用户再次变为活动用户的情况。


每当为此流创建流事件时,都会调用可选的事件可调用列表。它接收流动的目标、源和汇。使用
的一个例子是每次激活流发生时发送一封电子邮件。



facet
----
facet用于将库存或流拆分为子查询。例如,一个
可以跟踪用户,然后基于is_active添加一个facet来跟踪有多少
是活动的还是非活动的。

-名称用于引用facet。
-字段查找与过滤器
函数中kwarg的左侧相同。
-值可以是具有flat=true的列表或valuesqueryset。如果它是一个
valuesqueryset,那么它将在每次使用时重新计算。



flow event
----
对象的时间戳事件的抽象基类从一个
库存移动到另一个库存。

flowEvent模型
捕获该类对象上的事件。这种方法避免了使用
泛型外键及其附带的限制。


流事件组合起来创建一个在
时间间隔内测量的流变量。因此,流量将按时间单位(例如a
年)进行测量。


子类必须有一个"subject"外键字段。



有一个模型可以捕获所有库存的库存记录。




flow record和flow facet record
---------
*实现一个给定流及其
facet的流事件的时间框架计数记录。有一个模型可以捕获所有流的流事件记录。



Model Tracker
----
一个常见的用例是在给定模型中的数据发生更改时生成流事件。这个类做了大量的工作来实现这一点。

然后,它会尝试检查
是否有任何流将为该转换生成事件。

states_to_stocks_func接收两个字段值元组,顺序是
它们在fields_to_track中声明。第一个元组列出
字段的前一个值,第二个元组列出字段的当前值。函数必须返回一对stocks元组(它们可以是1元组)。这允许单个模型的
状态由任意数量的子状态/库存组成。然后,将得到的前一个
元组和当前状态元组逐元素进行比较。


可调用函数。

例如,可以使用此函数定期计算库存并生成库存记录。它还可以用于周期性地将对象从一个库存衰减到另一个库存。


周期性计划程序要求cron作业定期调用管理命令
"运行周期性计划"。系统会对每个调用时要运行的
注册函数进行排序。



处理
----


一个视图帮助类,用于将库存分组以在视图中使用。任何库存、流
和相关方面的集合都可以添加到流程中。将流程对象传递给模板是提供给定度量集所需的所有数据的简单方法。

*流程类只是一个框架实现。将来它应该包括助手和模板es以rapd方式报告库存和流量。*



Stock and Flow Admin
---------
这利用了django出色的内置管理功能,为库存和流量提供了出色的功能。通过此接口,可以查看库存和流并应用操作。


StockandFlowAdminsite为每个库存和流注册一个代理模型,以避免管理员站点不希望给定的模型注册多次。


Flow Admin要注册为一个单独的管理站点,这样
它不会用动态创建的库存和
流条目扰乱正常的管理。



usage
===
请参阅"示例"文件夹。这段代码就是一个例子。**它不会
执行。**



寻求帮助
==
django stock and flow正在开发中,文档可以使用一些工作。如果您需要帮助实现此功能,请通过
jesseh@i-iterate.com与我联系。


安装流程。
todo
====

-创建流程记录。
-增强视图以生成流程的通用库存和流程报告。
-使用django 1.3进行测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java什么数据库最类似于Map,每个用户/id存储无限多个“键”和“值”?   java仅使用super pom进行测试   内存不足如何解析java。OutOfMemoryError:Java堆空间在增加堆大小的情况下将意味着延迟OutOfMemoryError   来自另一个类的mysql和java jdbc调用[运行时应用程序]   java通过下拉菜单更改搜索框搜索的内容   JAVAlang.ClassNotFoundException:sun。jdbc。odbc。JdbcOdbcDriver   java Selenium点击链接   JavaSpringHibernate:从唯一值列表中获取对象列表   java Bing广告与桌面身份验证问题   java如何在没有任何外部SDK的情况下从安卓打印到收据打印机?   未调用java菜单片段类   java在IDEA和PyCharm中同时为同一个项目工作   java我们如何为同一个异常提供不同的海关信息   jakarta ee中是否预定义了“请求”和“响应”变量或值?   java更好地解决“之前和之后”难题?   尝试将数据从Excel添加到Java   发送电子邮件的Java代码只适用于一个电子邮件id?   java如何从资产解析XML?