Dynamic Conditions in OLAP universe

Hi all,
we want to use conditions that are derived from the current date to provide easy filters to our users. Like "Current Month" derived from the current date w/o users having to enter any value. In the old 5.1 Business Objects version this was working properly.
We use Webintelligence BO XI 3.1 with Fixpack 3.3 on top of SAP BW (BexQuery) which means we are dealing with an OLAP universe.
The Condition we want to use as an example is:
<FILTER KEY="@Select(Dates\Invoice Month)"><CONDITION
OPERATORCONDITION="Equal"><CONSTANT CAPTION="MonthNumberOfYear
(CurrentDate)"></CONSTANT></CONDITION></FILTER>
It parses correctly, yet when applied as a filter in a web intelligence report it does not return a result.
The ultimate goal would be not the "Current Month" but a date range "Previous YTD".
I have found many threads dealing with similar questions, but non seemed to fit - we want to avoid that users have to enter a date, and we want to avoid increasing the number of measures. (And we want to avoid the worst case to have to do it at the BexQuery level due to performance aspects)
Any idea would be greatly appreciated.
Thanks
Norman

Hi,
such filtering needs to be done using EXIT Variables in the BEx query.
ingo

Similar Messages

  • OLAP Universe MDX functions

    Hello experts,
    We have a requirement to apply a filter based on report run date in comparison with date objects as follows:
    (Report Run Data - 90 days) < System Completion date < Report Run Date
    Any any one help me how we can implement this in Conditions at OLAP Universe.
    Regards,
    Ravi Kumar Garre

    Hi,
    Here is a document whic lists lost of example.
    OLAP universes best practices
    [http://www.sdn.sap.com/irj/boc/go/portal/prtroot/docs/library/uuid/c0a45246-ce76-2b10-e688-f5c8206203eb?quicklink=index&overridelayout=true]
    Regards,
    Bashir Awan

  • Setting a Prompt value for KeyDate in WebI on SAP OLAP universe

    I have a webi report which has as its dataprovider a query against an SAP olap universe against a BEx query which has the KeyDate parameter exposed.
    Iu2019d like to get at this prompt from the SDK.
    In infoview if I run the report it pulls up the keydate prompt (a special dialogue which seems to be implemented as part of the connection definition) - this prior to pulling up the full prompts dialogue and showing all universe based @prompt filters.  In WebI I can see the prompt value entered using =UserResponse("dp.kd.value") .   So it does seem to see the keydate as a prompt of some sorts.
    I've got a little jsp that allows me to set prompts very nicely (and packeaged as a jar in the CMC that schedules ok as well) but when I put it against a report with a key date u201Cpromptu201D it just wonu2019t see it.  When I call a getCount() as below it returns 0.
    oDocumentInstance.getDataProviders().generateQueries();     
    Prompts oPrompts = oDocumentInstance.getPrompts();
    out.print(oPrompts.getCount());
    This is all in an attempt to get around the scheduler limitations of key date which would give me two queries, two universes and two reportsu2026 one report for scheduling (using a customer exit to set key date) and a second for user refresh  (with a prompted key date)  which would all be rather messey to say the least!
    So any cunning ideas on how I can get hold of this key date thingymebob in the SDK?
    (ps. "Fixed in V4" would be nice to hear as an aside to thisu2026 In playing with the ramp up Iu2019ve got the same issues however so Iu2019m not to hopefull )
    Thanks!
    Jeremy.

    Hi,
    First I think you have to create a support ticket because normally the object in the universe must be generated with data data type nad it is not the case.
    We are awere of some limitations with data types.
    Secondly, if you want to have users entering date you have to specify date in the prompt data type like this:
    <OPTIONAL><FILTER KEY="[PERIOD SD].[DB Full Date].[DB Full Date]"><CONDITION OPERATORCONDITION="Equal"><CONSTANT CAPTION="@Prompt('Enter Date ','D',,mono,free)"></CONSTANT></CONDITION></FILTER></OPTIONAL>
    Regards
    Didier

  • Olap universe(creating new object)

    All,
    I am using bo 4.0 version and i have created an olap universe on top of bex query.i am new to olap universe.
    I have a need to create a new customized object in my olap universe out of two existing objects.As of now i am creating variables in my webi report generated out of the olap universe to fit my need.Instead i want to create a condition object or some kind of object in the universe itself.
    how can i do this?Any ideas or suggestions.
    For ex:
    my requirement looks like this,not exactly the same as indicated below but similar.
    existing objects
    city object has certain values 'hyd','new york'
    currency objecthas 'rupee','dollar'
    new person object out of the above mentioned existing objects
    if city='hyd' and currency='rupee' then 'indian' else 'non indian'
    how can i do this?Any ideas or suggestions.
    Regards,
    Reji.
    Edited by: reji2011 on Dec 7, 2011 11:10 PM

    Hi,
    there's a function builder / formula editor in Universe Designer, with OLAP universes this uses MDX syntax with XML markup.
    to build up some logic, you need to use the "IIF" operator.
    regards,
    H
    p.s.  in BI 4.0,   route-one should be the BICS BEx connection, not the OLAP .unv ..

  • OLAP Universe Filter for Constant

    Hello
    I am trying to create a universe filter. We have a BO OLAP Universe on top of MSAS 2008. We are at  BOXI 3.1 SP2/FP2.2
    <FILTER KEY="[Date].[Calendar Date].[Date]"><CONDITION
    OPERATORCONDITION="InList"><CONSTANT
    CAPTION="[Today].item(0).MEMBER_CAPTION"/></CONDITION></FILTER>
    Where [Today] is a calculated member.
    This one parses fine, however when it comes to MDX which i capture via
    profiler
    WITH SET NS28B9BE741FD446A5A0414EA718F8FC_0 AS Filter([Date].[Calendar
    Date].levels(4).allmembers,((([Date].[Calendar
    Date].currentmember.properties("CAPTION")="[Today].item
    (0).MEMBER_CAPTION"))))
    SELECT { [Measures].DefaultMember } ON COLUMNS ,
    NS28B9BE741FD446A5A0414EA718F8FC_0 DIMENSION PROPERTIES
    MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [My Cube]
    This returns empty. However it works fine and returns value if i remove "" wrapping
    [Today].item(0).MEMBER_CAPTION and run this query in SQL Server Management Studio ( MDX query)
    However i cannot introduce the same in the filter - if i try it gives
    me a parse error.
    i.e the following doesnt help
    <FILTER KEY="[Date].[Calendar Date].[Date]"><CONDITION
    OPERATORCONDITION="InList"><CONSTANT
    CAPTION=[Today].item(0).MEMBER_CAPTION/></CONDITION></FILTER>
    Can you kindly advise if you have seen similar errors and what i can do possibly in this case to workaround this?
    Edited by: ramaks on Oct 26, 2010 2:35 AM
    Edited by: ramaks on Oct 26, 2010 2:36 AM
    Edited by: ramaks on Oct 26, 2010 2:37 AM

    Hi Didier,
    Thank you for your response. That was exactly my original design - but it has performance implications for us. Please see an earlier thread of mine.
    Query Performance in OLAP MSAS Universe using Filter
    In this Case the MDX will become as below.
    Which means every additional dimension i add creates multiple cross joins, and the filter will go through all possible cross-join combination to filter out that one record for that particular date. My original thread explains this more clearly.
    Is there no other way to implement such a filter?
    WITH
      MEMBER [Measures].[2FF3DF31-5D02-4A9B-A8,BC,E7,25,C2,30,1B,61] AS
        IIF
            [Date].[Calendar Date].CurrentMember.Properties("CAPTION")
          =
            [Today].Item(0).Member_Caption
         ,1
         ,0
    SELECT { [Measures].DefaultMember } ON COLUMNS ,
    ,NON EMPTY
        Filter
                  CrossJoin
                AddCalculatedMembers
                  [Date].[Calendar Date].[Date].MEMBERS
          [Measures].[2FF3DF31-5D02-4A9B-A8,BC,E7,25,C2,30,1B,61] = 1
    DIMENSION PROPERTIES
    MEMBER_UNIQUE_NAME, MEMBER_CAPTION ON ROWS FROM [My Cube]
    Edited by: ramaks on Oct 26, 2010 4:26 PM

  • Current Month - Last 12 Months in OLAP Universe

    I need to create a conditional objects at OLAP Universe and use it in WEBI report to run for last 12 months from Current Month.
    We have exit variable for CM (Current Month). Can any one advise how to create the conditional object at Universe level to restrict always 12 months worth of data. I need to schedule the report and when ever it runs, it shouls pull only last 12months.
    Can I implement like  [0CALMONTH].CurrentMember - 12  , I need to get last 12 months. I need to do this only with Time dimension, I dont want to have any measure assosiated with just like in regular RDBMS definitions in Universe. 
    Thanks
    Pat
    Edited by: patnaik24 on Apr 12, 2010 10:50 PM

    Hi
    I would recommend to modify the existing customer exit variable so that it will restrict the data for the last 12 months. You can then create a prompt in your web intelligence report that limits additionally the data to the current month when necessary.
    Regards,
    Stratos

  • Date Prompt  through not resolved in webi on OLAP Universe

    Hi,
    I am using BO XI 3.1 with latest fix pack.
    I have created a OLAP universe based on SSAS 2005 Multicube for reporting using WebI
    I have Date field in my SSAS cube and i created a universe based on that cube , but my Date field changed to Character in the Universe Layer.
    My requirement is that i need to create a a prompt over that field in the webi report using a CALENDAR to enter the value instead of entering the value manually.
    I changed the type  of field for the date field from CHARACTER to DATE in the OLAP Universe level and exported it in order to see the calendar prompt ( as the calendar component is visible for the data type of DATE) .
    This conversion don't seems to work for me due to the conversion from Char to Date even if i have the data for particular date i cannot see the records but if manually type the value for that same date without converting the Date format to type Date.
    I also tried the MDX stuff and created :
    <OPTIONAL><FILTER KEY="[PERIOD SD].[DB Full Date].[DB Full Date]"><CONDITION OPERATORCONDITION="Equal"><CONSTANT TECH_NAME="format"@Prompt('Enter Date ','A',,,{1/1/2009})"></CONSTANT></CONDITION></FILTER></OPTIONAL>
    but problem is still the same .
    So can you suggest about unusual behavior of the Universe Layer.
    Kindly suggest .
    Regards,
    Vibhav

    Hi,
    First I think you have to create a support ticket because normally the object in the universe must be generated with data data type nad it is not the case.
    We are awere of some limitations with data types.
    Secondly, if you want to have users entering date you have to specify date in the prompt data type like this:
    <OPTIONAL><FILTER KEY="[PERIOD SD].[DB Full Date].[DB Full Date]"><CONDITION OPERATORCONDITION="Equal"><CONSTANT CAPTION="@Prompt('Enter Date ','D',,mono,free)"></CONSTANT></CONDITION></FILTER></OPTIONAL>
    Regards
    Didier

  • How create filter in olap universe with MDX LIKE Function

    Hi all
    I need to create a filter in a olap universe with the LIKE MDX function.
    Problem:
    There is a dimension with account numbers whit 10 digits like this: 5683492703 and i need to create a filter whit all account numbers whit the number 7 in the sixth position in a olap universe.
    How to do this?
    Thanks all

    Try like this :
    <FILTER KEY="[Level Object Definition]">
         <CONDITION OPERATORCONDITION="Like">
              <CONSTANT CAPTION="_____7*"/>
         </CONDITION>
    </FILTER>
    Not sure if it is _ or ? to represent a single character. Try ? in place of _ if the above code doesn't work.
    Regards

  • Predefined filters in OLAP Universe

    Hello
    I am trying to create a pre-defined filter in an OLAP Universe on top of SSAS 2008. We use BOXI 3.1
    Here is my object Structure
    Date(Folder) -> Year(Folder) -> Year(Dimension object).
    However when i try to create a simple filter as below
    <FILTER
    KEY="[Date].[Year].[Year]"><CONDITION
    OPERATORCONDITION="InList"><CONST
    ANT CAPTION="@Prompt('Calendar
    Year(s)','A','Date.Year\Year',multi,constrained)"/></CONDITION></FILTER>
    I keep getting "Parse Failed UNV0023 Invalid Definition" error.
    What am i missing here?
    Thanks
    Edited by: ramaks on Dec 30, 2009 7:00 PM

    Hi,
    Are you sure that the parent class of the "Year" object is "Date.Year"?
    The correcxt syntaw for @Select is @Select(parent class\object name)
    If you have an error you hit the same problem in the @Prompt that would be like this: @Prompt('Question','A','parent class\object name',multi,constrained)
    Didier

  • OLAP Universe Refresh creates error

    Hi,
    we built an OLAP universe based on BEx Query. SAP Netweaver 7.0 EHP1, BO XI3.1 SP3 FP2, BW Integration Kit XI3.1 SP3 FP2.
    BEx query contains 4 Filters that need user input.
    When we create the universe for the first time, everything works fine and the Filters with variables are created as Universe Filters with prompts and LoVs.
    Everytime when we refresh the universe structure, the MDX syntax of 2 of the Filters in the universe is added again which is causing an error at runtime. So when refreshing the universe 2 times, we see the MDX filter syntax 3 x in the condition field.
    The filters have not been changed or moved, so we do not see why 2 filters are refreshed and 2 get addtional code. It also happens with other BEx Queries/Universes.
    Thx for ideas

    Hi Ingo,
    we did not remove the filters from the universe.
    "Added again" means, that when I refresh the universe structure, the pane with "added Elements" shows 2 filters that existed already in the universe. Universe designer adds them again.
    These are the filters that create the problem.
    When I open the filter syntax in the universe, the refresh added the MDX code again, so that it contains the MDX twice.
    With every refresh the filter-MDX-code is added again. But only at 2 of 4 filters.
    Rgds,
    LK

  • LOV Filtering on OLAP universe

    Hi
    i have a BOXI 3.1 SP2 FP2.6 universe on top of a bex query (BW BI 7 SP5)
    my bex query contains a variable 'ready for input' which give me a prompt condition on BO universe.
    My BO condition has the default LOV <Variable name> which gives me 2 hidden objects <Variable name> and <Variable name>Base.
    this hidden object displays a list of values on prompt in my report. i want to filter the list of values on 2 single values (from the whole list).
    I know i can define the 2 single values directly in my prompt by filling the 'value ' and 'key'. But my 'value ' are static.
    I'd rather to limit the list of the LOV directly on the hidden objects <Variable name> or <Variable name>Base of the universe on the 2 key of my requested items
    is it possible ?
    thanks in advance,
    Rgds,

    Ingo, you mentioned in this posting that the functionality required is not supported for OLAP universes ... is this still the case in 3.1 ?
    WE have a similar challenge here where we need to restrict the list of Vendors that is presented to the user to only Merch Vendors. I need to do this in a BEx Query, as there is a 2nd variable which returns a list of articles based on the selected Vendor, so need the selected Vendor to be available in the Post-Popup variable exit code.
    I have implemented the RSR_VARIABLE_F4_RESTRICT_BADI in BW, which correctly limits the list of values in teh Vendor dropdown when the BEx query is run in RSRT / web, but in WebI this list of values doesn't apply.
    Cheers,
    Andrew

  • SAP BW Time characteristics data type issue in BO OLAP Universe

    Hi Ingo,
    We have time characteristics in our SAP BW Queries, for example OCALMONTH with data type NUMC.
    When we create OLAP Universe these objects are having Character as data type and not working properly when we use these objects as filters. The filter working on string instead of calender month.
    If i try to change the data type in Universe we are not able to execute Web Intelligence queries due to Driver Not Capable error.
    Appreciate you help.
    Regards,
    Ravi Kumar Garre

    Hi,
    Please find my linline answers:
    - are you entering the value manually or did you select the value from a list of values ?
    I am selecting the values from list.
    - based on which item is the list of values ?
    List of valules are coming from BI infoObject 0CALMONTH
    - what about creating a variable for this in the underlying BW query ?
    We have created a BI Variable, found that the Condition operator is Between and hence when execute the WebI query for this object there are two prompts one is for FROM value another is for TO value. If i give a value Dec, 2007 for FROM and leave TO as blank then i am getting data for all months instead of DEC 2007 onwards.
    - did you trace the Web Intleligence part to see the details ?
    I do not have authorization to login on server and find the trace. I will ask our BO Administrator for MDX log file.
    Thanks & Regards,
    Ravi Kumar Garre

  • Getting Custom LOV in SAP BW OLAP Universe

    Hi,
    My Requirement is to create a prompt where the end user is prompted to select a Custom group(which we have to manually put in prompt and is not available in SAP BW table) and the data should be filtered by the billing document type for that group which again we have to specify in the prompt.
    This is what I have created but it's not working -
    <OPTIONAL><FILTER KEY="@Select(Billing Document Typ\Billing Document Typ)">
    <CONDITION OPERATORCONDITION="InList">
    <CONSTANT TECH_NAME="@Prompt('Enter\Select Sales Data Type: ','A',{'Merchandise Invoice Sales':'YFX':'YLXP':'ZFX':'ZLXP','Dropship Invoice':'YFXD':'ZFXD'},multi,free,Not_Persistent)"/>
    </CONDITION></FILTER></OPTIONAL>
    I have seen this thing working in BO with oracle as backend but it's not working here in OLAP Universe.
    Please let me know if anyone has ever faced this issue.
    Thanks,
    Pankaj Goswami

    Hi Marvin,
    When you define a filter only the Where clause is available.
    When you define an object both Select and Where clause are available.
    For an object the Select clause is mandatory, the Where clause is optional.
    So for instance if you want to define a new calculated measure, use the Select clause if you want to filter with this new object you can set the Where clause but that means that this object will be always filtered by the Where clause definition.
    The other way is to create a new filter that use the object definition to filter on what you want: in that case you can use the object for any scenario and use filter only when you need it.
    Last the syntax you wrote is invalid:
    <EXPRESSION>(@Select (Class\Measure),filter)</EXPRESSION>
    What do you want to define? What is the purpose of this new object?
    Please provide all the information you can and I will try to provide you a correct definition.
    Didier

  • Adding mandatory filter with own LoV to BW OLAP Universe

    Dear all,
    I want to add a own filter with custom LoV to a characteristics-filter in an OLAP Universe. This filter does not exist in the BEx Query, so I have to do it manually.
    So when the prompt shows up in WebI, the User should be able to select the Values from the custom LoV, for example:
    - Tokio
    - London
    - Paris
    The filter has to be mandatory and Tokio should be preselected. I was testing some things with the filter-XML, but always got errors. Can somebody tell me how this works?
    Thank you for help in advance!
    B. Wegner

    Hi,
    There are a few steps involved, I would suggest approaching them one at a time.
    First, try to set up a filter (condition in the universe) to only show data for Tokyo (no prompt). Ensure you can get this to work.
    Next, try and turn this condition into a prompt, but just define the LoV in the prompt syntax, not a separate object. Check that this works.
    Next, try and split out that LoV into it's own object that populates from the characteristic in the BEx query. This will be the tricky part (maybe), if possible, get a filter created in the BEx query (make sure it's set as 'ready for user input') so that you see how the LoV gets created.
    As a last resort, have a look in the manual: http://help.sap.com/businessobject/product_guides/boexir31SP3/en/xi31_sp3_sap_olap_univ_en.pdf
    Hope that helps.

  • OLAP universe formulaes

    Hi,
    I am trying to develop formulaes on my OLAP universe from sap bex query , i did search and found few links, just wondering if any one have updated material on this , how to use MDX to write the req logic, also what kind of dimensons and measures it supports using logical conditions like IF, DATE, Arthematic .
    Any help is appreciated.
    Thanks

    Hi,
    take a look here:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0a45246-ce76-2b10-e688-f5c8206203eb
    ingo

Maybe you are looking for