FineBI Quick Start
FineBI Quick Start
What is FinBI
FineBI是商业自主分析软件,类似大众熟悉的Tableau和PowerBI,相比于使用Excel的优势在于
- 轻量,速度快(部署在远端服务器,本地的操作全部在网页完成)
- 支持数据库同步(链接数据库,数据下载和Query查询都可以实现,而且更快更简单)
- 丰富的对图/表的支持,和Excel透视表功能类似,同时已经构建了大量常用功能
FineBI是商业自主分析软件,类似大众熟悉的Tableau和PowerBI,相比于使用Excel的优势在于
Induction reasoning aims at developing a theory. It moves from specific observations to general conclusions. The quality of the conclusions obtained via induction depends on the quality of observations and analysis.
eg.
Observations:
Howard is a men. Howard is mortal.
Conclusion:
All men are mortal.
Mathematical Induction should not be confused with induction reasoning used in philosophy. This mathematical methods examines infinitely many cases to prove a general statement by a finite chain of deductive reasoning.
Deduction reasoning aims at testing an existing theory. It formulate hypothesis and accept/reject it with data and facts. Deduction is idea-first followed by observations to draw a conclusion. Deduction's conclusions are solid.
eg.
Theory: All men are mortal.
Observation: Howard is a men.
Conclusion: Howard is mortal.
.Net
Environment
Visual Studio Code
.omnisharp.usemodernnet
omnisharp.monopath
telemetry
(it sends analytics to
Microsoft)python里and or的规则:强制转化为bool类型,表达式的值是从左到右第一个能够确定表达式的变量的值
1 | >>> 0 or 1 |
Counter
is a pythonic way to handle counting repeating
elements in a list.
1 | from collections import Counter |
if it is about aggregate data -- copy and paste (minus)
if it is about detail data -- try datacompy
in
python
1 | import datacompy # pip install datacompy |
what it does is joining two tables and comparing each column and each row.
HEAD is a symbolic ref pointing the branch which is also a ref pointing the latest commit oid. like this
1 | $ cat .git/HEAD |
In this case, if u make a new commit, git will not actually change the HEAD but change the branch pointed by HEAD. Bad thing happens if u checkout a commit by its oid. Checking a commit by its oid means HEAD will be not be a symbolic ref and HEAD will point at a commit directly. like this
1 | $ git checkout e53fae9913340f71ade680e5b1c477892a2abd90 |
e53fae9913340f71ade680e5b1c477892a2abd90
is a commit
id.
U will get a warning when u try
git checkout <commit oid>
1 | Note: switching to 'e53fae9913340f71ade680e5b1c477892a2abd90'. |
Now if u do some changes and commits, HEAD will record everything. But if u switch to a branch, u will lose the changes and commits because there is no branch tracking ur modification (these commits are recorded by git but u can only track them via their oid). U should avoid this situation (create a new branch instead), or tag the commits before leaving.
数仓分层:
ODS(Operational Data Store): 原始数据、和业务系统保持一致 (ODS layer stores real-time layer while Data Warehouse stores historical data.)
DWD(Data Warehouse Detail): 以业务需求为驱动,将原始数据清洗整合为事实表
DWS(Data Warehouse Summary): 以分析的主题对象为建模驱动,构建宽表
ADS(Application Data Service)/DM(Data Mart): 最终根据需求建立Table/Dashboard
MILP -- Mixed Integer Linear Programming
CVXPY
is an interface which is
compatible with multiple solvers like CBC
,
CPLEX
, GUROBI
, etc.
1 | import numpy as np |
Modify git commit message
NANO
to VIM
:
git config --global core.editor vim
git commit --amend
or
git commit --amend -m "New commit message."
git add <files>
git rebase -i HEAD~N
(modify \(N^{th}\) latest commit message) or
git rebase -i <commit id>
(you can only modify commit
message after <commit id>
) or
git rebase -i --root
(modify from root commit).pick
to reword
=> save and close
editor :wq
=> for each chosen commit, a new text editor
will open.git push --force <remote name> <branch name>