Пример парсинга бизнес-правил из Hyperion Planning в QlikView (не унифицирован, разрабатывать нужно для каждого внедрения свой код):
Для просмотра кода перейдите в статью
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
HSP_CALC_MGR_RULES: LOAD AppName, [ID], [BODY] as Код, Left( mid([BODY],69) ,index( mid([BODY],69) ,'product=')-3) as [BODY], if(Index (Upper([BODY]), Upper('@jRunCMD'))>0,'Используется', 'none') as @jRunCMD, if(Index([BODY], 'vLoadRulFileName')>0, mid( [BODY], Index([BODY], 'vLoadRulFileName') + Len('vLoadRulFileName='), Index( Right([BODY], LEN([BODY]) - Index([BODY], 'vLoadRulFileName') - Len('vLoadRulFileName=')), '"') ), 'none') as vLoadRulFileName, if(Index([BODY], 'vTSQLCalc')>0, mid( [BODY], Index([BODY], 'vTSQLCalc') + Len('vTSQLCalc='), Index( Right([BODY], LEN([BODY]) - Index([BODY], 'vTSQLCalc') - Len('vTSQLCalc=')), '"') ), 'none') as vTSQLCalc, if(Index ( Upper([BODY]), 'DATAEXPORT')>0,'Используется', 'none') as dataexport, Upper([LOCATION_SUB_TYPE]) as [LOCATION_SUB_TYPE] ; SELECT 'App07' AppName ,[ID] ,[BODY] ,[LOCATION_SUB_TYPE] FROM [App07].[dbo].[HSP_CALC_MGR_RULES]; Concatenate(HSP_CALC_MGR_RULES) LOAD AppName, [ID], [BODY] as Код, Left( mid([BODY],69) ,index( mid([BODY],69) ,'product=')-3) as [BODY], if(Index (Upper([BODY]), Upper('@jRunCMD'))>0,'Используется', 'none') as @jRunCMD, if(Index([BODY], 'vLoadRulFileName')>0, mid( [BODY], Index([BODY], 'vLoadRulFileName') + Len('vLoadRulFileName='), Index( Right([BODY], LEN([BODY]) - Index([BODY], 'vLoadRulFileName') - Len('vLoadRulFileName=')), '"') ), 'none') as vLoadRulFileName, if(Index([BODY], 'vTSQLCalc')>0, mid( [BODY], Index([BODY], 'vTSQLCalc') + Len('vTSQLCalc='), Index( Right([BODY], LEN([BODY]) - Index([BODY], 'vTSQLCalc') - Len('vTSQLCalc=')), '"') ), 'none') as vTSQLCalc, if(Index ( Upper([BODY]), 'DATAEXPORT')>0,'Используется', 'none') as dataexport, Upper([LOCATION_SUB_TYPE]) as [LOCATION_SUB_TYPE] ; SELECT 'App08' AppName ,[ID] ,[BODY] ,[LOCATION_SUB_TYPE] FROM [App08].[dbo].[HSP_CALC_MGR_RULES]; Concatenate(HSP_CALC_MGR_RULES) LOAD AppName, [ID], [BODY] as Код, Left( mid([BODY],69) ,index( mid([BODY],69) ,'product=')-3) as [BODY], if(Index (Upper([BODY]), Upper('@jRunCMD'))>0,'Используется', 'none') as @jRunCMD, if(Index([BODY], 'vLoadRulFileName')>0, mid( [BODY], Index([BODY], 'vLoadRulFileName') + Len('vLoadRulFileName='), Index( Right([BODY], LEN([BODY]) - Index([BODY], 'vLoadRulFileName') - Len('vLoadRulFileName=')), '"') ), 'none') as vLoadRulFileName, if(Index([BODY], 'vTSQLCalc')>0, mid( [BODY], Index([BODY], 'vTSQLCalc') + Len('vTSQLCalc='), Index( Right([BODY], LEN([BODY]) - Index([BODY], 'vTSQLCalc') - Len('vTSQLCalc=')), '"') ), 'none') as vTSQLCalc, if( Index ( Upper([BODY]), 'DATAEXPORT' )>0,'Используется', 'none') as dataexport, Upper([LOCATION_SUB_TYPE]) as [LOCATION_SUB_TYPE] ; SELECT 'App09' AppName ,[ID] ,[BODY] ,[LOCATION_SUB_TYPE] FROM [App09].[dbo].[HSP_CALC_MGR_RULES]; |
Leave a Reply