Row wise Initialization - "Session Variable has no value Definition"

Hi,
I have gone through other posts relating to this error, but could not find a solution.
I have defined an initialization block with 'Data Source' as SELECT 'TEST_VARIABLE', cost_center from XX_COST_CENTER.
In the 'Edit Data Target', i have selected the 'Row Wise Initialization' option.
When i 'Test' this initialization block, using the 'Test' button, i get the exected output, with all the different Cost Centers being defined.
However, in the Presentation Services when i add a column and change its formula to VALUEOF(NQ_SESSION.TEST_VARIABLE), i get an error
+[nQSError: 23006] The session variable, NQ_SESSION.TEST_VARIABLE, has no value definition.+
Would appreciate some input, to check if i have missed any steps, or am doing something wrong
Thanks & Regards,
Ab
Edited by: obiee_user_ab on Jan 16, 2012 6:25 AM

Hi,
Error is caused because no value is returned from the sesision variable for the logged in user, you may check the NQquery.log file to see if the initblock was successfull and if that returned any rows, try setting default value in the session variable
It might also happen when
1. You created the variable as Repository variable in RPD and referring as session variable in Answers
2. It may also happen when you are referring the Session variable Name wrongly in Answers. E.g "Current Week" in RPD (2 Words) and CurrentWeek in Answers (Single word).
Try to use the same letter case for the name of the variable (upper and lower).
Hope this helps.
Regards
MuRam

