\documentclass[10pt,a4paper]{article}

% Packages
\usepackage{fancyhdr}           % For header and footer
\usepackage{multicol}           % Allows multicols in tables
\usepackage{tabularx}           % Intelligent column widths
\usepackage{tabulary}           % Used in header and footer
\usepackage{hhline}             % Border under tables
\usepackage{graphicx}           % For images
\usepackage{xcolor}             % For hex colours
%\usepackage[utf8x]{inputenc}    % For unicode character support
\usepackage[T1]{fontenc}        % Without this we get weird character replacements
\usepackage{colortbl}           % For coloured tables
\usepackage{setspace}           % For line height
\usepackage{lastpage}           % Needed for total page number
\usepackage{seqsplit}           % Splits long words.
%\usepackage{opensans}          % Can't make this work so far. Shame. Would be lovely.
\usepackage[normalem]{ulem}     % For underlining links
% Most of the following are not required for the majority
% of cheat sheets but are needed for some symbol support.
\usepackage{amsmath}            % Symbols
\usepackage{MnSymbol}           % Symbols
\usepackage{wasysym}            % Symbols
%\usepackage[english,german,french,spanish,italian]{babel}              % Languages

% Document Info
\author{athlonk7}
\pdfinfo{
  /Title (finebi.pdf)
  /Creator (Cheatography)
  /Author (athlonk7)
  /Subject (FineBI Cheat Sheet)
}

% Lengths and widths
\addtolength{\textwidth}{6cm}
\addtolength{\textheight}{-1cm}
\addtolength{\hoffset}{-3cm}
\addtolength{\voffset}{-2cm}
\setlength{\tabcolsep}{0.2cm} % Space between columns
\setlength{\headsep}{-12pt} % Reduce space between header and content
\setlength{\headheight}{85pt} % If less, LaTeX automatically increases it
\renewcommand{\footrulewidth}{0pt} % Remove footer line
\renewcommand{\headrulewidth}{0pt} % Remove header line
\renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit
% This two commands together give roughly
% the right line height in the tables
\renewcommand{\arraystretch}{1.3}
\onehalfspacing

% Commands
\newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour
\newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols
\newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns
\newcommand{\tn}{\tabularnewline} % Required as custom column type in use

% Font and Colours
\definecolor{HeadBackground}{HTML}{333333}
\definecolor{FootBackground}{HTML}{666666}
\definecolor{TextColor}{HTML}{333333}
\definecolor{DarkBackground}{HTML}{A3A3A3}
\definecolor{LightBackground}{HTML}{F3F3F3}
\renewcommand{\familydefault}{\sfdefault}
\color{TextColor}

% Header and Footer
\pagestyle{fancy}
\fancyhead{} % Set header to blank
\fancyfoot{} % Set footer to blank
\fancyhead[L]{
\noindent
\begin{multicols}{3}
\begin{tabulary}{5.8cm}{C}
    \SetRowColor{DarkBackground}
    \vspace{-7pt}
    {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent
        \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}}
    }
\end{tabulary}
\columnbreak
\begin{tabulary}{11cm}{L}
    \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{FineBI Cheat Sheet}}}} \\
    \normalsize{by \textcolor{DarkBackground}{athlonk7} via \textcolor{DarkBackground}{\uline{cheatography.com/125357/cs/24101/}}}
\end{tabulary}
\end{multicols}}

\fancyfoot[L]{ \footnotesize
\noindent
\begin{multicols}{3}
\begin{tabulary}{5.8cm}{LL}
  \SetRowColor{FootBackground}
  \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}}  \\
  \vspace{-2pt}athlonk7 \\
  \uline{cheatography.com/athlonk7} \\
  \end{tabulary}
\vfill
\columnbreak
\begin{tabulary}{5.8cm}{L}
  \SetRowColor{FootBackground}
  \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}}  \\
   \vspace{-2pt}Published 24th August, 2020.\\
   Updated 24th August, 2020.\\
   Page {\thepage} of \pageref{LastPage}.
\end{tabulary}
\vfill
\columnbreak
\begin{tabulary}{5.8cm}{L}
  \SetRowColor{FootBackground}
  \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}}  \\
  \SetRowColor{white}
  \vspace{-5pt}
  %\includegraphics[width=48px,height=48px]{dave.jpeg}
  Measure your website readability!\\
  www.readability-score.com
