Substitution variable using in rules file
Hi,
I have a requirement to load the data only for the current month. But, my source file is having data for all the months till current month.
ex: I have to load data for MAY. But, source file is having data from JAN to MAY
Its a monthly process and it should load the data only for the current month using substitution variable.
Means next month I will be having JAN to JUN data. But, I should load only JUN data.
Could any one help in building rules file for this requirement.
Thanks
Sri
Is the data coming from SQL or a flat file? And is JAN through MAY represented in multiple columns or multiple rows?
As Evgeniy says if it's a SQL source, you can use a subvar in the SQL statement. If it's a flat file (and your periods appear as multiple rows) you can use a subvar in a SELECT/REJECT criteria.
Honestly though, if a feeding system is producing a flat file for you, I would try and arrange to have the flat file contain only the data that is actually required. Parsing a file that is up to 12 times larger than necessary is inefficient.
Similar Messages
-
Substitution variable in Load rule Header Essbase 11.1.1.3
Think its obvious you can use substitution variable as a Header definition on Load rules, does version 11.1.1.3 has any issues' with it, i am running into Unexpected Essbase error 1019026.
Error:
Unknown member [Mgmt Actual,Base,No Vertical,No Customer] found while processing string [Mgmt Actual","Base","No Vertical","No Customer]
Unexpected Essbase error 1019026
I want to copy Actual data into other scenario's in ASO cube so thought will use substitution variables to eliminate duplication on load rules.
Mgmt Actual is a scenario set thru Substitution variable at the DB level
i.e *&CurScen="Mgmt Actual" (set at DB level)*
Header Definition on load rule *&CurScen,"Base","No Vertical","No Customer"*
Data load work fine If i replace substitution variable with original member *"Mgmt Actual","Base","No Vertical","No Customer"*.
I did notice some users complaining erratic behavior when substitution variables are placed in load rule header at the End on multiple members, i have tried all places End, First and Middle.
tried using single Load rule with EAS and MAXl same results.
i want to keep altering scenarios on header definition and use same rule files.
alter database AppName.DbName set variable CurScen '"Mgmt Actual"';
Running out of ideas any help!Error:
Unknown member [Mgmt Actual,Base,No Vertical,No Customer] found while processing string [Mgmt Actual","Base","No Vertical","No Customer]
Unexpected Essbase error 1019026
*1019026 Unknown member memberName found while processing string string*
Possible Problems
Analytic Services does not recognize the listed string as a member of the outline.
Possible Solutions
Make sure that the member name is valid. The member name is in the rules file.
* Are you using the correct rules file?
* Is the rules file connected to the correct outline?
* Can you validate the rules file?
* Are member names or variable names enclosed in quotation marks where necessary?
* Does the member exist in the outline? If not, you can add the member by modifying the outline during the dimension build or add the member in the Outline Editor.
* Make sure that the member is not specified as a header in the rules file.
Regards,
Prabhas -
How to tune data loading time in BSO using 14 rules files ?
Hello there,
I'm using Hyperion-Essbase-Admin-Services v11.1.1.2 and the BSO Option.
In a nightly process using MAXL i load new data into one Essbase-cube.
In this nightly update process 14 account-members are updated by running 14 rules files one after another.
These rules files connect 14 times by sql-connection to the same oracle database and the same table.
I use this procedure because i cannot load 2 or more data fields using one rules file.
It takes a long time to load up 14 accounts one after other.
Now my Question: How can I minimise this data loading time ?
This is what I found on Oracle Homepage:
What's New
Oracle Essbase V.11.1.1 Release Highlights
Parallel SQL Data Loads- Supports up to 8 rules files via temporary load buffers.
In an Older Thread John said:
As it is version 11 why not use parallel sql loading, you can specify up to 8 load rules to load data in parallel.
Example:
import database AsoSamp.Sample data
connect as TBC identified by 'password'
using multiple rules_file 'rule1','rule2'
to load_buffer_block starting with buffer_id 100
on error write to "error.txt";
But this is for ASO Option only.
Can I use it in my MAXL also for BSO ?? Is there a sample ?
What else is possible to tune up nightly update time ??
Thanks in advance for every tip,
ZeljkoThanks a lot for your support. I’m just a little confused.
I will use an example to illustrate my problem a bit more clearly.
This is the basic table, in my case a view, which is queried by all 14 rules files:
column1 --- column2 --- column3 --- column4 --- ... ---column n
dim 1 --- dim 2 --- dim 3 --- data1 --- data2 --- data3 --- ... --- data 14
Region -- ID --- Product --- sales --- cogs ---- discounts --- ... --- amount
West --- D1 --- Coffee --- 11001 --- 1,322 --- 10789 --- ... --- 548
West --- D2 --- Tea10 --- 12011 --- 1,325 --- 10548 --- ... --- 589
West --- S1 --- Tea10 --- 14115 --- 1,699 --- 10145 --- ... --- 852
West --- C3 --- Tea10 --- 21053 --- 1,588 --- 10998 --- ... --- 981
East ---- S2 --- Coffee --- 15563 --- 1,458 --- 10991 --- ... --- 876
East ---- D1 --- Tea10 --- 15894 --- 1,664 --- 11615 --- ... --- 156
East ---- D3 --- Coffee --- 19689 --- 1,989 --- 15615 --- ... --- 986
East ---- C1 --- Coffee --- 18897 --- 1,988 --- 11898 --- ... --- 256
East ---- C3 --- Tea10 --- 11699 --- 1,328 --- 12156 --- ... --- 9896
Following 3 out of 14 (load-) rules files to load the data columns into the cube:
Rules File1:
dim 1 --- dim 2 --- dim 3 --- sales --- ignore --- ignore --- ... --- ignore
Rules File2:
dim 1 --- dim 2 --- dim 3 --- ignore --- cogs --- ignore --- ... --- ignore
Rules File14:
dim 1 --- dim 2 --- dim 3 --- ignore --- ignore --- ignore --- ... --- amount
Is the upper table design what GlennS mentioned as a "Data" column concept which only allows a single numeric data value ?
In this case I cant tag two or more columns as “Data fields”. I just can tag one column as “Data field”. Other data fields I have to tag as “ignore fields during data load”. Otherwise, when I validate the rules file, an Error occurs “only one field can contain the Data Field attribute”.
Or may I skip this error massage and just try to tag all 14 fields as “Data fields” and “load data” ?
Please advise.
Am I right that the other way is to reconstruct the table/view (and the rules files) like follows to load all of the data in one pass:
dim 0 --- dim 1 --- dim 2 --- dim 3 --- data
Account --- Region -- ID --- Product --- data
sales --- West --- D1 --- Coffee --- 11001
sales --- West --- D2 --- Tea10 --- 12011
sales --- West --- S1 --- Tea10 --- 14115
sales --- West --- C3 --- Tea10 --- 21053
sales --- East ---- S2 --- Coffee --- 15563
sales --- East ---- D1 --- Tea10 --- 15894
sales --- East ---- D3 --- Coffee --- 19689
sales --- East ---- C1 --- Coffee --- 18897
sales --- East ---- C3 --- Tea10 --- 11699
cogs --- West --- D1 --- Coffee --- 1,322
cogs --- West --- D2 --- Tea10 --- 1,325
cogs --- West --- S1 --- Tea10 --- 1,699
cogs --- West --- C3 --- Tea10 --- 1,588
cogs --- East ---- S2 --- Coffee --- 1,458
cogs --- East ---- D1 --- Tea10 --- 1,664
cogs --- East ---- D3 --- Coffee --- 1,989
cogs --- East ---- C1 --- Coffee --- 1,988
cogs --- East ---- C3 --- Tea10 --- 1,328
discounts --- West --- D1 --- Coffee --- 10789
discounts --- West --- D2 --- Tea10 --- 10548
discounts --- West --- S1 --- Tea10 --- 10145
discounts --- West --- C3 --- Tea10 --- 10998
discounts --- East ---- S2 --- Coffee --- 10991
discounts --- East ---- D1 --- Tea10 --- 11615
discounts --- East ---- D3 --- Coffee --- 15615
discounts --- East ---- C1 --- Coffee --- 11898
discounts --- East ---- C3 --- Tea10 --- 12156
amount --- West --- D1 --- Coffee --- 548
amount --- West --- D2 --- Tea10 --- 589
amount --- West --- S1 --- Tea10 --- 852
amount --- West --- C3 --- Tea10 --- 981
amount --- East ---- S2 --- Coffee --- 876
amount --- East ---- D1 --- Tea10 --- 156
amount --- East ---- D3 --- Coffee --- 986
amount --- East ---- C1 --- Coffee --- 256
amount --- East ---- C3 --- Tea10 --- 9896
And the third way is to adjust the essbase.cfg parameters DLTHREADSPREPARE and DLTHREADSWRITE (and DLSINGLETHREADPERSTAGE)
I just want to be sure that I understand your suggestions.
Many thanks for awesome help,
Zeljko -
Moving a parent in a Dimension using a rules file
I would like too move a parent in one of my dimensions to the bottom of that Dimension using a rule file
Please adviseI have a confusion over here. For instance:
If I have Margin (parent) Sales (child) and COGS (child) defined in the data source in that order, than how will I change it to sales, cogs and than margin in the data source.
Parent child build method has the following statndard format, if i am not wrong:
PARENT (say accounts) DIMENSION NAME (code say A10001) ALIAS (Margin) AGGREGATION (+) and DATA STORAGE (The code for store)
Thanks in advance -
Building BSO using ASO Rules file
Hi All,
We are building a new application where in we want to have both ASO and BSO. Eventually we wanted to do partition between these two cubes.
We already have a fully functional ASO with data loaded into it. This ASO also has bunch of rules files using which the ASO cube was built.
We need to build a new BSO and it should have same outline as ASO and in order to achieve this as used the same rules file that are in ASO. I already built the BSO usinng ASO rules files
My issue is with the dimension which are deifned as Multiplw Heirarchy and I would appreciate if some one can help me how do i define them in BSO. Also if some one canhelp me understand what are additional changes that needs to be taken care when I am building BSO using ASO rules files
I am trying to apply a caluclation which is in ASO and I am getting following error -- Error(1200337) - Error compiling formula for [Feb YTD] (line 1): [)] without [(]. As part of my research i found that error code is very generic. I checked the caluclation for missing ) or ( but everything looks good
Any help is greatly appreciated
Thanks
SatishYour ASO formulas will not work in BSO cube. ASO uses MDX formulas and BSO uses Essbase calc script language. There is a guide in the technical reference that helps convert from one to the other.
As far as multiple hierarchies, BSO does not have this concept. You should be able to load the hierarchies as is with perhaps a few changes to the load rule to address how to handle shared members.
You will not have a direct one to one from BSO to ASO. They are a different architecture and as such have variances that are not 1 to 1 compatible. -
Essbase substitution variable used for SQL Dimension load-URGENT
Hi All,
I am creating one dimension through SQL Dimension load rule writing by parent child build rule. The SQL query is like below---
distinct trim(dist_mobile),trim(ret_mobile) from dist_retailer al1 where al1.proc_dt=to_date(&Proc_date,'dd/mm/yyyy')
When I fixed the value of proc_date (e.g.- '27/09/2008') then it is retrieving data properly, but when I try to make the same as a essbase variable as shown above (to give user the priviledge to select for which date data will be fetched from RDBMS to create the dim) and after setting the aforesaid value of that variable in essbase subs var screen and click 'OK/Retrieve' in rule,it is returning no rows executing the query as well as no error coming.
I guess in query nothing is wrong but the subs variable part is not working. Can anybody please give some insight to resolve the problem.
In this context, I would like to mention that I will have to use substitution variable in some other rule file also to automate the load process. How can I use essbase subs variable in SQL load rule? Could you please show me a proper summarise query illustrating how to use the subs var in aforesaid purpose for the sake of understanding?
Thanks in advance.Hi,
Sorry for delayed response. Appreciate your inputs. At last I have found out the solution which is as below----
distinct trim(dist_mobile),trim(ret_mobile) from dist_retailer al1 where al1.proc_dt=to_date('&Proc_Dt','dd/mm/yyyy')
after setting the substitution variable as Proc_Dt and set the value as 27/09/2008 (without any quotation mark or such sign) now I checked and now it is retrieving fine.
Thanks & Regards. -
Substitution variables in config XML files?
Can we use substitution variables in any of the configuration XML files?
Hi Betsy,
What have you tried, and what error messages are you getting as a result?
Cheers,
Avi. Avi,
Lots of trying, all the error messages are "unknown assembly tag <property>.
The official word, is that the OC4J server does not support this, however they are going to make an enhancement request, so we may see this supported in the furture.
For now, I will have to build an Ant target to create my configuration xml files with my substitutions already there.
Betsy -
[solved]variable using ~ from a file
To put the things in short, I am trying to share some files/directory using quickserve and want to pass the file list thro' another file. before actual sharing I am trying to test the actual file's existence but it fails with ~ / $HOME options.
File : ToExport.txt
contents:
~/Documents/File1.dot
~/Documents/File2.ods
/mnt/backup
the said file is passed as an argument to the bash script
Test function ...
for isvalid in $(cat "$1")
do
if [ -e "$isvalid" ]
then
echo "$isvalid passed for sharing"
else
echo "$isvalid does not exisits"
exit 4
fi
done
This fails. If I replace ~ with actual path it works.
(It may be easy to replace the entire list with the actual path by the simple search & replace funtion but the indention is to use the short form ~ or $HOME instead of typing full path.
your inputs/correction are welcome
Last edited by kgas (2010-09-28 17:11:41)This should work:
#!/bin/bash
#: Description : Checks file list to see files contained exist/are empty
fileList=/home/tom/fileList
## Go through each file in the fileList
while read aFile
do
## expand tildes (~)
eval aFile=$aFile
## check file exists
if [ -e $aFile ]
then
## check file is non-empty
if [ -s $aFile ]
then
printf "%s is a file.\n" $aFile
else
printf "%s is an empty file.\n" $aFile
fi
else ## file does not exist
printf "%s does not exist.\n" $aFile
fi
done < <( cat $fileList )
That code is a little more readable too. You where using the variable "isValid" for a file name.
Last edited by BaconPie (2010-09-21 10:29:51) -
Hyperion DLL use in Rule file?
This is probably a stretch to even ask this, but has anyone attempted to reference the DLL/API commands through the rules file? Since it's VB code, it seems like it might be possible to some how reference the dll files stored on the server to allow a subroutine to perform tasks such as open a journal period.
Does anyone know if this is possible?Theoretically you can do anything within the bounds of VBScript. Keep in mind that the DCOM user is the one performing the operations, so whatever you do must be accessible/executable by the DCOM user. We have had discussions with development to restrict the boundaries of VBScript from rules since this can pose a security hole. So, even if you could run some code from rules in 9.3, it's possible that it won't run in 11.x. When we developed Calc Manager, we researched hundreds of applications and found the majorit of non-calculation activities launched from rules encompassed "Write To File" and "Timers and Counters". For these reasons, we added logging and timers directly into Calc Manager.
Is there something else you'd like to specifically try with rules, or are you just curious?
--Chris -
Setting Oracle environment variable using batch (.bat) file in windows
Hi,
Oracle 9i db
Windows OS
I am in process to create the database (Considered that Oracle9i software is already installed) by running one batch file which consist of all the scripts for the database creation.
But i also want to set the environment variables at MyComputer(right click)>properties>advance>environment, permenently by running the batch (.bat) file
ORACLE_HOME
ORACLE_BASE
ORACLE_SID
So, how can it be done ?
With RegardsHi,
*@echo off*
set ORACLE_SID=iprsdb
set ORACLE_BASE=C:\oracle
set ORACLE_HOME=C:\oracle\ora92
call C:\install_bkp\test_env_var.bat
echo Test Successfull.
Above mentioned is the code written in the batch (.bat) file
In that i have also called another .bat file which test the env. variable values which is as below:
c:\>test_env.bat
===================
Testing oracle sid
===================
iprsdb
=====================
Testing oracle base
===================
C:\oracle
=====================
Testing oracle home
=====================
C:\oracle\ora92
Test Successfull.
But when i checked at MyComputer(right click)>properties>advance>environment variables
there, I saw none of the entries from the above, why so ?
how to set env. variables permanently using the DOS commands. ?
With Regards -
Substitution Variables in Essbase Load Rules File
Hi,
Has anyone tried using substitution variables in Load Rules File Header definition?
I need to load data based on the Year & I have different Files for 3 Years- CurYr, BudYr1 & BudYr2. Is it allowed to specify the Year Substitution variable in the Rule File Header? I am getting an error while loading.
Appreciate your thoughts.
Thanks,
-Ethan.Tim,
Thanks for the response.
I figured it out. The error message I was getting was because of some parsing issue. I have defined Year as "FY12" in quotes. I removed quotes & it worked.
Thank You.
Ethan. -
Using environment variable in rule file
Hi,
I want to datacopy from one cube (scenario Forecast) to another (scenario FcstJan, FcstFeb, and so on) based on which month is running currently. I want to use environment variable in the rule file. The Forecast data will be extracted in .txt and will be imported to the second cube in FcstJan if current month is Jan and same for Feb, Mar..... The CurrentMth will be my env variable.
Can anyone please let me know how I can use that variable in the rule file. Or, if there is any other way to load the same.
Thanks.You could just set a substitution variable and then use the substitution variable in the header of the rule.
Have a read of :- Re: Data error
to understand about using substitution variables in the header of a rule file.
Cheers
John
http://john-goodwin.blogspot.com/ -
Substitution Variable Issue while exporting from Essbase.sec file
Hello All,
I have an unusually distinct problem.
I have 2 environments (Development and Production) where each environment has a seperate server with Essbase installed in it.
When I tried to get information of the Substitution variables using the 'export security_file to data_file' command through MaxL and then checked the output file in Development, it showed me the right number of substitution variables and their values.
But when I did he same with my Production environment it gives exactly 1 less no of substitution variables in the export file, specifically the last substitution variable that was updated through the Essbase Administration Console.
I guess it is not updating the Essbase.sec file with the last updated Substitution variable. But I can't understand why since the same functionality works in development but not in production.
Thank You.Hi all,
In addition, I exported the Essbase.sec file after a long time after changing the Substitution variable and now it does show the updated substitution variable.
I feel that Essbase does refresh the Essbase.sec file but after a long time. Is there some setting within Essbase that is done which refreshes the artifact files after a while. Or is this a setting within the system in which Essbase has been installed (in my case Linux).
Also the Substitution Variable that has been created is for (all apps) and (all dbs). Is this the reason why this is not working because I tried changing some other Substitution variable which is for a specific app and a specific dbs and it worked fine.
Thank You.
Edited by: 923021 on 27 Mar, 2012 6:15 AM -
SQL data Load rule with Substitution variable
Hi,
I have a data load rule with MySQL as a data source. I have requirement where user does not want to see Current day data in cube and they keep changing days not to be loaded.
I have setup the substitution variable SUBv as '2009-11-04' and have scripts to update it daily.
Data Load rule in where condition contains
brand = 'HP' and region = 'east' and date <> &SUBv
Now, above where condition does not work for date <> &SUBv but if I set substitution variable SUBv as "brand = 'HP' and region = 'east' and date <> '2009-11-04' " and set load rule where condition with just &SUBv it would just work fine. I dont know whats wrong in 1st place.
I dont want to create multiple where condition in substitution variable (Don't we have limit on them?). I have 40+ load rules which might use this SUBv substitution variable if I find a way to define it so that it work as "brand = 'HP' and region = 'east' and date <> &SUBv"
Thanks,
VikramI did some research and came to know when using substitution variable in Load rule need to keep substitution variable first in string..
It worked out magically. -
Query regarding Metadata load in Essbase using rule file
Hi
In our application,we are loading metadata using Essbase rule file and here we are facing one problem.Suppose we have to load a level 0 member called "xxxx" under two different parent,assume the parent members are Parent_AAAA and Parent_BBBB.But our requirement is the consolidation operator for the first occurrence ( i.e under Parent_AAAA) is "+" and for the shared member under Parent_BBBB is "-".But,when we are loading using rule file the consolidation operator for the shared member always being loaded as "+".Is there any trick to change the consolidation operator for shared member other than changing it manually in outline?
Pls help....Thanks in advance.I don't think there is a way to change the default setting.
However, what you can do is to have a different load rule and different text file with only the metadata that you want to have an exception for shared members. That way, you can achieve it as you do not have to change the existing rule file.
Regards
ORACLE | Essbase
Maybe you are looking for
-
Sound quit working but this solves the problem
Good news.......It seems that a lot of people are having the same problem with sound suddenly not working, even though all diagnostic test indicate that it is on. I unplugged the power and took out the battery for about 5 minutes. When I powered ba
-
Help me define the limitations of LabVIEW (if any)
My company is currently working with an engineer to create museum exhibits that utilize LabVIEW. As a design firm, it is our task to create onscreen art and animations that will need to be integrated into LabVIEW. I would like to know what kind of fi
-
Private messaging in webmatrix
Hello, i am new to webmatrix or should i say web application in general. i have read and looked at the tutorial to see if there is any out there online that talks and teach about sending private message between users just like the facebook website.
-
Creating viewing a "set" of ima
Is it possible to download to Zen Vision or Photo, some photos in "sets", so that you could pull up say "Fido at the Park" and view that set, scrolling forward and back? Can they be put all in one file?
-
Error while doing Service Entry
Hello all, Creating a service entry sheet is not possible, because after saving the sheet, we receive an error message in the Business workplace: Update cancelled. After that the newly created service entry sheet cannot be found. Please advice what c