Similar Messages

  • The session variable has no value definition

    Hi Gurus,
    For all Dashboard reports and Adhoc reports suddenly we are facing the below error for some users
    A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 23006] The session variable, NQ_SESSION.AREA, has no value definition.Please have your System Administrator look at the log for more details on this error. (HY000)
    In those dashboard reports we are not using any Area prompts even if we take only area column in analysis also it is showing the same error. But for admin the reports are coming fine only for some users it is showing like that but previously it was fine.
    Regards,

    Hi,
    this means your init block is not working. Check the init block why its not resulting in any data.
    only when init block doesn't  not result in data , server checks for default value for the variable.
    Since there is no default value, you get this error.
    Init blocks can fail because
    1. connection pool is not working.
    2. The table or view does not exist
    3. no data in the table
    4. filter in the sql in init block is not initialized if its coming from another session variable.
    typically no data should bring no results in a report.
    Since you have a session variable being part of the report, and that variable failed to initialize you get this error.
    Thanks,
    Satya Ranki Reddy

  • Has no value definition - Session INIT Block.

    Hi,
    I have a Session initialization block for Fetching Departments from a Security table for the user logging in.
    One user can have Multiple Departments assigned to him, so i enabled Row-wise initialization in INIT Block.
    But when a user not assigned to any departments logs in, i am getting 'Session variable has no value definition' error in all the reports. But i should instead pass a default value when SQL in INIT Block is not returning anything. Like '0'.
    How can i do this? please respond.
    Thanks
    Swami

    Hi Swami,
    When the query fetches a result set, the variable gets initialized.
    But, when the query doesn't fetch any rows, the variable doesn't gets initialized and hence "no value definition" errors out.
    So, to avoid this,
    In the query itself, place an exception condition which returns '0'.
    select dept_name from table
    where user_name = ':user'
    UNION
    select '0' from table
    where user_name <> ':user'or you can use like this
    select CASE WHEN user_name = ':user' THEN dept_name ELSE '0' END
    from tableP.S: Query written orally. (Pls adjust the query accordingly)
    Regards,
    Raghu

  • Accessing Row-Wise Initialization variable in OBIEE Answers 11g

    Hi All,
    I need to access row-wise initialized session variable in answers fx section, i came to know from following blog
    http://carpediemconsulting.wordpress.com/
    that i can use VALUELISTOF(NQ_SESSION.ROW-WISE-VAR)) function to get the list of values in answers, but i m getting syntax error in obiee 11.1.1.3
    Any work arounds for this. Please help!!
    Thanks,
    Sreekanth

    You can't, it's only intended for use in the RPD initblocks, it's mainly used to restrict data acces:
    http://www.orastudy.com/oradoc/selfstu/fusion/doc.1111/e16816/biapps_security.htm
    regards
    John
    http://obiee101.blogspot.com/
    http://obiee11g.com/

  • Regarding Logical level key and row wise initialization

    Hi Gurus,
    What is the purpose of row wise initialization in external table authentication and when we have to go for row wise initialization.
    Why we have to enable logical level key in hierarchy is this only for getting drill down to the next level if we make two columns as logical level key what will happens. If we want to enable a column as a logical level key what are the character sticks that column should satisfy.
    Thanks,

    1) Row Wise Initialization used to hold multiple values in a variable. Let says SQL gives 4 rows (A,B,C,D) as output. Now I want to hold 4 value in a variable to get this happen we need to go for RowwiseIniziation. If you do not do this at any point in time Variable holds only value A not others. Simply it works as Array.
    2) Level keys define the unique elements in each level and provide the context for drill down. You can make two logical columns as logical key but you need to make sure what to be displayed in your hierarchy by selecting DISPLAY. If you make to as separate logical keys and set Display for both you get two columns in the hierarchy
    http://gerardnico.com/wiki/dat/obiee/hierarchy_level_based

  • Use Session Variable with row-wise initialization

    Hello,
    I use an initialization block in order to load some translations in my repository (version is 11.1.1.6.BP1) :
    SQL :
    SELECT CODE_KEY, STRING_VALUE FROM "TABLES" WHERE  LANGUAGE_KEY= 'VALUEOF(NQ_SESSION.USERLOCALE)'
    Values :
    CN_INCOMING, Incoming, en
    CN_OUTGOING, Outgoing, en
    CN_INCOMING, Réception, fr
    CN_OUTGOING, Emission, fr
    etc ...
    I checked the row-wise intialization.
    The query is correct and returns the right values (I check in the log file ..).
    So far, So good.
    But when I want to use session variables in a column expression (in repository) like  :
    CASE WHEN "column"="xx" THEN VALUEOF(NQ_SESSION."CN_INCOMING")  ELSE VALUEOF(NQ_SESSION."CN_OUTGOING") END
    I got the error: [nQSError: 23006] The session variable, NQ_SESSION.CN_OUTGOING, has no value definition.
    If I used the same formula directly in Answers it's working correctly.
    Do I have to necessarily do this in answers or is there a way to do this in the repository.
    Thanks in advance
    Regards
    Benjamin

    Yes I already tested this point, when I don't use a row wise initialization it's working, but I don't want to create one variable for each translations that I need to use in column formula if you know what I mean.
    I don't understand why we can't use this kind of variable in this context ..but if I have to create the column in my analysis, I will do that, but it's not really user friendly
    Anyway thanks for your time.

  • [nQSError: 23006] The session variable, NQ_SESSION.S_Budgetary_Control, has no value definition.

    Hi All,
    I have created a Initialization block named Budgetary_Control
    the query entered in the data source is
    select
         column
    from
         table
    where
         user_name=':USER';
    then i selected a connection pool and tested with 2 USER
    and it gave me expected result.
    in the Edit data target i gave a name to this variable as S_Budgetary_Control and a default valus as -1
    i checked on row wise initialization test again
    it show me multiple record.
    the i save the rpd and deployed the same to the server.
    now when i trying to create a report using this varriable like VALUEOF(NQ_SESSION.S_Budgetary_Control) it gave me error like
    [nQSError: 23006] The session variable, NQ_SESSION.S_Budgetary_Control, has no value definition.
    Please help me to get rid of this issue.

    set Required for authentication
    and followed by Authentication init block as Execution Precedence
    ~ http://cool-bi.com

  • The session variable, NQ_SESSION.OU_ORG, has no value definition.Please have your System Administrator look at the log for more details on this error. (HY000)

    Hi All,
    I have created a user 'Bitest' and group 'Bi_Test_Group'. Assigned the user to the group and the group to BI consumer role.
    I gave access to only procurement and spend catalog folder reports and Dashboards.
    When I login to BI Presentation Services with above created user and open any procurement and spent catalog dashboard i am getting below error in every report.
    Its BI Apps 7.9.6.3 installation.I gave read  access to group to all procurement and spent subject area.
    Error Codes: OAMP2OPY:OPR4ONWY:U9IM8TAC:OI2DL65P:OI2DL65P 
    Odbc driver returned an error (SQLExecDirectW). 
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 23006] The session variable, NQ_SESSION.OU_ORG, has no value definition.Please have your System Administrator look at the log for more details on this error. (HY000) 
    SQL Issued: {call NQSGetQueryColumnInfo('SELECT Fact."PO Amount" FROM "Procurement and Spend - Purchase Orders"')}
    SQL Issued: SELECT Fact."PO Amount" FROM "Procurement and Spend - Purchase Orders"
    Please help me in resolving this issue and getting results on Dashboard.
    Thanks in advance
    Thanks,
    Sandeep

    Check your query or connection pool settings etc

  • Handling Null Row wise initialization

    Hi,
    I am creating row wise initialization block to restrict the number of records returned by a Answers.
    I am populating a session variable called, REPS_LIST. When I put the condition,
    Fact.REP_ID = VALUEOF(NQ_SESSION."REPS_LIST") the group filter works fine.
    I want to handle a situation where REPS_LIST is NULL.In that case,I would to get all the rows from my fact. For this, I put the filter like
    Fact.REP_ID = IFNULL( VALUEOF(NQ_SESSION."REPS_LIST"), "Fact".REP_ID)
    However when i run the Answers report, it says no value definition for REPS_LIST. How can I handle the null condition here?
    Thanks,
    Vivek.

    John,
    It appears that the row-wise session variables can be used only with the equality(=) sign. We can't put them in any other function in that the server convert these variables into comma separated string and replaces the = by IN operator. So if I had following filter
    Fact.REP_ID = VALUEOF(NQ_SESSION."REPS_LIST")
    then it actually gets translated into something like
    Fact.REP_ID IN (1001, 1002, 1003....)
    As you suggested, I played with the SQL than going behind the above syntax and was able to achieve what I wanted.
    Thanks,
    Vivek.

  • Row wise Initialization - Huge LOV

    We use External table for Authentication & uses row wise Initialization. It is working perfectly fine, but the issue is the list of values (output) from row wise initialization is pretty large (the output SQL will be at least 30 pages). This is alarming the management and mainly the DBA's and atleast once in a week we are experiencing issues with these SQL's. And in near future, the SQL will be extending drastically as the company has acquired another 2 companies and once the integration is completed, the LOV's from row wise initialization will easily go upto 90 to 100 pages. Let me explain you what I did... We have around 10 Init blocks used for Authentication, but I am mainly concerned about 2 (cf_visibility & sc_visibility) as these are used in Security/Group/Permissions/Report Filters. Each report will for sure have these filters attached. Here cf_visibility Init SQL is (SELECT DISTINCT 'cf_list', CHILD_COMPANY_ID FROM COMPANY_VISIBILITY CV, CLIENT_FACILITY CF WHERE CV.ANCESTOR_COMPANY_ID=(SELECT SUBSTR(':USER', 0, (INSTR(':USER', '.')) - 1) FROM DUAL) AND CV.CHILD_COMPANY_ID=CF.CLIENT_FACILITY_ID AND CV.DW_DELETE_DATE IS NULL UNION SELECT DISTINCT 'cf_list', 0 FROM DUAL) and
    sc_visibility Init SQL is (SELECT DISTINCT 'sc_list', CHILD_COMPANY_ID FROM COMPANY_VISIBILITY CV,SERVICE_CENTER SC WHERE CV.ANCESTOR_COMPANY_ID= (SELECT SUBSTR(':USER', 0, (INSTR(':USER', '.')) - 1) FROM DUAL) AND CV.CHILD_COMPANY_ID=SC.SERVICE_CENTER_ID AND CV.DW_DELETE_DATE IS NULL
    UNION SELECT DISTINCT 'sc_list', 0 FROM DUAL)
    and both are row wise initialization blocks. The filter used for all the Groups is [(DEP.Jobs."Client Facility ID" =  VALUEOF(NQ_SESSION."cf_list")) AND (DEP.Jobs."Service Center ID" =  VALUEOF(NQ_SESSION."sc_list"))]. This output LOV for this filter is huge as I said earlier.
    My main goal here is to reduce the size of the SQL to 1 page, I am planning to do that by replacing the LOV list by SQL (Kind of sub query). I started experimenting with only cf_visibility for now. I replaced the existing SQL with (select 'cf_list',
    'SELECT DISTINCT CHILD_COMPANY_ID FROM COMPANY_VISIBILITY CV, CLIENT_FACILITY CF WHERE CV.ANCESTOR_COMPANY_ID=(SELECT SUBSTR('':USER'', 0, (INSTR('':USER'', ''.'')) - 1) FROM DUAL) AND CV.CHILD_COMPANY_ID=CF.CLIENT_FACILITY_ID AND CV.DW_DELETE_DATE IS NULL UNION SELECT DISTINCT 0 FROM DUAL'
    from dual)
    this returns only 1 row, with 1column as cf_list and the next column with the ('SELECT DISTINCT CHILD_COMPANY_ID FROM COMPANY_VISIBILITY CV, CLIENT_FACILITY CF WHERE CV.ANCESTOR_COMPANY_ID=(SELECT SUBSTR('':USER'', 0, (INSTR('':USER'', ''.'')) - 1) FROM DUAL) AND CV.CHILD_COMPANY_ID=CF.CLIENT_FACILITY_ID AND CV.DW_DELETE_DATE IS NULL UNION SELECT DISTINCT 0 FROM DUAL') Note: USER will be replaced with actual User Name.
    But when I run a report in Answers, it throws me an error [nQSError: 17001] Oracle Error code: 1722, message: ORA-01722: invalid number at OCI call OCIStmtExecute. I understand the error as it is clearly mentioned, but my question is "Is there any way not to get that huge list in the SQL"
    Let me show you the SQL generated along with the error. As this is a Report filter I am only attaching the where clause of the Query. (where ( T38857.CLIENT_FACILITY_ID in ('SELECT DISTINCT ''cf_list'', CHILD_COMPANY_ID FROM COMPANY_VISIBILITY CV, CLIENT_FACILITY CF WHERE CV.ANCESTOR_COMPANY_ID=(SELECT SUBSTR(''5700.abcde'', 0, (INSTR(''5700.abcde'', ''.'')) - 1) FROM DUAL) AND CV.CHILD_COMPANY_ID=CF.CLIENT_FACILITY_ID AND CV.DW_DELETE_DATE IS NULL UNION SELECT DISTINCT ''cf_list'', 0 FROM DUAL') ).
    So I also thought if I use REPLACE function and replace 'Single Quote' before and after the SQL statement with 'Space', it may work. So I edited one of the Group's report filter ((DEP.Jobs."Client Facility ID" = Replace('VALUEOF(NQ_SESSION."cf_list")', ''', ' ') but it is throwing an error in the expression builder itself.
    Now I ran out of ideas and seeking any help/guidance from you folks.
    I know this is a very lengthy post as I tried to explain the situation as clearly as possible. I hope someone can assist me in resolving this. Thanks for your Time...
    -Dinee

    can't you make a custom table in the DWH? or use a VPD? Maybe a parameterised database view? What I mean is try to push your logic to the database.
    regards
    John
    http://obiee101.blogspot.com

  • Row-wise Initialization: Use caching

    We have the 'Use Caching' check box available for row-wise initialized system variables. Although I do understand how this is useful as it shortens the login time for users who have logged in before by initializing the session variable from the cache instead of firing the query on the database everytime, I need to understand how this cache mechanism works especially when the overall server caching is disabled.
    I have faced a situation where the session variable was initialized from the cache although the server caching was disabled. Is there any way to purge this cache or set a refresh frequency? As of now I had to uncheck the 'Use Caching' check box to fetch the refreshed results in the session variable. But I believe this is undesirable in the long term.
    Thanks,
    Gaurav

    Had thought so. But then it means that you can use row-wise initialization with caching, only when the underlying data is never going to change. Restarting the BI server is not a viable option to clear the cache in systems which require 100% availability.
    But any ways, thanks for the input Dhar.
    Thanks,
    Gaurav

  • Variable has no value when executing a scenario

    Hi,
    I have a simple package consists of two steps:
    1. Refresh a variable "V_FILENAME_D501" to get the value inputted from user. The refreshing statement is "select '#V_FILENAME_D501' and it is running in a SQLServer environment.
    2. Execute an interface which loading data from a file (filename from step 1) into an essbase database.
    The execution failed at step 1 with the following error message:
    java.lang.Exception: Variable has no value: CBS_PRD_PROJECT.V_FILENAME_D501
    at com.sunopsis.dwg.dbobj.SnpVarSess.getValue(SnpVarSess.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.bindSessVar(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.bindSessVar(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskPreTrt(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlV.treatTask(SnpSessTaskSqlV.java)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    at com.sunopsis.dwg.cmd.e.i(e.java)
    at com.sunopsis.dwg.cmd.h.y(h.java)
    at com.sunopsis.dwg.cmd.e.run(e.java)
    at java.lang.Thread.run(Unknown Source)
    Any Idea what happens?
    regards,
    James.

    Hi James,
    How are you?
    You can't query a file data store so it will error out. You need to build a small logic for that. Please follow the below steps to implement that.
    1. In your source data store just give the resource name as #CBS_PRD_PROJECT.V_FILENAME_D501
    2. Drag and drop that data store as your source in the interface.
    3. Make your variable V_FILENAME_D501 data type as Alphanumeric, Action as Not Persistent.
    4. Drag and drop the twice variable in your package make that as a Declare variable and in the second step make that as Refresh Variable then in the third step your interface.
    5. Generate a scenario out of that and while executing that scenario give the Value as your desired file name, hit enter once you gave, otherwise it wont take the input and make sure that LAST VALUE is UNCHECKED.
    PS: You can still do it without Default Value as *<%=odiRef.getSrcTablesList("", "[SCHEMA]/[RES_NAME]", "", "")%>* :)
    Thanks,
    G
    Edited by: Gurusank on Mar 16, 2009 2:58 PM

  • Abt Row - Wise initialization

    Hi Gurus,
    What is the use of row wise initialization when we have go for this can i have one scenario for better under standing.
    Thanks,

    Check these
    http://gerardnico.com/wiki/dat/obiee/row-wise
    http://docs.oracle.com/cd/E12103_01/books/admintool/admintool_Variables6.html
    http://obiee10grevisited.blogspot.com/2012/03/row-wise-initialization.html

  • Row wise initialization

    Hi,
    Can anyone explain how row wise initialization works in OBIEE in steps wise.
    Thanks,
    Lakshmipathi.

    Go through the link
    http://108obiee.blogspot.com/2009/03/external-table-authentication-and-row.html

  • Using dashboard prompts to initialize session variables

    hi everyone,
    I want to know if it's possible to have a dashboard prompt that is only used to change session variables. This prompt would stay in a tab without any report.
    Can this be done?

    when the user changes the variables in the promptI guess its value not the variables ....am i right?
    the variables seem to work just in the tab where the prompt is, although the prompt is set to be valid in the dashboard.1 ) Request/Presentation variable scope is in Dashboard or page
    2) As i shown in screen shot in a Dashboard Demo have two pages req variable and multi select when i change the value in prompt it was changing the value in qty variable means initializing the session variable value
    The screen shot dat i gave is what are you looking or some thing else??
    thanks,
    saichand.v

Maybe you are looking for