\end{tabulary}
\end{multicols}}




\begin{document}
\raggedright
\raggedcolumns

% Set font size to small. Switch to any value
% from this page to resize cheat sheet text:
% www.emerson.emory.edu/services/latex/latex_169.html
\footnotesize % Small font.

\begin{multicols*}{4}

\begin{tabularx}{3.833cm}{x{0.92691 cm} x{2.50609 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{基础概念}}  \tn
% Row 0
\SetRowColor{LightBackground}
业务包 & \seqsplit{数据管理概念,可以理解为上层文件夹和下层文件夹。} \tn 
% Row Count 3 (+ 3)
% Row 1
\SetRowColor{white}
数据集 & \seqsplit{数据集的作用是降低业务直接获取数据的难度,也给业务和} IT \seqsplit{的交互提供了一个对象。} \tn 
% Row Count 7 (+ 4)
% Row 2
\SetRowColor{LightBackground}
基础表 & \seqsplit{根据其数据来源类型,可以分为} 数据库 DB \seqsplit{表、SQL数据集、Excel} \seqsplit{数据集、服务器数据集} \tn 
% Row Count 11 (+ 4)
% Row 3
\SetRowColor{white}
\seqsplit{自助数据集} & \seqsplit{经过分析加工过的数据集。} \tn 
% Row Count 13 (+ 2)
% Row 4
\SetRowColor{LightBackground}
字段 & \seqsplit{数据表中的字段,通常作为组件中的「维度」和「指标」。} \tn 
% Row Count 16 (+ 3)
% Row 5
\SetRowColor{white}
维度 & 分析数据的角度。 \tn 
% Row Count 17 (+ 1)
% Row 6
\SetRowColor{LightBackground}
指标 & 是对维度的量化。 \tn 
% Row Count 18 (+ 1)
% Row 7
\SetRowColor{white}
聚合 & \seqsplit{若干行按照一定的标准变成一行,汇总到更高类别的行级别数据。} \tn 
% Row Count 21 (+ 3)
% Row 8
\SetRowColor{LightBackground}
\seqsplit{直连模式} & \seqsplit{直连就是直接连接数据库取数据。} \tn 
% Row Count 23 (+ 2)
% Row 9
\SetRowColor{white}
\seqsplit{本地模式} & \seqsplit{数据需要抽取到引擎中,后续的分析需要从引擎来取数进行。} \tn 
% Row Count 26 (+ 3)
% Row 10
\SetRowColor{LightBackground}
\seqsplit{实时数据} & \seqsplit{直连模式下直接连接数据库获取实时的数据(最新的数据)。} \tn 
% Row Count 29 (+ 3)
% Row 11
\SetRowColor{white}
\seqsplit{抽取数据} & \seqsplit{本地模式下将数据库的数据抽取到引擎存储,保存数据业务包从数据库中取出来,可支持离线使用。} \tn 
% Row Count 34 (+ 5)
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\end{tabularx}
\par\addvspace{1.3em}

\begin{tabularx}{3.833cm}{x{1.06423 cm} x{2.36877 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{数据加工}}  \tn
% Row 0
\SetRowColor{LightBackground}
选字段\{\{ac\}\} & \seqsplit{选择创建的自助数据集中,需要从业务包添加进来做数据加工处理的表和字段} \tn 
% Row Count 4 (+ 4)
% Row 1
\SetRowColor{white}
过滤\{\{ac\}\} & \seqsplit{根据业务需求,对选择的字段按条件进行筛选过滤} \tn 
% Row Count 7 (+ 3)
% Row 2
\SetRowColor{LightBackground}
分组汇总\{\{ac\}\} & \seqsplit{对原始数据根据条件进行分组统计以简化数据} \tn 
% Row Count 10 (+ 3)
% Row 3
\SetRowColor{white}
新增列\{\{ac\}\} & \seqsplit{在不影响原数据的情况下通过对现有数据列进行计算而得到的一个新的数据列} \tn 
% Row Count 14 (+ 4)
% Row 4
\SetRowColor{LightBackground}
字段设置\{\{ac\}\} & \seqsplit{对已添加到自助数据集中的字段进行重新设置,包括重新选择、修改字段名等} \tn 
% Row Count 18 (+ 4)
% Row 5
\SetRowColor{white}
排序\{\{ac\}\} & \seqsplit{设置对字段按条件的顺序排列} \tn 
% Row Count 20 (+ 2)
% Row 6
\SetRowColor{LightBackground}
左右合并\{\{ac\}\} & \seqsplit{将两张表左右合并在一起形成一张新的表,包括并集合并、交集合并、左合并、右合并} \tn 
% Row Count 25 (+ 5)
% Row 7
\SetRowColor{white}
上下合并\{\{ac\}\} & \seqsplit{将多个类似的数据表数据合并成联合结果集} \tn 
% Row Count 28 (+ 3)
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\end{tabularx}
\par\addvspace{1.3em}

\begin{tabularx}{3.833cm}{x{1.64784 cm} x{1.78516 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{\seqsplit{仪表板快速计算函数}}}  \tn
% Row 0
\SetRowColor{LightBackground}
\seqsplit{period\_anls(x\_agg(array)}, datepart) & \seqsplit{根据横纵轴或行列维度添加的日期字段进行上期末的计算。} \tn 
% Row Count 4 (+ 4)
% Row 1
\SetRowColor{white}
\seqsplit{same\_period(x\_agg(array)}, datepart) & \seqsplit{根据横纵轴或行列维度添加的日期字段进行同期值的计算。} \tn 
% Row Count 8 (+ 4)
% Row 2
\SetRowColor{LightBackground}
\seqsplit{previous\_period(x\_agg(array))} & \seqsplit{根据横纵轴或行列维度添加的日期字段进行环期值的计算。} \tn 
% Row Count 12 (+ 4)
% Row 3
\SetRowColor{white}
\seqsplit{acc\_sum(x\_agg(array)},range) & \seqsplit{根据横纵轴或行列维度添加的字段对指标进行跨行累计的计算。} \tn 
% Row Count 17 (+ 5)
% Row 4
\SetRowColor{LightBackground}
\seqsplit{rank\_anls(x\_agg(array)}, range, order) & \seqsplit{根据横纵轴或行列维度添加的字段对指标进行跨行排名的计算。} \tn 
% Row Count 22 (+ 5)
% Row 5
\SetRowColor{white}
\seqsplit{total(x\_agg(array)}, range, agg) & \seqsplit{根据横纵轴或行列维度添加的字段对指标进行跨行汇总的计算。} \tn 
% Row Count 27 (+ 5)
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\SetRowColor{LightBackground}
\mymulticolumn{2}{x{3.833cm}}{\seqsplit{快速计算函数仅在添加计算指标中支持,是对聚合函数字段的一种计算,参数均需添加聚合函数或者聚合指标。}}  \tn 
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\end{tabularx}
\par\addvspace{1.3em}

\begin{tabularx}{3.833cm}{x{1.0299 cm} x{2.4031 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{仪表板聚合函数}}  \tn
% Row 0
\SetRowColor{LightBackground}
\seqsplit{MIN\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的最小值,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 6 (+ 6)
% Row 1
\SetRowColor{white}
\seqsplit{COUNT\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回某字段的计数,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 11 (+ 5)
% Row 2
\SetRowColor{LightBackground}
\seqsplit{MAX\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的最大值,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 17 (+ 6)
% Row 3
\SetRowColor{white}
\seqsplit{MEDIAN\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的中位数,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 23 (+ 6)
% Row 4
\SetRowColor{LightBackground}
\seqsplit{COUNTD\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回某字段的去重计数,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 29 (+ 6)
% Row 5
\SetRowColor{white}
\seqsplit{VAR\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的方差,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 35 (+ 6)
\end{tabularx}
\par\addvspace{1.3em}

\vfill
\columnbreak
\begin{tabularx}{3.833cm}{x{1.0299 cm} x{2.4031 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{仪表板聚合函数 (cont)}}  \tn
% Row 6
\SetRowColor{LightBackground}
\seqsplit{AVG\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的汇总平均值,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 6 (+ 6)
% Row 7
\SetRowColor{white}
\seqsplit{STDEV\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的标准差,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 12 (+ 6)
% Row 8
\SetRowColor{LightBackground}
\seqsplit{SUM\_AGG(array)} & \seqsplit{根据当前分析维度,动态返回指标字段的汇总求和值,生成结果为一动态数据列,行数与当前分析维度行数一致。} \tn 
% Row Count 18 (+ 6)
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\SetRowColor{LightBackground}
\mymulticolumn{2}{x{3.833cm}}{\seqsplit{聚合函数提供了不同汇总方式选择,包括【求和,平均,中位数,最大值,最小值,标准差,方差,去重计数,计数】。当将包含聚合函数的计算指标添加到组件的指标栏后,随着用户分析维度的切换,计算字段数据会自动跟随维度动态调整。}}  \tn 
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\end{tabularx}
\par\addvspace{1.3em}

\begin{tabularx}{3.833cm}{x{1.7165 cm} x{1.7165 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{自助数据集函数库}}  \tn
% Row 0
\SetRowColor{LightBackground}
IF(boolean,number1/string1,number2/string2) & \seqsplit{判断函数,boolean} 为 true \seqsplit{时返回第二个参数,为} false 时返回第三个 \tn 
% Row Count 5 (+ 5)
% Row 1
\SetRowColor{white}
ABS(number) & \seqsplit{返回指定数字的绝对值。} \tn 
% Row Count 7 (+ 2)
% Row 2
\SetRowColor{LightBackground}
ROUND(number,num\_digits) & \seqsplit{返回某个数字按指定位数舍入后的数字。} \tn 
% Row Count 10 (+ 3)
% Row 3
\SetRowColor{white}
INT(number) & \seqsplit{返回数字下舍入(数值减小的方向)后最接近的整数值。} \tn 
% Row Count 14 (+ 4)
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\SetRowColor{LightBackground}
\mymulticolumn{2}{x{3.833cm}}{\seqsplit{用于自助数据集新增列、过滤}}  \tn 
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\end{tabularx}
\par\addvspace{1.3em}

\begin{tabularx}{3.833cm}{p{0.61794 cm} x{2.81506 cm} }
\SetRowColor{DarkBackground}
\mymulticolumn{2}{x{3.833cm}}{\bf\textcolor{white}{图表类型选择}}  \tn
% Row 0
\SetRowColor{LightBackground}
饼图 & \seqsplit{用于表示不同项目占总数的百分比情况} \tn 
% Row Count 2 (+ 2)
% Row 1
\SetRowColor{white}
\seqsplit{柱形图} & \seqsplit{用于展示比较不同分组的各个分类数据的数值大小} \tn 
% Row Count 5 (+ 3)
% Row 2
\SetRowColor{LightBackground}
\seqsplit{折线图} & \seqsplit{用于显示随时间变化的连续数据} \tn 
% Row Count 7 (+ 2)
% Row 3
\SetRowColor{white}
表格 & \seqsplit{用于直接展示原始统计数据} \tn 
% Row Count 9 (+ 2)
% Row 4
\SetRowColor{LightBackground}
地图 & \seqsplit{用于表现地理位置数据信息} \tn 
% Row Count 11 (+ 2)
% Row 5
\SetRowColor{white}
\seqsplit{散点图} & \seqsplit{通过散点的大小、颜色、位置等指标展示多维度数据} \tn 
% Row Count 14 (+ 3)
% Row 6
\SetRowColor{LightBackground}
\seqsplit{关系图} & \seqsplit{用于表现数据层级隶属关系或两个维度双向分布情况} \tn 
% Row Count 17 (+ 3)
% Row 7
\SetRowColor{white}
\seqsplit{组合图} & \seqsplit{由两个或多个图表组合展示的图表类型} \tn 
% Row Count 19 (+ 2)
% Row 8
\SetRowColor{LightBackground}
\seqsplit{词云图} & \seqsplit{通过每个标签的大小与标签的频率成正比形成图案} \tn 
% Row Count 22 (+ 3)
% Row 9
\SetRowColor{white}
\seqsplit{仪表盘} & \seqsplit{用于突出展示单一指标数据} \tn 
% Row Count 24 (+ 2)
\hhline{>{\arrayrulecolor{DarkBackground}}--}
\end{tabularx}
\par\addvspace{1.3em}


% That's all folks
\end{multicols*}

\end{document}