Hana视图创建问题函数.docx
- 文档编号:17624833
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:14
- 大小:1.39MB
Hana视图创建问题函数.docx
《Hana视图创建问题函数.docx》由会员分享,可在线阅读,更多相关《Hana视图创建问题函数.docx(14页珍藏版)》请在冰点文库上搜索。
Hana视图创建问题函数
Hana视图创建步骤以及问题总结
注:
目前操作中遇到的问题和函数总结在内,后续会更新
一属性视图(维度、时间、等级、衍生,多个主数据关联)
1.选择相应的包,右键包名字,选择属性视图,如下图1:
图1
2.输入视图name,description后,点击finish。
图2
3.点击HNSD/AttrbuteView/ATT_TEST视图,出现如下图3所示:
图3
4.选择相应维度表,拖拽到设计区域的DataFoundation区域,选择相应字段输出,如下图4所示,也可以在右侧output〉〉calculatedcolumns新建计算列
图4
5.设置主键字段,选择输出字段,把keyattribute由false改为true,如图5:
图5
6.保存、激活编译,如图6所示
图6
7.预览数据,在图的右侧可以以表或者图形的形式查看数据,如图7所示:
图7
二分析视图(星型结构,多个事务度量)
1.选择相应的包,右键包名字,选择分析视图,如下图8:
图8
2.输入分析视图name,description后,点击finish,如图9:
图9
3.Finish之后,进行属性视图和事实表的拖拽,如图10:
图10
4.属性视图和事实表的关联,如图11所示:
图11
5.看输出列中是否有measures属性的度量列,如果没有可以增加事实表的度量列输出,如果事实表没有度量列,可以新建列(计算列),如图12所示:
图12
6.进行编译,激活,预览数据,如图13所示:
图13
三计算视图
1.选择相应的包,右键包名字,选择计算视图,如下图14:
2.输入名称和备注,选择视图类型:
图表或者脚本
图15
3.目前用的比较复杂,选用sqlscript形式,按照如图3步进行操作,如图16
图16
4.手动写入输出列(与所写脚本的字段名字和类型应该一样),如图17所示
图17(合并一块截图)
5.编译预览数据
6.如果利用图标创建的视图,按照图中步骤操作,如图18所示:
注:
一般默认有上下2个组件,如果要添加过滤条件需要从左侧拖拽projection组件
图19
7.点击Aggregation组件,选择要添加条件的列,右键applyfilters,添加过滤条件(只能用自建的输入参数,如果要添加具体值的过滤在semantics输出的时候添加过滤),在如图20:
图20
8.编译、激活预览数据
三问题总结以及解决办法
1.问题:
创建属性视图时候出现如下错误:
Nocentraltablefound.Noattributehasbeenspecifiedasakey
解决办法:
设置主键字段,把false改为true,如图下图
2.问题:
创建分析视图时候报如下错误:
Message:
Internaldeploymentofobjectfailed;Repository:
Encounteredanerrorinrepositoryruntimeextension;InternalError:
XMLError:
NoMeasuresdefined
解决办法:
关联后由于输出字段中没有度量值,可以新建计算列或者输出度量列
三HANA函数用法
●日期时间类型转化
to_timestamp(concat(substr(to_char(:
DATE_,'yyyy-mm-dd'),1,7),'-0100:
00:
01'))或者to_timestamp(now())
●HANA数据库虚拟表
selectto_date('2013-12-12','yyyy-mm-dd')fromdummy(数据库虚拟表)
●分析视图添加新的列,不能修改之前的列,可以添加新列形式处理原表和视图列
点击分析视图logicaljoin>>calculatedcolumns,出现如下界面
注意条件格式,在这里只能用if而不能用map(脚本写可以用map)
●计算视图cal_test写脚本图和引用普通视图V_test(直接写普通视图名称)
selectissueasqmdate,jtysaszbzfrom"VIEW_LDJSC_ZBCBYS"a
注:
“as”可以不加
●计算视图分层级计算(1级2级3级计算)
●求取某天是当年第几周2种方式:
1.rightstr(ISOWEEK(DATE('2014-02-27')),2)
2.在sqlconsole中
SELECTsubstr(ISOWEEK(TO_DATE('2014-02-27','YYYY-MM-DD')),7,2)"isoweek"FROMDUMMY;
●CE函数用法
ce_col1=ce_column_table("DW"."T_WZ_FACT_SFC",["RQ","QCJE","BUKRS"]);
--查询表
ce_col2=ce_join_view("_SYS_BIC"."DW.YW.WZ/ATT_WZ_ORG",["DEPT_GS","DEPT_DC","SAPID"]);--查询属性视图
ce_projec_1=ce_projection(:
ce_col1,["RQ","BUKRS"as"SAPID","QCJE"],'"SAPID"=5110');
注:
“SAPID”是一个别名可作为查询条件字段用,条件必须用SAPID,而不能用BUKRS
ce_join_1=CE_JOIN(:
ce_projec_1,:
ce_col2,[SAPID],[RQ,SAPID,DEPT_GS,DEPT_DC,QCJE]);
var_out2=CE_PROJECTION(:
var_out1,[RQ,CE_CALC('"RQ"',VARCHAR)ASISSUE,QCJE]);
var_out=SELECTRQ,QCJEFROM:
ce_join_1;--选择查询需要的列
●CE_PROJECTION
aa=ce_column_table("DW"."AS_YX_SCRB_HZ_LJ",[issue,jz_id,edrl]);
var_out=ce_projection(:
aa,[issue,jz_id,edrl],'"JZ_ID"!
=1AND"EDRL">=30AND"EDRL"<=30');
●计算视图引用输入参数,2中格式区分
1.sql直接引用:
d.issue>=:
symd_startandd.issue<=:
symd_end
2.引用其它视图引用:
"_SYS_BIC"."HNSD.PARA_TEST/CAL_1_CDW_HZ_DAY"(PLACEHOLDER."$$start_date$$"=>to_char(to_date(ifnull(:
symd_start,'2099-01-01'),'YYYY-MM-DD'),'YYYY-MM-DD'),PLACEHOLDER."$$end_date$$"=>to_char(to_date(ifnull(:
symd_end,'2099-01-01'),'YYYY-MM-DD'),'YYYY-MM-DD'))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hana 视图 创建 问题 函数