Todate Function error on creating YTD measure

I'm trying to create YTD measure using TODATE funtion and and I'm getting the error : To use TODATE function storage level of the query must be static level.
Please help me to know what I might have done wrong and how to correct it.
thanks in advance.
Regards
Jsmith

You have incorrectly defined time dimension. Search the forum or check this link:
http://www.rittmanmead.com/2007/04/30/obi-ee-time-dimensions-and-time-series-calculations/

Similar Messages

  • Create Ytd measure from essbase accounts

    Hi,
    We have separate dimension for Year and Period (Month) in Essbase without Ytd member for period. In BIEE, how do we create YTD measure from existing logical column?
    Thanks,
    GT

    Hi narthan,
    According to your description, you want to select data between first day of this year and last day of previous month. If that is the case, we can achieve your goal by two ways:
    • Adding where statement to the query without using parameter like below:
    where column_name between DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) and dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
    • Adding two parameters named StartDate and EndDate by following steps:
    1. In Dataset Properties dialog box, in Query text box, add where statement like below, then the parameters will be created automatically
    where column_name between @StartDate and @EndDate
    2. In Design surface, expand Parameter node. Right-click @StartDate and open Parameter Properties dialog box.
    3. In Data Type drop down list, select Date/Time.
    4. In left pane, click Default Values, then select Specify Values.
    5. Click (fx) button, in Expression text box, type the following expression, then click OK to save the options.
    =DateSerial(YEAR(Today()),1,1)
    6. Right click @Enddate and set Data Type to Date/Time as step3.
    7. Repeat the options of step4 and 5 above, and type the expression like below, then click OK.
    =DateAdd("d",-(Day(today())), Today())
    For more information about Adding Parameters to Filter Reports by Date, please refer to the following document:
    http://technet.microsoft.com/en-us/library/aa337401(v=SQL.105).aspx
    If you have any questions, please feel free to let me know.
    Best Regards,
    Wendy Fu

  • ToDate function error in WebI

    Hi All,
    I am getting the error for ToDate function in BOXI 3.1 webI rich client Application.
    =ToDate("15/12/2002";"dd/MM/yyyy")
    Please help me..
    Thanks in advance
    Mahesh

    Hi,
    What error ?
    What version ?  Patch ? 
    Regards,.
    H

  • Problem with todate function in OBIEE.

    Hi,
    I have some data mismatch while using todate function. There is a measure GWP, and two logical columns MTD and YTD. MTD is todate(GWP, fiscal_month) and YTD is todate(GWP, fiscal_year). whereas sometimes MTD is displaying data and YTD doesn't. Probably it has to display, what is a problem with this? Can anyone help me out!!!
    Thanks,
    Anitha.B

    Hi,
    Thanks for your response.
    The requirement is, there is a date filter and measure GWP(sum) and when selecting a date it should ensure the following.
    1. Daily - GWP of the selected date
    2. MTD - GWP from first day of the selected month upto the selected date.
    3. YTD - GWP from the first day of the financial year of the date to the selected date.
    So created a time dimensional hierarchy fiscal_year, fiscal_month and date_time,date_key(chronological key).
    created a filter as
    date_time is equal to the date filter
    MTD - todate(gwp,fiscal_month)
    YTD - todate(gwp,fiscal_year)
    There is a discrepency in the result in which sometimes am getting the value for MTD and not for YTD like
    22/11/1986
    Product Daily MTD YTD
    A 0 100 0
    B 0 200 300
    C 0 350 0
    It may not be a problem with the data , then where am I doing mistake? help me.
    Thanks,
    Anitha.B

  • Nesting of AGO or TODATE functions with differing level arguments is not supported

    I have a column in BMM which calculates the Year-To-Date Sales. This function uses the ToDate function to caculate the YTD.
    I need to develop another formula column which shows the last-year's YTD.
    I develop this formula in BMM by AGO on the YTD column which already uses a ToDate function.
    In BI Answers when selecting this column, results in the below message:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 22044] Nesting of AGO or TODATE functions with differing level arguments is not supported. (HY000)

    To reply to my own question. It appears I got it working, that is, the error message problem is solved, but I still have questions on how to use these functions.
    To get it to work, I added the primary key D_TIJD.TIJDKEY at the level of the lowest grain in my dimension (level tab).
    What I still wonder is how to make it select the right values. I have the following hierarchy: bookyear - bookperiod - week. A bookperiod contains 4 or 5 weeks (4,4,5 in a quarter), so 12 periods in one year. I defined a measure at period level and another at that level with the ago function, that should return the figures for that same period of the year before. My first question is, whether to go back 12 periods or 52 weeks (which is the lowest grain in my dimension)?
    The second question is how to use a combination of TODATE and AGO so that if I calculate the current period (of which only 2 weeks are passed), I also only want to include the same two weeks for that period one year ago in order to make a correct comparison. How do I do that???

  • Error While using ToDate Function

    Hi All,
    I am getting below error while creating one report in OBIEE. Please help me in this regard as this is bugging me from long time.
    View Display Error
    Odbc driver returned an error (SQLExecDirectW).
    <<Picture (Metafile)>> Error Details <javascript:void(null)>
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 435222656. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058]
    A general error has occurred. [nQSError: 22047] The Dimension used in TODATE
    function must be referenced in the query. (HY000)
    Kindly help me resolve this issue.
    Thank you,
    Yugendra.

    HI User,
    Refer this link
    http://siebel.ittoolbox.com/groups/technical-functional/siebel-analytics-l/nqserror-22047-the-dimension-used-in-ago-function-must-be-referenced-in-the-query-2692576

  • TODATE and AGO function errors in OBIEE

    I have aggregated time dimension. The time calendar comprises of the following structure with a physical table for each level in the Physical Layer -
    Year -> Half Year -> Quarter -> Month -> Week -> Day
    These tables form the calendar. The RPD works fine until I use the TODATE and AGO based fields in the query.
    When I use the AGO and the TODATE time series function to generate the YTD and PY YTD calculations in the Business Modelling Layer. The system gives the following error on Answers -
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 22045] AGO function is used on a time dimension which is logically snowflaked. (HY000)
    SQL Issued: SELECT "- Retail Calendar"."Year Identifier" saw_0, "- Sales"."Gallons Sold" saw_1, "- Sales"."Profit Amount" saw_2, "- Sales"."Sales Quantity" saw_3, "- Sales"."Retail Sales Amount" saw_4, "- Sales"."Licensee Sales Amount" saw_5, "- Sales"."% Retail Sales Amount" saw_6, "- Sales"."% Licensee Sales Amount" saw_7, "- Sales"."Store Average Profit" saw_8, "- Sales"."Sales Amount - Last Year" saw_9 FROM "Reporting Objects" ORDER BY saw_0
    Let me know what I am doing incorrect here?
    I have checked all the joins to see if the time calendar has been incorrectly joined, but I can't find anything. Please help.

    Below are the physical tables involved -
    Year - TIME_YEAR_DM
    Half Year - TIME_HALF_DM
    Quarter - TIME_QTR_DM
    Month - TIME_MTH_DM
    Week - TIME_WK_DM
    Day - TIME_DAY_DM
    Each of these tables has an Identifier key (for example, YR_IDNT, HALF_IDNT, QTR_IDNT, etc.) that uniquely identifies the rows. I am using these IDNT fields as my hierarchical keys.

  • Error  while creating PO --   Unit of measure not defined for lanuage  ZH

    Hi all,
    i  have created the PR with EA as UOM. Then while creating PO, i am getting error like
    '  Unit of measure not defined for lanuage ZH' .
    Then  I execute CUNI
    Then menu is GOTO > Translation > units of measure
    enter source language and target language . After this i am getting the below message
    --->  Language not available on server
    Please suggest what i should do. Thanks.
    Thanks
    pabi

    HI Pabi,
    Go to material master for material in purchase requisition, the Go to Additional data and maintained language as ZH in material master data.
    Also the other possibility, that if in your case purchase requisition are converted to purchase orders through background jobs,
    then check the background job execution in SM37 whether that background job has been triggered twice parellely in the background, which could have resulted in locking of same purchase requisition at same time and hence your are getting the Error.
    Br,
    Tushar

  • On the AGO Function need to Create TODATE function with Diff levels - MTD,Q

    Hi All,
    My Basic Requirement is to Create Time Series Function on AAA ie ( Month To Date , Quarter To Date and Year To Date )
    The Logic for the AAA = XXX / Previous 3 Months Revenue.
    we know that we can use the AGO Function to create Previous 3 months Revenue with Month is Level . But the issue is .... i cant use AGO function since i need to perform Year to Date, QTD and MTD upon 'AAA' this OBIEE doesn't permit to use nested time series functions upon varying levels .
    So How can i Resolve the issue ie creation of TODATE function on the AGO Function with Diff levels
    Thanks,
    Swapna S

    hi,
    for your requirement create three repository variables like
    for previous 3 months create repository variable like
    select to_char(sysdate,'yyyymm') -3 from dual;
    for month to date first calculate first day of the month
    select To_Char(Add_Months(Last_Day(Sysdate),-1) + 1,'MM/DD/YYYY') from dual;
    after put a filter in answers date between first date of the present month and current date
    create the same thing for year to date
    calculate first date in the year like following query
    select To_Char(Trunc(Sysdate,'YEAR'),'MM/DD/YYYY') from dual;
    after that apply filter date b/w first date in the year and current date
    i hope it works for your scenario
    Regards
    Naresh
    Edited by: Naresh Meda on Nov 10, 2008 2:08 AM
    Edited by: Naresh Meda on Nov 10, 2008 2:12 AM

  • ToDate Function giving ERROR#

    Hi,
    I am trying to convert a string to date , using Todate function in webi 4.0 , but its giving ERROR#
    =ToDate([Final Protocol Avail Ac];"m/d/yyyy")

    I want to get the format like this  1/3/214   , so basically wanna convert
    01-JAN-2014(String)  --> 1/3/14
    also  the below  syntx is converting it into a string , i want it to be date format, as i will be doing DaysBetween that with another date
    =Formatdate(todate([Final Protocol Availa Ac];"dd.MM.yyyy");"MM/dd/yyyy")

  • URGENT : Error: Please create data processing function module

    Hi
    I am getting the folloiwng error
    "Please create data processing function module" in table maintainence.
    It is working fine in dev environment but not in QA and production.
    Pleae help.
    Regards
    Kalpesh

    Hi Kalpesh,
       I see it is something to do with the naming convention used in the quality and production system. These must have been setup differently compared to ur development system. So check with different naming conventions.
    Reward points if helpful.
    Cheers
    Shafiq

  • 8i personal : error when Create user defined aggregate function

    Hi,
    I have problem on creating user defined aggregate function.
    I try to create the sample aggregate function "SecondMax" from 9i developer guide(append at the end of this post).
    It's work to create object type and the type body, but
    there is error when I create the aggregate function..
    "CREATE FUNCTION SecondMax (input NUMBER) RETURN NUMBER
    PARALLEL_ENABLE AGGREGATE USING SecondMaxImpl;"
    I am using 8i personal now.. is that the syntax of create function in 9i is different from that in 8i?
    Example: Creating and Using a User-Defined Aggregate
    This example illustrates creating a simple user-defined aggregate function SecondMax() that returns the second-largest value in a set of numbers.
    Creating SecondMax()
    Implement the type SecondMaxImpl to contain the ODCIAggregate routines.
    create type SecondMaxImpl as object
    max NUMBER, -- highest value seen so far
    secmax NUMBER, -- second highest value seen so far
    static function ODCIAggregateInitialize(sctx IN OUT SecondMaxImpl)
    return number,
    member function ODCIAggregateIterate(self IN OUT SecondMaxImpl,
    value IN number) return number,
    member function ODCIAggregateTerminate(self IN SecondMaxImpl,
    returnValue OUT number, flags IN number) return number,
    member function ODCIAggregateMerge(self IN OUT SecondMaxImpl,
    ctx2 IN SecondMaxImpl) return number
    Implement the type body for SecondMaxImpl.
    create or replace type body SecondMaxImpl is
    static function ODCIAggregateInitialize(sctx IN OUT SecondMaxImpl)
    return number is
    begin
    sctx := SecondMaxImpl(0, 0);
    return ODCIConst.Success;
    end;
    member function ODCIAggregateIterate(self IN OUT SecondMaxImpl, value IN number)
    return number is
    begin
    if value > self.max then
    self.secmax := self.max;
    self.max := value;
    elsif value > self.secmax then
    self.secmax := value;
    end if;
    return ODCIConst.Success;
    end;
    member function ODCIAggregateTerminate(self IN SecondMaxImpl, returnValue OUT
    number, flags IN number) return number is
    begin
    returnValue := self.secmax;
    return ODCIConst.Success;
    end;
    member function ODCIAggregateMerge(self IN OUT SecondMaxImpl, ctx2 IN
    SecondMaxImpl) return number is
    begin
    if ctx2.max > self.max then
    if ctx2.secmax > self.secmax then
    self.secmax := ctx2.secmax;
    else
    self.secmax := self.max;
    end if;
    self.max := ctx2.max;
    elsif ctx2.max > self.secmax then
    self.secmax := ctx2.max;
    end if;
    return ODCIConst.Success;
    end;
    end;
    Create the user-defined aggregate.
    CREATE FUNCTION SecondMax (input NUMBER) RETURN NUMBER
    PARALLEL_ENABLE AGGREGATE USING SecondMaxImpl;
    Using SecondMax()
    SELECT SecondMax(salary), department_id
    FROM employees
    GROUP BY department_id
    HAVING SecondMax(salary) > 9000;

    This could be a x64/x86 problem. Try following this thread
    [GetCompanyService|GetCompanyService] and recompile your code for the platform you need.

  • Error while creating sql function

    I am getting the following error when i execute the below query for creatin sql function. Please let me know waht is the problem
    Major Error 0x80040E14, Minor Error 25501
    > create FUNCTION fantastic ( @deal_id , @as_of_date)
    returns @funtab table
    (issue_id int not null,
    par_amount money not null)
    as
    begin
    insert @funtab
    select a.issue_id,a.par_amount 
    from asserts as a, issue as i, issuer_rating_history h, deal d
    where h.as_of_date = @as_of_date and
     d.deal_id = @deal_id and 
    d.deal_id = a.deal_id
    a.issue_id=i.issue_id 
    return
    end
    There was an error parsing the query. [ Token line number = 1,Token line offset = 8,Token in error = FUNCTION ]
    create FUNCTION fantastic ( @deal_id , @as_of_date)
    returns @funtab table
    (issue_id int not null,
    par_amount money not null)
    as
    begin
    insert @funtab
    select a.issue_id,a.par_amount 
    from asserts as a, issue as i, issuer_rating_history h, deal d
    where h.as_of_date = @as_of_date and
     d.deal_id = @deal_id and 
    d.deal_id = a.deal_id
    a.issue_id=i.issue_id 
    return
    end

    Hello,
    See MSDN
    Differences Between SQL Server Compact and SQL Server => "User-defined functions and full text:
    Not supported" in SQL CE, so you can not create a function as in SQL Server.
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • Error : J_2IRG1BAL, Create data processing Function module

    Sap Experts,
    when i go to se11 in which have given table name: J_2IRG1BAL, than i gone menu bar click on utilities select the table contents
    click on create entries button.
    1) Error Message : Create data processing function module
    2) This table Relevant to RG1 Updation
    3) Due to this error I am not able to upload the opening stock of finished material manuaaly
    4) What are the actions need to be done to rectify the above error.
    Regards,
    Prabhakar

    Hi
    Ask your ABAPER to create the maintainence view of the table
    regards
    Sanil Bhandari

  • Purge Data #error when UserResponse and ToDate function is used in same formula

    Hi,
    I have a formula which works well when there is data but when I purge the webi report I get #Error for the cells wherever I have used UserResponse and ToDate function in the same formula.
    Ex: =FormatDate(ToDate(UserResponse("Enter Modified Date:");"M/dd/yyyy hh:mm:ss a");"MM/dd/yyyy")
    I tired in multiple reports. I get the same error in all reports when i purge the data but when i unpurge and show the reports with data, I won't get any error.
    Is this known issue? If anyone knows the solution. Please answer it.
    (FYI, I am using BO4.0 SP5)
    Thanks.

    Thanks a lot for all your efforts in trying to find the solution to my question but the formula that you had has a error, as you were using commas instead of semicolon. If you want I can change it & it's not a big deal.
    By the way, I have found even better solution.
    Substrings will kill the processing time and we should try to avoid string functions as much as possible. So I used IsError function instead.
    =If IsError(FormatDate(ToDate(UserResponse("Enter Modified Date:");"MM/dd/yyyy hh:mm:ss a");"MM/dd/yyyy")) Then "" Else FormatDate(ToDate(UserResponse("Enter Modified Date:");"MM/dd/yyyy hh:mm:ss a");"MM/dd/yyyy")

Maybe you are looking for