Null value in Hierarchy Problem

Hi, all:
I have the following issue that need your help, any comments would be greatly appreciated.
We have a table, say sponsor, sponsor has four different levels, say level1, level2, level3, level4, but not all sponsors have 4 levels, some may only have 1 or 2 level2. For example:
Level1     Level2     Level3     Level4
Federal     DOD     ARMY     RAH
Federal     DOE
Industry
When I built a hierarchy for this four levels and use it in discoverer plus, even some of sponsors only have level1, it will still drill down to level2, level3, and level4, with the same value of its level1. That is not pretty. My question is how to not drill down to level2, level3 and level4 if they don't exist?
Regards,
Li

Hi, all:
I have the following issue that need your help, any comments would be greatly appreciated.
We have a table, say sponsor, sponsor has four different levels, say level1, level2, level3, level4, but not all sponsors have 4 levels, some may only have 1 or 2 level2. For example:
Level1     Level2     Level3     Level4
Federal     DOD     ARMY     RAH
Federal     DOE
Industry
When I built a hierarchy for this four levels and use it in discoverer plus, even some of sponsors only have level1, it will still drill down to level2, level3, and level4, with the same value of its level1. That is not pretty. My question is how to not drill down to level2, level3 and level4 if they don't exist?
Regards,
Li

