豪翔天下

Change My World by Program

0%

Klipfolio 手册

  • 这是一个不怎么好用的工具

Data Sources数据源

  • 可以来自系统中已定义好的第三方服务,也可以直接来自于文件上传、API接口、SQL查询、FTP上传、Email附件

  • 可以自定义时间去刷新(1h - 24h),但是如果是文件上传这种是不能自动刷新的

  • 可以支持参数,但是必须依赖于klip变量,例如,可以写成https://haofly.net/{props.pageName},这里的pageName就是klip的变量,如果是第一次访问一个之前没有请求过的参数,那么可能会比较慢,后续的定时刷新也是可以起作用的,刷新的会把所有请求过的参数都请求一遍

  • 由于数据源的接口请求超时时间是80s,对于数据量大的,我们可以创建email形式的数据源,定时往指定的邮箱发送附件即可

  • 数据源的大小默认最大是10MB,通过付费计划可以升级到15MB,但是更大就不行了,并且modelled data也不能超过这个限制,所以要想join几张大表,可以在klip面板使用ARRAY(表1, 表2),或者LOOKUP来查找需要的mapping数据。明明是我自己研究出来的方法,发现官网有文档的: Managing your data source size

  • 如果要在dashboard上手动请求刷新data sources,可以直接data sources的请求刷新接口:

    1
    2
    3
    4
    5
    // 使用html component做一个刷新按钮,然后手动POST接口
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open('POST', 'https://app.klipfolio.com/datasources/ajax_refresh_datasource', true);
    xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xmlHttp.send('di=&dsid=' + data source的id); // 这里加上di表示直接等待它完成,如果不加则是把它放入了刷新队列里面去

klip UI设计

Component

Table

  • 如果想要table中的某个列可以作为group用(多层级),可以在table的Drill Down来进行Group By

HTML Component

  • 只有这个component能够自己写html和js

Hideen Data

  • 在UI设计的时候,左边可以给每个元素添加HIDDEN DATA

Functions

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Array("All", @Column)	# 给数组增加一个元素

CONCAT("Test - ", @Column) # 字符串连接/连接字符串
CONCAT(@Column, "|", "https://google.com/id/") # 给内容加上一个链接

IF(@Country="Canada",@Company Name, BLANK()) # 没匹配上的也会有值

SELECT(@Product, $customVariable=@Name) # 这个没匹配上的就没有值了


REPLACE(@Column, "查找值", "替换值") # 这居然是完全匹配
SUBSTITUTE_REGEX(@Column, "查找值", "替换值") # 这个才和js中的replace类似,且支持正则

SWITCH(data, case1, field, case2, field2, _default_, "默认值") # 右边条件和结果两个两个成对

LOOKUP(&Column: userId, @Table1_Column1, @Table1_Column2);
LOOKUP(
CONCAT(@Table1_Column1, @Table1_Column2),
CONCAT(@Table2_Column1, @Table2_Column2),
CONCAT(@Table2_Column3)
) # 相当于连表查询了,两张表join,然后取最后那个字段的值,这里的CONCAT就相当于多个ON条件了,没匹配上的也会有值

DATEVALUE(DATE_STARTOF(TODAY(),"1",$Year_variable)) # 获取当前年份
DATEVALUE(DATE_STARTOF(TODAY(),"3"),"yyyy MM") # 获取当前月份
坚持原创技术分享,谢谢支持

欢迎关注我的其它发布渠道