<< Click to Display Table of Contents >> 1.33添加SQL数据集复制链接 |
请求地址 |
http://ip:port/bi/api?action=saveSQLQuery&token=xxxx |
|
请求消息 |
请求参数 |
请求参数:xmlData(必填) <?xml version="1.0" encoding="UTF-8"?> <info> <path>咖啡中国市场销售数据</path> <dbsource>Demo Data_zhCN</dbsource> <sql>SELECT * from 咖啡中国市场销售数据</sql> <material>false</material> <sqlParse>false</sqlParse> <fullData>false</fullData> <forbidDownload>false</forbidDownload> <note>备注</note> <cols> <col> <name>update_date</name> <alias>更新时间2</alias> <isDim>true</isDim> </col> <col> <name>create_date</name> <alias>创建时间2</alias> <isDim>true</isDim> </col> <datecol> <basecol>create_date</basecol> <level>day</level> <alias>day1</alias> </datecol> <hiers> <hiers-name>测试1</hiers-name> <basecol>create_date</basecol> <datecol> <level>year</level> <alias>year1</alias> </datecol> <datecol> <level>month</level> <alias>month11</alias> </datecol> </hiers> </cols> <params> <param> <name>Short</name> <type>int</type> <direction>IN</direction> <multiple>true</multiple> <value>1,2,3,4</value> <popup>false</popup> <hide>true</hide> <values> <dataset> <type>sql</type> <path>咖啡中国门店订单数据</path> <lcol>col1</lcol> <vcol>col2</vcol> </dataset> </values> </param> </params> <measureFolders> <folder> <name>财务数据1</name> <folder> <name>财务数据3</name> <cols> <col>总成本</col> </cols> </folder> <cols> <col>销量</col> <col>利润</col> </cols> </folder> </measureFolders > <dimensionFolders> </dimensionFolders> </info> |
参数描述 |
•path(必填):数据集的路径。如果该路径不存在, 则创建sql数据集。否则修改该路径的数据集。 •dbsource(必填):数据源路径。 •sql(必填):sql语句。 •material(抽取数据)(选填): 物化查询或者释放物化查询。值只能是true和false。 •sqlparse:是否支持勾选SQL解析器(9.4.2开始改为性能优化),值为true/false。 •fulldata:是否添加SQL数据集的全量数据,值为true/false。 •forbidDownload(选填):是否禁止下载,值为true/false,默认为false。 •note(选填):数据集的备注。 •cols(选填): 需要定义别名的列集合。如果某列没有设置别名,则按照修改前的别名设置该列的别名。 •cols-col(选填):定义数据列 。 •cols-col-name(必填): 列名(不区分大小写)。 •cols-col-alias(选填):列别名。如果要取消列的别名,不写该参数即可。 •cols-col-isDim(选填):设置此列是否为维度列,true为维度列,false为度量列。如果接口中定义了此列的文件夹,以文件夹的定义优先;接口中新建的日期列不支持设置维度/度量列,按产品通用逻辑默认为维度列。 •datecol(选填):日期列。 •datecol-basecol(日期列中必填):日期列基于的列,需要选择日期类型的列。 •datecol-level(日期列中必填):日期列的层次,当前支持输入的值包括dateyear、quarter、 month、 week、 day、 hour、minute、second、fiveminute、 year、 quarterpart、monthpart、weekpart、daypart、hourpart、minutepart、secondpart、 weekday。 •datecol-alias(选填):日期列的别名。如果要取消列的别名,不写该参数即可。 •hiers(选填):日期层次。 •hiers-name(选填):日期层次的名称。 •hiers-basecol(日期层次中必填):新建日期层次基于的列,需要选择日期类型的列。 •hiers-datecol(日期层次中必填):新建日期层次中的日期列, •hiers-datecol-level(日期层次日期列中必填):新建日期层次列的层次,,当前支持输入的值包括dateyear、 quarter、 month、week、 day、hour、 minute、 second、fiveminute、year、 quarterpart、monthpart、 weekpart、 daypart、 hourpart、minutepart、secondpart、 weekday。 •hiers-datecol-alias(选填):新建日期层次列的别名。如果要取消列的别名,不写该参数即可。 设置参数相关参数: •params(选填):数据集中设置的参数集合。 •params-param(选填):数据集中设置的参数 •params-param-name(参数中必填):数据集中设置的参数名。 •params-param-type(参数中必填):数据集中设置的参数类型,支持填写的类型有string、boolean、float、double、int、short、long、char、byte、date、time、dateTime。 •params-param-direction(参数中必填):数据集中设置的参数方向。 •params-param-multiple(参数中选填):参数是否多个值,true表示多个值,false表示单个值、空,默认为false。 •params-param-value(参数中选填):如果Multiple为true,对应value为多个值且用逗号分隔;如果Multiple为false,value可以为单个值或空值。 •params-param-popup(参数中选填):参数是否弹出,值为true/false,默认为true。 •params-param-hide(参数中选填):二次引用是否隐藏,值为true/false,默认为false。 •params-param-values(选填):参数可选值,可以为空,也可以为数据集。 •params-param-values-dataset(参数可选值中选填):可选值的数据集。 •params-param-values-dataset-type(可选值数据集中必填):数据集的类型,目前支持sql、mongo、excel、composite、cloud、embed、custom、data_flow 、mdx、neo4j、restful、stream、flowreplcaequery。 •params-param-values-dataset-path(可选值数据集中必填):数据集的全路径。 •params-param-values-dataset-vcol(可选值数据集中必填):参数可选值来自数据集哪个列。 •params-param-values-dataset-lcol(选填):参数可选值的标签来自数据集哪个列。 •params-param-values-dataset-aggregation(选填):动态值的聚合函数类型,包括Sum,Avg,Max,Min,Count,ApproximateCount,DistinctCount,Correlation,Covariance,Median,Mode,PopulationStandardDeviation,PopulationVariance,Product,PthPercentile,Quartile,Range,StandardDeviation,StandardError,SumSQ,SumWT,Variance,WeightAvg。 •params-param-values-dataset-with(选填):动态值的聚合函数类型参数,当params-param-values-dataset-aggregation值为Correlation、Covariance、SumWT、WeightAvg时,输入数据集中的列名;params-param-values-dataset-aggregation值为PthPercentile、Quartile时输入正整数值。 ➢说明: •当且仅当<multitple>为false,<popup>为false,<value>为空,<values>不为空时,<aggregation>和<with>参数才有意义。 •当且仅当<aggregation>为Correlation、Covariance、PthPercentile、Quartile、SumWT、WeightAvg时,<with>参数才生效。 设置字段分组相关参数: •measureFolders/ dimensionFolders(选填):measureFolders代表度量文件夹,dimensionFolders代表维度文件夹。 •measureFolders-folder/dimensionFolders-folder(选填):在维度/度量文件夹下添加的子文件夹。 •measureFolders-folder-folder/dimensionFolders-folder-folder(选填):在维度/度量文件夹下添加的子文件夹下,再新建的子文件夹。 •measureFolders-folder-name/dimensionFolders-folder-name(folder中必填):维度/度量文件夹下新建的子文件夹名称,名称可以和不同路径下的文件夹名称重复,但是不能和同一路径的文件夹名称重复。 •measureFolders-folder-folder-name/dimensionFolders-folder-folder-name(folder中必填):在维度/度量文件夹下添加的子文件夹下,再新建的子文件夹名称,名称可以和不同路径下的文件夹名称重复,但是不能和同一路径的文件夹名称重复。 •measureFolders--folder-folder-cols/dimensionFolders-folder-folder-cols(选填):在维度/度量文件夹下,再新建子文件夹中数据列的集合。 •measureFolders-folder-folder-cols-col /dimensionFolders-folder-cols-col (选填):在维度/度量文件夹下,再新建子文件夹中包含的数据列。(除了datecol采用别名),列名不可为空 。如果想要添加的列已分组到其他文件夹,会将数据列重新分组到新设置的文件夹。 •当manual.sort.repository=true时,文件夹中的列的顺序按照folders-folder-cols中输入col的顺序排列,否则文件夹中的列的顺序只能按数据源中(按查询时的顺序,即SQL中的顺序)或字母顺序排列。 |
|
示例 |
function saveSqlQuery() { var xml = getXml(); $.post("http://" + ip + ":" + port + "/" + project + "/api?action=saveSQLQuery&token=xxxx", { xmlData : xml }, function( result) { writeXml(result) }); } |
|
响应消息 |
响应结果 |
•操作成功 <?xml version="1.0" encoding="UTF-8"?> <results> <result> <level>1</level> <message>Save Success</message> </result> </results> 未输入measureFolders/dimensionFolders、measureFolders-folder/dimensionFolders-folder、measureFolders-folder-folder/dimensionFolders-folder-folder也可以保存成功,即维度与度量分组情况保持默认设置、不创建子文件夹。 输入measureFolders/dimensionFolders,measureFolders-folder/dimensionFolders-folder,measureFolders-folder-name/dimensionFolders-folder-name,未输入measureFolders-folder-cols/dimensionFolders-folder-cols或measureFolders-folder-cols-col、measureFolders-folder-cols-col,也可以保存成功,即创建所输入名称的文件夹,但文件夹中不包含任何列。 •操作失败,输入了measureFolders-folder/dimensionFolders-folder,但未输入measureFolders-folder-name/dimensionFolders-folder-name标签,或输入measureFolders-folder-name/dimensionFolders-folder-name的标签值为空。 <?xml version="1.0" encoding="UTF-8"?> <results> <result> <level>6</level> <message>保存失败,请输入文件夹名称</message> </result> </results> •操作失败,measureFolders-folder-cols-col/dimensionFolders-folder-cols-col标签值为空。 <?xml version="1.0" encoding="UTF-8"?> <results> <result> <level>6</level> <message>保存失败,输入的列名不可为空</message> </result> </results> •操作失败,单次调用中输入了两个相同的measureFolders-folder-name/dimensionFolders-folder-name标签值。 <?xml version="1.0" encoding="UTF-8"?> <results> <result> <level>6</level> <message>保存失败,已存在文件夹XXX</message> </result> </results> •操作失败,单次调用中输入了两个相同的measureFolders-folder-cols-col/dimensionFolders-folder-cols-col标签值。 <?xml version="1.0" encoding="UTF-8"?> <results> <result> <level>6</level> <message>保存失败,列XX已存在于文件夹YYY </message> </result> </results> •操作失败,输入的measureFolders-folder-cols-col/dimensionFolders-folder-cols-col标签值在数据集中不存在。 <?xml version="1.0" encoding="UTF-8"?> <results> <result> <level>6</level> <message>保存失败,列XX不存在</message> </result> </results> |
结果描述 |
响应结果信息为xml,直接parse即可。 •level 返回类型,不同数值代表不同返回状态,见附录。 •message为接口操作结果信息 |