Similar Messages

  • Handle null value in char infoobject -data type DATE(ora-01722 invalid num)

    Hi,
    We have a DSO with a info object in the Data fields. The char info object has the data type DATE and most often it has the null value. but some times  it has data in it.
    When ever we were trying to run a report on the DSO it throws a error  as  ORA- 01722 INVALID NUMBER.
    we tried editing PSA data and placing 00000000 for null values - and had a message  invalid date.
    suggestions pls
    Regards.

    Hello,
    Please check the note given below
    https://service.sap.com/sap/support/notes/1327167.
    If null value is the problem,  change the query setting for not to show the null values. Just add a filter in ZDAT to exclude "NULL"
    Thanks
    Nidhi

  • Null values from DB2 cause problems

    Hi,
    I have another problem with database link to DB2 using IBM iSeries Access for Linux on 64 bit OEL5 with Oracle Database gateway and unixODBC 2.2.14.
    DB link works. However, null values from DB2 cause problems. Date columns that are null on db2 return a date '30.11.0002', and character columns that are null return an error ORA-28528: Heterogeneous Services datatype conversion error.
    isql returns correct results.
    How can i fix this? Perhaps set some parameters for data conversion on the gateway?
    Thank you.

    If the driver is not fully ODBC level 3 compliant and misses functions, we're lost. But sometimes the drivers are ODBC level 3 compliant but miss the correct 64bit implementation. In those cases we can tell the gateway to use the 32bit ODBC level 3 standard by setting in the gateway init file:
    HS_FDS_SQLLEN_INTERPRETATION=32

  • Problem with QofQ and Null Values

    Just converted from CF5 to CF7. Finally figured out what was
    causing the error message :
    "The value "" cannot be converted to a number" when running a
    QofQ. It happens whenever there is a NULL (and I think a ZERO)
    value in the QofQ. I'm using the QofQ in a seperate chart program.
    The main query merges data from a store and a region table.
    I'm doing a LEFT OUTER JOIN to combine the REGION with the STORE,
    AND so that stores with NO SALES for a given day will show up as
    ZERO. On the main report, when I don't use a QofQWhen grouping by
    DAY or MONTH, I can test the value in the CFOUTPUT for NULL or ZERO
    and display "0" or "N/A" on the report.
    But when I try to chart it, using a QofQ to read in the
    values from the main query, and format the numbers, I get this
    error message. I've tried using the CAST function, using FLOAT,
    DOUBLE, BIGINT, etc., but still get same error message.
    The only way I could fix this is to add a WHERE statement to
    the QofQ, that only includes sales values greater than ZERO. But
    then, I have gaps in my chart because stores with NO SALES for a
    given day or MONTH don't appear. Because they are removed from the
    query. The whole point of LEFT JOINS is to include items with no
    values (or NULL) values.
    Does anyone know if it's possible to keep these values in a
    QofQ? So that items (e.g., store locations in my case) with NULL or
    ZERO values for some or all days or months can be charted? Even
    with a ZERO value? I've read everything I can get my hands on
    regarding QofQ, the CAST function, etc., but nothing seems to work.
    Thanks for any help. (FYI, didn't have this problem with CF5. It's
    QofQ could handle NULL or ZERO values without providing an error).
    Gary

    Well, I tried the IsNull function on the 3 SUM() values I was
    calculating in my SELECT statement (on a LEFT OUTER JOIN QUERY),
    and I STILL got another "cannot convert "" to a number" but this
    time the error message was more direct, and pointed me to a DATE
    field in my query, where I was SORTING AND GROUPING either by DAY
    or MONTH (depending on what user selected on form).
    In my QofQ, I'm not just reformating the integer SUM()
    values, but also the date values. So, I applied the IsNull()
    function to the DATE values in my main query. I still kept getting
    errors. But after experimenting ((SQL Server BOL docs doesn't give
    ISNULL() examples for DATE FIELDS, only NUMBER fields), I tried
    putting the dates in SINGLE QUOTES in my IsNull() function, the
    QUERY RAN. Then I wasn't sure WHAT date to enter, e.g., 1/1/1889 or
    1/1/2001, etc.
    Then, I discovered, after experimenting, that you cannot just
    blindly enter ANY date when using IsNull in a date field,
    especially if you are using CFGRAPH to chart the results by day.
    You have to select a date within the date range the user selected,
    so this means using the FORM.DATE (or URL.DATE) value from the
    form. Here's the working example from my SELECT main query:
    SELECT SUM(ISNULL(d.ttldb,0)) AS SumOfDB,
    SUM(ISNULL(d.ttldbv,0)) AS SumOfDBV,
    SUM(ISNULL(d.ttldbi,0)) AS SumOfDBI,
    <CFIF '#url.reptype#' IS "DAILY">
    ISNULL(d.depday, '#url.date1#') AS depday
    <CFELSE>
    month(ISNULL(d.depday, '#url.date2#')) AS TranMonth,
    year(ISNULL(d.depday, '#url.date2#')) AS TranYear
    </CFIF>
    Then I discovered that whatever date was used in the URL.DATE
    field (in my case it would be one of the two date field from the
    form, and depended on whether you coded DATE1 or DATE2, the chart
    would always show ZERO values for that date. So I tried putting the
    IsNull() date values in the GROUP BY and ORDER BY statements, e.g.,
    <CFIF '#url.reptype#' IS "DAILY">
    GROUP BY ISNULL(d.depday, '#url.date1#')
    ORDER BY ISNULL(d.depday, '#url.date1#') DESC
    <CFELSE>
    GROUP BY year(ISNULL(d.depday, '#url.date2#')),
    month(ISNULL(d.depday, '#url.date2#'))
    ORDER BY year(ISNULL(d.depday, '#url.date2#')),
    month(ISNULL(d.depday, '#url.date2#'))
    </CFIF>
    And this worked. The report ran just fine, and the chart
    charted every value correctly.
    I guess you have to learn all the little "quirks" about CF7
    and how it's QofQ and chart programs work. But so far, so good.
    Thank you all for your help. Now I've got to update other old
    CF5 programs that are returning errors when there are null values
    from my LEFT OUTER JOIN queries. Will take some time, but at least
    I know how to do it. Thanks to your help.
    I really appreciate your time and efforts to help with this
    issue.
    Gary

  • Problem in sending drop down list value to jsp page showing  null value

    i am trying to send a drop down list value from client side to a jsp page but getting null value
    this is first page where i have accessed data from database and putted it in a drop down list
    <select name="sub">
         <%
         while(rs2.next())
         cat=rs2.getString(1);
         %><option value="<%=cat%>"><%=cat%></option><%
         }%></select>
    <input type="submit" value="Go"></input>
    now on submit i am going to another page
    where i want the selected value from drop down list to be printed
    i have used there
    <%
    String subject= request.getParameter( "sub.value" );
    out.println(subject);
    %>
    but it is printing null here what is the problem that i m facing
    thanx & reagrds
    sweety

    how to generate dynamically names for text boxes
    i am generating text boxes in while loop when selecting data from database
    while(rs1.next())
    name=rs1.getString(1);%>
    <tr>
    <td>1</td>
    <td><%out.println(name);
    //i am printing here stud_id a unique key and want to update records from following text boxes to particular stud_id
    %></td>
    <td><input type="text" name="????"></input></td>
    <td><input type="text" name="????"></input></td>
    <td><input type="text" name="????"></input></td>
    <td><input type="text" name="????"></input></td>
    </tr><%
    the structure is like
    stud_id | attended theory | conducted theory | ateended practical | conducted practical
    where attended theory, conducted theory............. are to be inputed manually for all students and then update in database
    so i am facing problem in generating names for textboxes how to do that
    so that those can be updated in database for particular student
    Thanx & Regards
    sweety

  • N:1 mapping problem with incoming NULL value

    Dear experts,
    i have a problem mapping an incoming Idoc to XML file. Here's the situation:
    1) Structure of inbound Idoc
        ZTST00
        ZTST01 Structure: FIELDNAME, FIELDVALUE. Values: FIELDNAME = "Z1", FIELDVALUE = "4";
        ZTST01 Structure: FIELDNAME, FIELDVALUE. Values: FIELDNAME = "Z2", FIELDVALUE = null;
        ZTST01 Structure: FIELDNAME, FIELDVALUE, Values: FIELDNAME = "ZABC", FIELDVALUE = "5";
        ZTST01 Structure: FIELDNAME, FIELDVALUE. Values: FIELDNAME = "Z4", FIELDVALUE = "6";
        ZTST02
    2) Resulting XML:
        LINEHEADER (1 line)
        LINEDETAIL (1 line, Structure: VALUE)
        LINEFOOTER (1 line)
    3) I need to map ZTST01-FIELDVALUE to LINEDETAIL-VALUE, but only if the FIELDNAME equals "ZABC".
    In my message mapping, i put an IF FIELDNAME = 'ZABC' THEN FIELDVALUE->VALUE, on context ZTST00. But because of the null value in line 2 of the Idoc, the value that is returned to the XML is "6", as the null value is disregarded and not in the queue of FIELDVALUE.
    How can I put the correct value ("5") to LINEDETAIL-VALUE?
    Regards
    William

    Hi William,
    Simply go back to the default context ZTST01 (for both: FIELDNAME and FIELDVALUE fields) and it should be fine.
    Hope this helps,
    Greg

  • Problem when querying OLAP for Value based hierarchy

    Hi I have problem when querying OLAP for value based hierarchy , for level based dimension it work fine
    the strange part is if I only put one value, it will work perfectly
    for example if I put only 1 value for that value base hierarchy like CF_HIER::426362, then it will get the correct value for that id 426362
    but if I put multiple value to the list
    CF_HIER::426362
    CF_HIER::424470
    CF_HIER::429073
    CF_HIER::424230
    then only some value will come out correctly, some of them will be 0, I wonder why because if I query using each value, then it show correct value
    for multiple value usually only the top in hirarchy give correct value, but the leaf will give 0, but if I query only the leaf, the leaf will give correct value
    this problem only happen for my value based hierarchy, for the level based hierarchy it work fine both for each value or multiple value in the list
    this is the code how I guery
    ////the "elementIdList" is where the value is (CF_HIER::426362,CF_HIER::424470,CF_HIER::429073,CF_HIER::424230), if I only put single value in this list the query work fine, but if I put multiple value then some value give correct result, some will give 0
    String[] elementIdArr = new String[elementIdList.size()];
              int i = 0;
              for (Long elementId: elementIdList) {
                   String elementIdStr ="";
                   if (hierarchy instanceof MdmLevelHierarchy)
                        elementIdStr = hierarchy.getName()+dimension.getValueSeparationString()+
                                            level.getName()+dimension.getValueSeparationString()+
                                            level.getName()+"_"+elementId;
                   else
                        elementIdStr = hierarchy.getName()+dimension.getValueSeparationString()+
                                            elementId;
                   elementIdArr[i++] = elementIdStr;
              Source myList = dp.createListSource(elementIdArr);
              result = hierarchy.getSource().selectValues(myList);
         Source joinedSource = measure.getSource();
              joinedSource = joinedSource.join(result );
    is there any suggestion where I'm doing wrong?or is it different between querying value based hier with level based hier?
    thanks

    Hi I have problem when querying OLAP for value based hierarchy , for level based dimension it work fine
    the strange part is if I only put one value, it will work perfectly
    for example if I put only 1 value for that value base hierarchy like CF_HIER::426362, then it will get the correct value for that id 426362
    but if I put multiple value to the list
    CF_HIER::426362
    CF_HIER::424470
    CF_HIER::429073
    CF_HIER::424230
    then only some value will come out correctly, some of them will be 0, I wonder why because if I query using each value, then it show correct value
    for multiple value usually only the top in hirarchy give correct value, but the leaf will give 0, but if I query only the leaf, the leaf will give correct value
    this problem only happen for my value based hierarchy, for the level based hierarchy it work fine both for each value or multiple value in the list
    this is the code how I guery
    ////the "elementIdList" is where the value is (CF_HIER::426362,CF_HIER::424470,CF_HIER::429073,CF_HIER::424230), if I only put single value in this list the query work fine, but if I put multiple value then some value give correct result, some will give 0
    String[] elementIdArr = new String[elementIdList.size()];
              int i = 0;
              for (Long elementId: elementIdList) {
                   String elementIdStr ="";
                   if (hierarchy instanceof MdmLevelHierarchy)
                        elementIdStr = hierarchy.getName()+dimension.getValueSeparationString()+
                                            level.getName()+dimension.getValueSeparationString()+
                                            level.getName()+"_"+elementId;
                   else
                        elementIdStr = hierarchy.getName()+dimension.getValueSeparationString()+
                                            elementId;
                   elementIdArr[i++] = elementIdStr;
              Source myList = dp.createListSource(elementIdArr);
              result = hierarchy.getSource().selectValues(myList);
         Source joinedSource = measure.getSource();
              joinedSource = joinedSource.join(result );
    is there any suggestion where I'm doing wrong?or is it different between querying value based hier with level based hier?
    thanks

  • Problem when passing string array in sessions showing null value

    i am trying to pass a string array but it is showing me the null value
    i think the the problem is seem to be in session.settAttribute("subject['"+i+"']",subject) in 2.login_action.jsp
    or in String sub1=(String) session.getAttribute("subject[0]"); in 3.user_home.jsp
    i have following three pages
    1.login.html
    2.login_action.jsp
    3.user_home.html
    1.login.html
    <html>
    <body>
    <form method="post" action="login_action.jsp">
    Username<input type="text" name="username"></input>
    <br>
    Password<input type="password" name="password"></input>
    <input type="submit" value="login"></input>
    </form>
    </body>
    </html>
    2.login_action.jsp
    <%@ page contentType="text/html"%>
    <%@ page import="java.sql.*" %>
    <%!
    String user,pwd;
    String subject[]=new String[10];
    int i,totalsubject;
    %>
    <%
    try
    user=request.getParameter("username");
    pwd=request.getParameter("password");
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:ods","scott","tiger");
    PreparedStatement ps = con.prepareStatement("select password from users where username='"+user+"'");
    ResultSet rs = ps.executeQuery();
    if(rs.next())
    if(rs.getString("password").equals(pwd))
    session.setAttribute("username",user);
    PreparedStatement ps2 = con.prepareStatement("select subject_id from allot_teachers where staff_id='"+user+"'");
                        ResultSet rs2 = ps2.executeQuery();          
                             while(rs2.next())
                             i=0;
                             subject[i]=rs2.getString(1);
    // if i display here the subjects in out.println(subject[i]) it is working fine
    // but in next redirected page it is showing null
                             session.setAttribute("subject['"+i+"']",subject[i]);
                             //out.println(subject[i]);
                             i++;
    response.sendRedirect("user_home.jsp");
    else
    out.println("error invalid username or password");
    else
    out.println("error invalid username or password");
    con.close();
    catch(Exception e)
    out.println(e);
    %>
    3. user_home.jsp
    <%@ page contentType="text/html"%>
    <%@ page import="java.sql.*" %>
    <html>
    <%
    String user,pwd,cat,cat1;
    String username=(String) session.getAttribute("username");
    if(username==null)
    response.sendRedirect("login.html");
    //just tried for first two subjects
    String sub1=(String) session.getAttribute("subject[0]");
    String sub2=(String) session.getAttribute("subject[1]");
    //here it is printing null
    out.println(sub1);
    //here it is printing null
    out.println(sub2);
    %>
    <form method="post" action="logout.jsp">
    <input type="submit" value="Logout"></input>
    </form>
    </html>
    Cheers & Regards
    sweety

    The name in getAttributre doesnt match the name in setAttribute.
    Note "subject[0]" is a string containing 10 chars, "subject" is a string containing 7 chars.
    Here is your code:
    session.setAttribute("subject",subject);
    String sub1=(String) session.getAttribute("subject[0]");

  • Hardware Inventory - WMI Class or Registry extend Problem (NULL Values)

    Hello guys,
    I need your help please,
    I'm New to SCCM 2012, I'm trying to extend the hardware inventory, here's the steps:
    1. Default Client Settings -> Hardware Inventory -> Set Classes,
    2. For WMI - I import Class from Workstation in the network for example Root\Cimv2\TerminalServices -> Win32_TSDeploymentSettings 
    For Registry Import i use reg2mof - then import the mof file and enable it.
    If i do anything wrong, please let me know as well,
    Now for the problem...
    I can see data in the database for one computer(record) but when i import more then one computer the database has NULL Values for most of the imported data
    i can't find any solution for this problem, if you know what to do PLEASE HELP
    Thanks
    Avshalom

    After you import the classes you need to wait for hardware inventory to occur. Then the null will change to the real data.
    For registry keys, make sure that you also add the mof edit to the configuration.mof too.
    Also remember that if a computer does not have the class it will show null.
    Garth Jones | My blogs: Enhansoft and
    Old Blog site | Twitter:
    @GarthMJ

  • Problem in summation on a column with possible null values

    Hi,
    I want to do summation on a column.
    If I use <?sum(amount)?>, if there is any null value,its giving NaN as output.
    From the forum I got the below syntax
    <?sum(AMOUNT[number(.)!='NaN'])?>
    but it is also not giving me the expected result. Its always displays 0.
    I want some thing like sum(NVL(amount,0)). Could some body please help me out?
    Thanks in Advance,
    Thiru

    If the column has many, many null values, and you want to use the index to identify the rows with non-null values, this is a good thing, as a B*Tree index will not index the nulls at all, so, even though your table may be very large, with many millions of rows, this index will be small and efficient, cause it will only contain index entries for those rows where the column is not null.
    Hope that helps,
    -Mark

  • 1.5.1: Excel import - Problem with NULL values in date fileds

    Hi,
    I'm trying to import Excel Data via CSV with the import into table feature of SQLDeveloper.
    Everything works fine, but if I select some of my date colums I get an error telling me that I have null or invalid values in a date column:
    Verifying if the Date columns have date formats
    FAILED
    Date columns SOA_CONTROLLING_NO, SOA_DATE_OF_CONTROLLING, PAYOUT_ME_2_SUM, PAYOUT_ME_1_SUM, PAYOUT_PLUS_SUM, PAYOUT_6_SUM, PAYOUT_5_SUM, PAYOUT_4_SUM, PAYOUT_3_SUM, PAYOUT_2_SUM, PAYOUT_1_SUM, CONTRACT_APPENDIX_SUM, CONTRACT_BASE_SUM, ME_CONVENANT_SUM, REF_SUM_NO_REPAY, SEL_CONVENANT_SUM, ME_REQ_SUM, REF_REQ_SUM_NO_REPAY, SEL_REQ_SUM,  have invalid or null date formats
    I tried:
    +20012121313,demo1,,+
    +20012121313,demo1,NULL,+
    +20012121313,demo1,to_date(NULL),+
    but none of them worked...
    How may I import those columns, where some of the rows contain NULL values?
    Same story using 1.5... ;-(
    Thank you!
    Best regards,
    Johann

    Look at the query Andy proposed:
    SELECT NULL LINK, start_date, NVL(sum_of_trans, 0) + 0.001 VALUE
      FROM (SELECT   TRUNC (startdate) start_date,
                     CASE
                        WHEN :p9_view_by = 1
                           THEN ROUND (DURATION / 60, 3)
                        ELSE 1
                     END sum_of_trans
                FROM TRANSACTION
               WHERE trans_id = x AND startdate BETWEEN y AND z
            GROUP BY TRUNC (startdate)) xDoes this query deliver anything?
    Denes Kubicek

  • Missing XML elements are no longer treated as NULL value (MDM 7.1 SP04)

    Hello,
    We have a problem with importing XML files with missing XML segments (and hence missing XML fields) in XML file.
    In MDM 7.1 SP03 (7.1.03.72), missing fields within a missing segment (so no tags at all for segment and fields) were still represented in the import manager as NULL value in the value mapping, making it possible to do value mapping and to import this NULL value into MDM (overwriting existing values in MDM).
    As of MDM 7.1 SP04 (we are running 7.1.04.126) the missing fields within an missing segment are no longer represented in the import manager as NULL value in value mapping!
    I don't know if that's a new 'feature' in SP04 but we are now running into following problem:
    - We are importing customer data from ECC into MDM, where some segments are optional
    - The fields within the (optional) segment are mapped to a multi-valued tuple field
    - When we now import a customer that has values for the optional segment, the tuple field gets filled correctly
    - When the optional data is now removed completely from the customer in ECC, we don't get that segment anymore in the XML file (this is how the Idoc works on ECC side, if all entries from the optionel segment are deleted then the complete segment is missing in the XML file)
    - In SP03 we replaced the existing tuple records with the NULL value (leaving 1 empty tuple record, but this is known issue to SAP, so we've accepted this for the moment)
    - In SP04 we cannot replace the existing tuple records anymore, since when complete segment is missing, the fields within that segment gets no value at all (in source values). So we are not able to replace the existing tuple records with NULL/nothing, leaving the 'old' tuple values in MDM!
    Does anyone have solution for this (that also works with SP04)?
    We already tried to replace the complete record in MDM (instead of updating it, this is possible since we always get the latest (and complete) status of a customer), but we are also mapping the remote key, and hence you are not allowed to replace the record during import!
    Other solution could be to have PI add any missing segment into the XML message, but we first want to make sure that this cannot be handled within MDM Import Manager itself.
    Thanks in advance,
    Marcel Herber
    Edited by: P.H.M. Herber on Apr 27, 2010 3:46 PM

    Hi Marcel,
    I haven't tried it with XML file but i hope it may help you.
    long back i need to send one field with value null if it doesn't come in source file and if it comes then original value.
    What i did, i loaded a file which does not have this field, so in MDM Import Manager, under source hierarchy i created a field say ABC and map this field with target field and its value Null with Null, i also save this property in map using configuration options-->Automap fields when loading map = Yes
    So whenever a file come with missing field ABC, automatically this field get created and mapped with target field and its value Null with target Null.  on the other hand, If this field actually comes in Source File(Delimited, Excel) ABC then this field with its original value gets map with target field value. That time it worked fine.
    Just try and revert with result if it helps..
    Else, using PI is the best option to create that missing segment into the XML message.
    Regards,
    Mandeep Saini

  • Aggregation On Value Based Hierarchy

    Hi
    I am having a problem with aggregation on value based hierarchy
    Well I have a table which will serve as my fact and dimension table
    It is as follows
    ID     Name     MID     Salary
    0     All          
    1     A     0     10000
    2     B     1     9000
    3     C     1     9000
    4     D     1     9000
    5     E     2     8000
    6     F     2     8000
    I created a value based dimension named EMPLOYEE , with child as ID and parent as MID
    I created a cube EMP_SALARY with a measure salary mapped to the Salary column in Employee
    My expectation here is to see the total salary at every level including the salary at that level
    So let us take employee B as an example. He is the manager for employees E and F
    So what I would like to see at level B is sal of B + sal of E + Sal of F = 9000 + 8000 + 8000 = 25000
    But what I get from the cube is 9000. Now is the above possible ? If so please so provide me suggestions
    I can achieve the same by using the following sql query
    select e1.id,rpad('*',2*level,'*') || e1.name,e1.sal,
    select sum(e2.sal)
    from test_emp e2
    start WITH e2.id = e1.id
    CONNECT by PRIOR e2.id = e2.mid
    ) sum_sal
    from test_emp e1
    start with e1.mid is null
    CONNECT by prior e1.id = e1.mid;

    The same basic problem, along with a solution, was discussed in the following thread.
    Re: Value Based Dimension causing Aggrega                         tion problems

  • Security for value based hierarchy + OLAP

    Hi,
    I am using row-level security mechanism described here: http://www.rittmanmead.com/2012/03/obiee-11g-security-week-row-level-security/
    It works well for level based hierarchies... but is there a way to apply it to value based OLAP hierarchy in OBIEE 11.1.1.6?
    My case is:
    - I have parent-child value based hierarchy representing management structure with various depth.
    - of course facts are always linked to leaf members of hierarchy
    - I need to apply security at different levels. E.g. Office manager should have access to one/multiple offices information (basically all employees he manage currently + his previous office before he was moved)
    - In report I display presentation hierarchy that starts at country level and then manager drill to his offices
    - At country level, manager should see a measure aggregate only for his offices (not whole country)
    In relational database there is no problem:
    - I follow rittman blog
    - create session variable that store list of all leaf members of hierarchy (employees) managed by manager
    - with OBIEE "Manage"->"Identity" I apply filter on fact table and get right measure aggregates at all levels of hierarchy
    Issue for OLAP:
    - with OBIEE "Manage"->"Identity" I apply filter on OLAP value based hierarchy
    - in case of filter "MY_BMM"."Org Str"."Org Str Key" = VALUEOF(NQ_SESSION."LEAFS_LIST") -> when manager include hierarchy column to report there are no results because hierarchy starts at country level and he have no access to country data
    - to workaround it I tried: "MY_BMM"."Org Str"."Org Str Key" = VALUEOF(NQ_SESSION."LEAFS_LIST_AND_ALL_ANCESTORS") -> manager can see all aggregates at country level because he have access to country, and OLAP just use country level aggregate
    - IsDescendant("MY_BMM"."Org Str" , VALUEOF(NQ_SESSION."OFFICE_ID")) will work only for single office as we can not use row wise variables here
    One solution I can imagine is to create additional level based dimension that have only 2 levels: "All"->"Org Str Leaf". Then apply filter on this "artifitial" dimension. It is not perfect solution to duplicate dimensions only for security purposes... that's why I ask you for advice if you know better way?
    Regards,
    mudi

    Here is an example, how to set security in OBIEE 11.1.1.5 (or future versions)  against  Oracle OLAP dimensions.
    *(1). Create the Oracle OLAP Hierarchy Descendant View against Value-based hierarchy*
    These views return a row for each ancestor-descendent relationship in the hierarchy. As you can see how easy it is.
    CREATE OR REPLACE VIEW DEPT_DESCENDANTS
    AS
    SELECT 'DEPT' "DIMENSION", 'DEPTHIER' "HIER", ancestor, descendant
    FROM TABLE(OLAP_TABLE('BAWOLAP.BNSOLAP DURATION QUERY', null, 'LIMIT DEPT_HIERLIST TO 'DEPTHIER''',
    'DMNS DESCENDANT AS VARCHAR2(60) FROM DEPT
    DMNS GID_VAL AS NUMBER FROM ___AW_GID_DIMENSION
    MSR ANCESTOR AS VARCHAR2(60) FROM DEPT_FAMILYRELVAL'
    where ancestor is not null
    *(2). Create the User ACL Tables and Populate with Data*
    Create an Access Control list test table by user and Dept. Later this will be populated with production data.
    create table user_dept_acls
    username varchar2(30),
    dept varchar2(60)
    insert into user_dept_acls(username, dept) values ('user1', 'GWM');
    insert into user_dept_acls(username, dept) values ('user1', 'GT');
    insert into user_dept_acls(username, dept) values ('user1', 'SC');
    insert into user_dept_acls(username, dept) values ('user2', 'GWM');
    insert into user_dept_acls(username, dept) values ('user2', 'GT');
    insert into user_dept_acls(username, dept) values ('user3', 'SC');
    commit;
    *(3). Create an Init Block Connection Pool*
    Oracle BI EE requires a separate Connect Pool for Init blocks. It does not allow the default query connection pool to be reused for init blocks. So, we need to create a new init block.
    *(4). Create the ACL Session Variables*
    These session variables hold the list of all members that the user may access.
    Example Session Variable: DEPT_ACL
    Init Block: "Init DEPT_ACL"
    SQL:
    select 'DEPT_ACL', account from user_DEPT_acls where username = ':USER'
    union all
    select 'DEPT_ACL', descendant
    from DEPT_descendants
    where ancestor in (select account from user_DEPT_acls where username = ':USER')
    union all
    select 'DEPT_ACL', ancestor
    from DEPT_descendants
    where descendant in (select account from user_DEPT_acls where username = ':USER')
    The first query block of the init block SQL just selects the members explicitly entered into the ACL table. The second block selects all the descendants of those members from the descendants view. The third block selects all the ancestors to ensure that the user has access to all the members in the drill path starting from the root member.
    Make sure that row-wise initialization is checked in the Variable Target section of the init block.
    *(5). Add the Data Filters*
    In our test case we assigned the data filters to the BIAuthor role, but the filters should be added to whatever role makes the most sense.
    Data filter on "BNSGL"."Department":
    "BNSGL"."Department"."Dept" = VALUEOF(NQ_SESSION."DEPT_ACL")
    *(6). Log in as a Normal User and Query the Hierarchy*
    The user can only see to the members to which they are granted access in the ACL table plus all ancestors and descendants of those members.
    Drill down to the bottom of the hierarchy.
    *(7). Look at the Query Log*
    In the nqquery.log we see that the session variable is expanded into an IN list in the physical SQL query. The BI Server breaks the IN list into two IN lists to avoid the Oracle SQL limit of 1,000 items per IN list.
    Edited by: Nasar Ali-Khan on Jul 2, 2012 8:14 AM

  • Geting null values from request

    hi!
    i m producing this code through out.println() method in my page and then using java script
    i am submiting this page to another page
    <td width="56%"><textarea name="question_no_1"></textarea></td>
    <input name="question_no_1_radio1" type="radio" value="radio"></td>
    <td width="59%"> <textarea name="question_no_1_ans1"></textarea></td>
    <input type="radio" name="question_no_1_radio2" value="radio"></td>
    <td><textarea name="question_no_1_ans2"></textarea></td>
    <input type="radio" name="question_no_1_radio3" value="radio"></td>
    <td><textarea name="question_no_1_ans3"></textarea></td>
    <input name="question_no_1_radio4" type="radio" value="radio"></td>
    <td><textarea name="question_no_1_ans4"></textarea></td>
    but when i submit it to the other page and try to retrieve value of parameter "question_no_1"
    through the bellow statement it shows a null value but i have given a value previously by
    typing a question in it
    System.out.println("the Body Of The First Question Is "+request.getParameter("question_no_1"));
    can anybody help me what is going on here.
    also if i try to normaly submit first page (ie <form="form1" method="post" action="other_jsp_page.jsp"> ) then the statement in the next page gives me the correct value but
    i have to submit the first paper through java script.
    if u want to see full detail of my code then go to the following link
    http://forum.java.sun.com/thread.jsp?thread=309254&forum=45&message=1237097
    thanx in advance

    OK, your problem is that you are not submmiting the values to the other page. When you do the
    --> document.forms[0].submit();
    in JavaScript, the form has to action defined
    --> <form name="form1" method="" action="">
    So, the page does nothing. The line following the submit just changes the location of the page, IT DOES NOT POST the values.
    One solutions is the following:
    1.- define an action for your form:
    <form name="form1" method="POST" action="'save_paper.jsp">
    2.- Then create a JavaScript function that validates the fields and simply return "true" if the form is correct, and false if there is a problem (just a little modification of the one you have).
    3.- Then modify your submit button:
    Instead of:
    <input type="button" name="Save" value="Save" onClick="validateField()">
    Try:
    <input type="SUBMIT" value="Save" onclick="validateField();">

Maybe you are looking for

  • Can anyone suggest a select case statement in place of my if statements?

    I am having a little trouble switching my if statements to select case. Any help would be appreciated Option Strict On Option Explicit On Public Class Form1 Private Player1 As String Private Player2 As String Private Player1Wins As Integer = 1 Privat

  • How do i get my display back to its regular settings?  it looks like an xray

    my daughter hit a couple of buttons and the screen went to a black background and all of the pics and icons now look like xrays.  Any help on restoring it back to normal settings?

  • Forms do not open correctly in Google Chrome and Firefox

    Does anybody know the reason for the bad performance of the Adobe form, which I have created from scratch using the available tools in Form Central? It only works in Explorer and Safari... Also, if saved as a pdf, users experience that the "send it"

  • I-Pad. How to organize my photo's

    I want to load pictures from my camera to my I-Pad.  Then move the pictures to other locations such as Facebook, Instagram, Flickr,LinkedIn,or individual folders. I bought an Apple adapter to load my pictures . I think the pictures go directly into t

  • Linking a nav button to page + other

    I have 2 questions 1. I had found somewhere that tells the simple way to link my flash button to a page in my site, but I couldn't find it...I need to know how to link my buttons to the appropriate pages. When I did them a while ago, nothing happened