How to use substitution variable in case of dim build
Hi all,
Lets say I have 3 sub vars - Prevmonth, prevmonth-1, prevmonth-2. These will change every quarter.
I want to build a cube which will have which will have only the above 3 months in the Fiscal dimension. This will be used once at the end of quarter.
How do I refer substitution variables in case of dim build rule files? I want automate the process. We have SQL dim build for other dims, only this dim can be built from flat file also.
Or is there any other way to achieve this apart from using sub vars? I can try store the 3 variables in a table and then use them to build the cube, but want to see if we can avoid creating one more interface.
Thanks.
Actually using the values of subvars to build a dimension (which I believe is what you want) is a fun problem. Here's an (Oracle) example that would do that, without requiring any additional table or flat file:
SELECT 'FiscalPeriod' AS Parent,
CASE Level
WHEN 1 THEN '&CurrMonth'
WHEN 2 THEN '&PrevMonth'
WHEN 3 THEN '&PrevMonthMinusOne'
END AS Child
FROM Dual
CONNECT BY Level <= 3
Here's how it looks in the load rule SQL dialog, and the data prep editor:
It's fun because I've never thought about it before, but I don't actually recommend this - if you have other ETL going on in SQL I'd generate the values in a table / view there, and have a script that both updates the subvars and builds the dimension direct from that.
Similar Messages
-
How to use substitution variables in Microsoft Word using Hyperion Smart view
Can we use Substitution Variables in copy data points and refresh in Microsoft Word? I tried it and it does not work dynamically (copy data points only copies what was in excel cell at that point). It only copies the static value of that variable from that cell. I want to use it dynamically in Word so that if I change the value of that variable in Essbase, it is updated in Word upon refresh. Any idea??
We need this feature for reporting in microsoft word and keep using the data points every year (instead of copying the cells from excel over again)
Any help/suggestion is appreciated.
Thanksyou can't use substitution variables with copy data points. I had tried a while ago (post 111.1.2.1.102) and it wouldn't work. I checked with Oracle development and they said it I not available
-
How to use substitution variable in sql
Hai All
I have two tables Rgpmain and Rgpitem the fields are
Rgpmain
unitid,periodid, docno, vendcode ,vendname, part_taken_by and .....
Rgpitem
unitid, periodid, docno, partno, partname .... And i need to give some values in runtime using sub variable
i need to to four values in sub function and i will give one value and i need the result of one variable
The qurey will like this
Select * from rgpmain m, rgpitem i where unitid=1 and periodid=14 and m.unitid=i. unitid and m.periodid= i.periodid and m.docno = i.docno and vendcode ='&p_vendcode'
Or
m.unitid=i. unitid and m.periodid= i.periodid and m.docno = i.docno and vendname like '&p_vendname%'
Or
m.unitid=i. unitid and m.periodid= i.periodid and m.docno = i.docno and partname like '&p_partname%'
or
m.unitid=i. unitid and m.periodid= i.periodid and m.docno = i.docno and partno ='&p_partno'
This is my query
And while i am executing there are four options showing to enter..
My need is i need enter only one field Ie vendcode and execute the vendcode like ABC01 then i need the only
the result that belong to vendcode ABC01 but my query giving all the rows
Pls tell me what is wrong with my query
Thanks In Advance
Srikkanth.MHai
Thanks Man i under stood that nv2 if 1 col is null then it will return 2 col or els 1 col but i working with large
database and i need four or five column using sub. Pls tell whats went wrong with my query when i am executing
one by one at the first time its works fine but next time it returns 1000 rows. pls tell me how to use four or five columns
Regards
srikkanth.M -
How to use substitution variables in sqlplus activity of process flow
I have a process flow that does nothing more than create a couple of packages that I cannot successfully deploy from OWB. A workaround, not something that I want to do, but currently there is not much time to adjust the packages so they can be deployed from OWB.
I can successfully create the packages from files that are present in a directory on the server. But the location (directory) is not the same in all cases (OTAP). So I thought to use an input parameter to the process flow (named TELLINGEN) and use that in the sqlplus activity.
I have created the parameter START_PATH with a default value.
I have added an sqlplus activity and placed the following into the PARAMETER_LIST variable of the activity:
?${Target.ConnectString}?@${TELLINGEN.START_PATH}/npl_dbug.pkg?
When I run the process flow I see the following in the output:
SQL*Plus: Release 10.2.0.3.0 - Production on Tue Mar 18 18:10:14 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SP2-0310: unable to open file "${TELLINGEN.START_PATH}/npl_dbug.pkg"
SQL> SQL> Disconnected from Oracle Database 10g Enterprise Edition Release
10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
It obviously connects to sqlplus but then cannot find the file. Presumably because the variable has not been substituted.
How can I persuade the activity to substitute the variable?
Kind regards,
Eric.Have been reading around a bit and found the (a) solution:
I placed the following in PARAMETERLIST:
?${Target.ConnectString}?@${Working.RootPath}/base64.sql?
And it turns out ${Working.RootPath} is pointing to the location you can provide under the configure for the sqlplus activity in the process flow. Just as you have to provide the target destination as indicated here: Re: SQLPLUS Activity in Process Flow
From the documentation it was not immediately clear to me where Working.RootPath was pointing to. -
How can i use substitution variable
Hai All
This is my sql statement
SELECT (TO_DATE(TO_CHAR(Intime,'DD-MON-YYYY')||' '||
TO_CHAR(0815,'0000'),'DD-MON-YYYY HH24:MI')-intime) * 24*60
from dail_att where to_char(intime,'hh24mi') between 0700 and 0815 ;
Here my table name called Dailyattendance
Intime field is declared as Date Type
So now i have hardcoded 0815 and now my intime is subtracted from this time so i can calculate the employee
coming late so how can i use substitution variable here to give the value at run time
Ie i need to give 0815 instead or any other time at runtime
Thanks In advance
Srikkanth.MWhere exactly are you planing to use it? Is sqlplus or at any other front end?
One way is to use below given SQL
SELECT ( TO_DATE ( TO_CHAR (intime, 'DD-MON-YYYY')
|| ' '
|| TO_CHAR (:TIME_VAR, '0000'),
'DD-MON-YYYY HH24:MI'
- intime
* 24
* 60
FROM dail_att
WHERE TO_CHAR (intime, 'hh24mi') BETWEEN 0700 AND 0815;*009*
Edited by: 009 on Apr 6, 2010 2:15 AM -
Conditional suppression using substitution variable in Hyperion financial r
Hi all,
Is there a way that I can suppress a column using substitution variable in hyperion financial reporting?
For eg, i want to suppress the column if the value of the substitution variable curr_mnth = jun.
Is there a way to do this? In conditional suprression dialog box, I dont find this option.
Please suggest.
Your response is appreciated.
Thanks,
Sirisha.Hi Sirisha
In my earlier reply I think I may have mislead you as I thought that you could set the member name equal to that in a row/column and I've managed to get into a HFR studio session this morning and realised that the conditional suppression only allows you to suppress where member name = 'XXX' (specific text) so that doesn;t meet your requirement.
Different people will have different ways of achieving what you want and everyones requirements are different. If it helps my preferred way of conditionally suppressing periodic data (for Planning/Essbase) is to add a dynamic calc account member called 'TP-Index' into the database, set up a formula so that each period returns a numeric value from 1 to 12 to match the fiscal/calendar year as required.
Then in reporting bring the account and period dimensions into rows/columns so that you are able to retrieve data for the TP-Index account and the period as defined in your substitution variable. You can then choose how the suppression works based on a numeric value, commonly you may want to suppress if greater than, e.g. you have a multi-period report where your actual data is to June so you want to suppress everything from July onwards.
I'm sure that a similar thing could be achieved in HFM as well if that is your underlying system instead of Essbase.
Does that help?
Stuart -
Can we use Substitution variables in MAXL?
Hi,
Can we use substitution variables in MAXL script?
I have to run this MAXL command for clearing a slice of ASO cube on V11.1.1.3.
alter database Apname.DBname clear data in region 'CrossJoin({[2009]},{[Dec]})';
I am planning to use Current_year & Current_month variables instead of hardcoding 2009 & Dec as I have to use this everymonth to clear the current months data.
If it is allowed, what is the syntax?
Is there any alternative apart from substitution variables?
Appreciate your thoughts.
Thanks,
-Ethan.You would just use ampersand and the variable name instead of the hard coding e.g. &yearVar &periodVar.
Not tried it on aso clears but in theory it should work as ...'CrossJoin({&yearVar},{&periodVar})';
just change yearVar and periodVar for your substitution variable names.
Cheers
John
http://john-goodwin.blogspot.com/ -
How to use the variables used in the message mapping
Hi ,
In the message mapping we can declare variables in the JAVA section , these variables could be used across the mapping .
I have tried using it but I am unable to retrieve the values assigned to the variables in one UDF into the another UDF .
Please guide me how to use the variables declared in the JAVA section in the message mapping .
Thanks
Anita YadavAnita,
I have worked on the Global variables and i found no issues. Make sure that the variable is declared in the Declaration Section and then initlaized in the Initialization section.
If you declare a variable in the Declaration Section ,
int i;
then in any udf you can use if directly. No need to re declare the variable in the UDF. If you do this, then it becomes a local variable.
Regards,
Bhavesh -
How can use a variable in the folowing code?
How can use a variable 'W_ROWNUM2' in the folowing code?
MOVE '1' TO CNT.
LOOP AT L_T_PM2.
CONCATENATE '0' CNT INTO W_ROWNUM2.CONDENSE W_ROWNUM2.
CONCATENATE 'F110V-VARI'W_ROWNUM2'(01)' INTO FLD2.
perform DYNPRO_FIELD using FLD2
L_T_PM2-vari12_con.
CNT = CNT + 1.
CONDENSE CNT.
ENDLOOP.
I need to increment the value of W_ROWNUM2.
Please ,it is urgent!!Hello
CONCATENATE 'F110V-VARI'W_ROWNUM2'(01)' INTO FLD2.
Try using spaces between parts of the resulting string.
CONCATENATE 'F110V-VARI' W_ROWNUM2 '(01)' INTO FLD2
Regards
Greg Kern. -
How to use bind variables in the following query
CREATE OR REPLACE PROCEDURE MMDB.test IS
sel_qtn VARCHAR2 (10);
CURSOR PT_QUANTITY IS select * from mmdb.product_tree WHERE QUANTITY_CHECK ='E'
AND run_id = 100
a PT_QUANTITY%ROWTYPE;
BEGIN
FOR i IN PT_QUANTITY
loop
sel_qtn := i.quanttity-1;
While sel_qtn>=1
loop
insert into mmdb.product_tree (BILLING_ACCOUNT_NO ,S_CODE) values (i.BILLING_ACCOUNT_NO ,i.S_CODE||'E');
sel_qtn :=sel_qtn -1;
End loop;
commit;
end;Don't duplicate threads: How to use bind variables in the following query
-
How to use bind variables in this procedure
Hi Experts,
How to use bind variables in this procedure for static queries.
PROCEDURE DELETE_MER_PROC (M_id IN NUMBER)
IS
BEGIN
V_date DATE;
SELECT PD_DATE INTO v_date FROM PD_MAINTAIN;
DELETE FROM MER_CLEAR
WHERE MER_DT < v_date
AND ID = M_ID;
COMMIT;
END;
How to use v_date and m_id as bind variables in this procedure to avoid hard parsing.
Please help me.
Thanks.976208 wrote:
How to use v_date and m_id as bind variables in this procedure to avoid hard parsing.
You cannot avoid hard parsing - as the 1st time a SQL statement (like the SELECT or DELETE statements in your code) is encountered, it does not reside in the server's Shared Pool, and needs to be added into the pool via a hard parse.
Bind variables does not prevent hard parsing. Hard parsing happens when the SQL statement (with or without bind variables) is a brand new statement encountered by the server.
Bind variables enables the same SQL cursor to be reused, by simply changing the bind variable value.
Not using bind variables means that each SQL statement is unique and not shareable - as the value is hardcoded into the statement and cannot be changed via a bind value. This typically means LOTS of different SQL statements (where the only difference is the changed value in the statement) are created - with each statement being a new statement not seen before in the Shared Pool and needing to be hard parsed.
One does not design one's code not to be hard parsed. There ALWAYS will be a hard parse in order to get a SQL statement into the Shared Pool. One designs one's code to REUSE cursors in the Shared Pool. -
Using Substitution Variable in Web forms
Hi,
I'm trying to use substitution variable in a planning web form &CurYr in the Column, after creating the form when I save it and try to open the form it says the substitution variable required for this calculation is undefined .Variable : &CurYr.It should be defined as I'm able to see it and select it for the column/row. Any kind of help is appreciated.
Thanks
VinilYou usually get this error message if you are trying to assign a value from a sub var to a member that does not exist.
e.g. trying to put FY08 which is a year member against a period dimension
or trying to use a sub var of FY09 which does not yet exist in the essbase, so say you added a new year in planning FY09 and used the sub var in the form but have not refreshed the database then it would fail because the year would not have been pushed down to essbase yet.
or the value of the subvar does not match a member name exactly
or using a sub var name that does not exist in essbase, e.g. using &nextYear but the sub var has not been created in essbase.
You can definitely use subsitution variables in columns in the version you are using and prior version.
Cheers
John
http://john-goodwin.blogspot.com/ -
How to use Bind Variables in Essbase data control
Hi,
I am trying to use Bind Variables in MDX query while creating the Essbase Data Control. I have used the below query with the Bind Variable.. this query is working in Essbase admin console..but it is throwing error (*Invalid MDX Query)* while creating Essbase Datacontrol in JDeveloper.
MDX Query : SELECT {[Measures].Msr_2} ON COLUMNS, [Time].Children ON ROWS FROM cube
where ($name)
Could any body suggest me on how to use bind variables with Essbase Data control.
Thanks,
SwathiHello Swathi, can you please help me how you created Essbase DataControl? Also were you able to figure out this?
Thanks, Praveen. -
Hi,
I have the below cursor 1 which is working already.For my requirement i want to use bind variable like second cursor.But its telling Bind Variable "p_col_list" is NOT DECLARED.Please any onehelp me on this.
How to use bind variable Here.
Cursor1:
DECLARE
emp_cv sys_refcursor;
iid NUMBER := 1;
i_sql varchar2(100);
p_col_list varchar2(2000) := 'aaa,bbb,ccc,ddd';
BEGIN
i_sql := 'select '''||REPLACE(p_col_list, ',', ''',''')||''' from dual '||CHR(10) ;
dbms_output.put_line(i_sql);
OPEN emp_cv FOR i_sql ;
END;
Cursor2:
DECLARE
emp_cv sys_refcursor;
iid NUMBER := 1;
i_sql varchar2(100);
p_col_list varchar2(2000) := 'aaa,bbb,ccc,ddd';
BEGIN
i_sql := 'select '''||REPLACE(:p_col_list, ',', ''',''')||''' from dual '||CHR(10) ;
dbms_output.put_line(i_sql);
OPEN emp_cv FOR i_sql using p_col_list;
END;hello,
the reports parameterform capabilities are limited. if you want
to create sophisticated parameterforms, you should do that with
oracle forms or html forms.
regards,
the oracle reports team --pw -
Oracle:how to use max() function in case expression
how to use max() function in case expression, Please explain with any example
Hope this helps and should be self explanatory
with t as
(select 1 col,100 col2 from dual union
select 2 ,100 from dual union
select 2 ,200 from dual union
select 3,100 from dual union
select 3,200 from dual )
select col, case when max(col2)=100 then 'with 100 range'
when max(col2)=200 then 'with 200 range' end from t group by col
Maybe you are looking for
-
Image upload in Form with Report
Hello I have created a table FA_CUST_DTL Column Name Data Type Nullable Default Primary Key CUST_ID NUMBER No 1 CUST_NAME VARCHAR2(1000) Yes CUST_ADD VARCHAR2(4000) Yes MOBILE NUMBER(
-
How can I pass in continuous value from labview to teststand?
Hello I want to run a vi using teststand. I want this vi to send values to teststand. My problem is that the value is only updated at the end of the vi execution and I want to get the value before the end of the vi execution. If somebody can help me
-
Unable to see correlation in receiver step of BPM.
Hi, I am designing a BPM in XI. In a receiver step I need a correlation. I am able to select a correlation from the drop down of the field "Activate Correlations" but when it is activated, the correlation is not displayed. I am using SAP XI 7.4 and S
-
I'm doing a textbook all about images. I want to compare A/B/C images in place on the page with just a simple cut between them. And as I compose the page, that's just what it looks like. But then I take the eBook to my New iPad and the transitions ar
-
HT3529 How do I text a group of people without the numbers broadcasted to everyone
How do I text a group of recipients without everyone seeing each others phone numbers