Logical column not in hierarchy is shown as being drillable?

I have a hierarchy created, lets say customer. Within all the levels, logical column "customer zipcode" is not added. By default then, this column would be associated with the detail or lowest level. When I create a report in answers with just this column, it shows up drillable whereby it drills to the lowest level which is apart of by default. So my question is why is this logical column drillable if it is not associated explicitly in the hierarchy?

Thanks for the reply. Later yesterday I figured out the problem. It took some unit testing and trial and error; but, this is what I gathered during testing.
1. logical columns for hierarchy table source that are not explicitly added to a level in the hierarchy is by default put in lowest level and they are not drillable because of that.
2. If you add a logical column which is derived off other logical columns through an expression (for example concatenating col_nm||'('||col_cd||')' in the lowest level, add it as a key and set the key for "use for drilling" then this too will make all logical columns drillable to that. Don't know why but could be a bug.
3. If you set preferred drill path for the lowest level to another hierarchy level, then those logical column(s) will be drillable. Probably because they are not at the lowest level any more since there is another level down now due to the preferred drill path.
So in the end since the lowest level drillable column has to be a logical column which is built through expression and the fact that this lowest level needs to drill to another level in another hierarchy due to business requirements I am stuck with all columns not in the hierarchy being drillable. The fix around this though is to go to all these columns that are now drillable, set the aggregation rule to 'no interaction' and save as system-wide default.

Similar Messages

  • Changes to Derived Logical Column not reflected in Answers

    Before I go off my rocker and stab myself with my IPhone lightsabre... :-)
    I created a new logical column for an existing table in my BM, deriving from an existing column (a datetime field called ESTIMATEDCLOSE) as follows:
    MONTHNAME(Sales.OPPORTUNITY.ESTIMATEDCLOSE) || ' - ' || CAST(Year(Sales.OPPORTUNITY.ESTIMATEDCLOSE) AS CHAR(4))
    ...which should give me something like "Jan - 2008". The problem is that it returned something like "2008/01/31 00:00:00" in Answers - completely unexpected.
    I decided to start out small and try something simpler, changing my derived column to be only Sales.OPPORTUNITY.ESTIMATEDCLOSE. This returned "2008/01/31 00:00:00" in Answers - sort of expected.
    Then I changed it to MONTHNAME(Sales.OPPORTUNITY.ESTIMATEDCLOSE). This also returned "2008/01/31 00:00:00" in Answer!!!
    It almost seems as if a derived logical column is cached in some weird way and changes to the formula is not reflecting in answers. Thinking that something so simple must work and I made a simple mistake somewhere I have spend a good part of the past day playing around with this and trying every possible solution I can think of - no luck. The odd thing is that I would rename my logical column and this will be reflected in Answers, but changes to the derived expression is not reflected.
    - I deleted the column and started all over - no luck
    - tried creating derived columns using different datetime expressions or even just concatenating strings to each other - no luck.
    - Restarted all the Oracle services, thinking it's a cach'ing issue - no luck.
    - I rebooted the server - no luck.
    Once, when I started out with only MONTHNAME(Sales.OPPORTUNITY.ESTIMATEDCLOSE) I got back correct values in Answers (Jan, Feb, Mar..) and I thought the problem was finally gone. So I added || ' - ' || CAST(Year(Sales.OPPORTUNITY.ESTIMATEDCLOSE) AS CHAR(4)) to the derived formula. Guess what, Answers kept on giving me back only the Month names, completely ignoring my updated formula.
    Anybody else ran into this problem? Something so simple should surely work...

    John,
    Yes, cleared the cache (from Dashboard Administration) and also used nqcmd Call SAPurgeAllCache. Restarted BI Server. Still no luck.
    I tried your formula and then only got back "2008/01/31" (just the date without the timestamp) - very strange.
    Then I noticed the following amazing thing (by accident):
    I started with a request in Answers that does not contain my derived column and then add my derived column to the report. The text would be all wrong in this column (Jan, Feb, March). Then I add the same column again to the report and the second added column will magically show the correct strings (Jan - 2008) !!! Even stranger is that the moment I added the same column again to the report, the text on the first column would also magically jump to the correct values (Jan - 2008).
    I did a bit more testing and created a blank request and added my derived column as the only column - this time it will show the correct values immediately. It does seem like it's tied to the content already in the request. I went a step further and saved my buggy request and added it to a Dashboard - it worked perfectly in the Dashboard.
    Must be something buggy here in Answers when working with derived columns. I'm on 10.1.3.4...

  • Logical column not diplaying the correct results

    Hi,
    I am trying to display the %iBOTS failed and in my situation all have failed so i should get a value of 100%, but i am getting a value of 1 always even if i change the *100 to *600 menas it is not multiplying, below i is the formula used:
    CASE WHEN "iBOTs Reporting".""."XXX_SCH_OWNER"."FACT_NQ_INSTANCE"."STATUS" = 2 THEN "iBOTs Reporting".""."XXX_SCH_OWNER"."FACT_NQ_INSTANCE"."INSTANCE_ID" END / "iBOTs Reporting".""."XXX_SCH_OWNER"."FACT_NQ_INSTANCE"."INSTANCE_ID" * 100
    Any idea where i am going wrong.
    Rgds
    Raja

    Hi,
    It did not help, i believe as the aggregation method is count is not able to do the multiplication, i i remove the count it is doing the multiplication with the actual instance number, why is it not able to do a divide and multiply if count is applied, what is thw workaround.
    Rgds,
    Raja

  • Logical column using data source from 2 generations of same hierarchy

    Hi experts,
    I'm using Essbase as my data source in CEIM physical layer,
    and I have a hierarchy called "Entity" which contains different level of companies,
    in Generation 2 I have only one member called "group totals" and in Generation 3 are 5 members representing 5 different industries,
    I need to use these total 6 members as slider on the top of the view(a Dial),
    and the measure I want to show is scaled in rate, which I can't simply sum up those five members in Gen3 to get Gen2 measurement.
    I tried to create a logical column using Entity-default(the alias table) as datasource, it worked but was not sorted in outline style.
    I tried to sort them using calculate items in selection steps, but calculate items seemed cannot be shown as section or slider.
    So I wonder if I can simply create a logical column that sourced from different generations(in this case, my Gen2 and Gen3) of same hierarchy,
    is it possible to do such things?
    Thanks for reply.

    You could try General Database Discussions the main db foum.
    What are you using to migrate your database? Why is it being mapped from varchar2(8) to varchar2(32). It sounds like someone/something is intervening here.
    Barry

  • Why logical column in terms of other logical columns and not physical sourc

    Hello
    Can someone shed some light that in what scenario ..defining a logical column in terms of other logical column is beneficial compared to defining logical column in terms of physical sources?
    I found something on google that said defining in terms of logical columns is like one time thing. I dont understand, even if you define in terms of physical source that' too one time.
    In both the case we build an expression specifying which logical or physical columns.
    Thank you

    well logical columns from physical source, if in logical fact table you can set aggr rules. Logical columns based on other logical columns you can not. Logical columns based on other logical columns will inherit the aggr rules. So for instance, if you create col1 and col2. Both based off physical and both having sum aggr rule. If you create logical column col3 based off these two as such "col1"/"col2" it will produce the following sum(col1)/cum(col2). Now if you really wanted sum(col1/col2) then you should have made col3 based off physical as col1/col2 with aggr rule of sum.
    Also of some note, all logical columns based off physical will be performed in the inner most query. So for my example above to get col3 where it is logical col1/logical col2 or sum(col1)/sum(col2) the physical query will be:
    select D1.c1/D1.c2
    from (
    select sum(col1) as c1,
    sum(col2) as c2
    from tableA
    ) D1
    So my short summary of this, is what or how do you want your sql to be created. Based on this can you lead you to your answer of whether to use logical col based on physical or other logical columns. And unltimately, check the sql generated from your work to ensure the sql queries generated are what you want and expect.
    I hope this helps!

  • Display values for logical columns with several physical sources

    Hi all,
    I'm enocuntering some strange behaviour with the values displayed for a column (when we want to add it a as a filter, and in the dialogue box select 'Show All' values).
    Basically the logical column is mapped against several physical columns as the base fact table is aggregated to different levels. Additionally, one column in the fact tables has an attribute value, and these vary between the aggregated and non-aggregated table. This is not a problem.
    In the production environment, when we display the all values in the filters prompt for this column we are seeing the values being taken from one fact table. Naturally this means that not all the values possible for this column are being shown (i.e. values from the aggregated fact tables are missing). Now in one of our test environment where those fact tabels have additional data loaded, the values are being taken from one of the other fact tables. Unfortunately it is not necessarily the fact table with less data.
    My questions are:
    a) What dictates which fact table the server will use when the query in Answers doesnt use any dimensions (i.e. we are selecting just this attribute and selecting all the possible values by which it can be filtered)?
    b) Is there a way of obtaining all the values from the differente physical columns? I.e. that the display values shows the values of that logical column across all the physical fact tables? Maybe we would need to model that attribute as a logical dimension just for that attribute? Im not really sure this would work, as at the physical level the join between the dimension and fact would still have to go to only one particular fact table.
    Any info or help is much appreciated.

    Hi,
    Aggregate tables exist at physical level and are created by ETL procedures. Although i am aware that the dimension come into play when the application needs to decide which source aggregate table to use, it is not an issue here as in our query we are not involving dimensions. We are selecting just this one columen, and then the filter option on this column, then in the dialogue box we select 'All Choices', only the values from one of the source tables is being shown.
    This is not a probelm within reports, i think it is a product limitation in that in that option to list all values a user can filter by, it is not possible to display all the values from the different fact tables to which that column is mapped.
    Has anyone else encountered this behaviour?

  • Cost Element column not appearing in IW31/ IW32 transaction

    Hi,
    In transaction IW32, in Operations Tab --> click on External Button (below shown on IW32 screen).
    Now under External, click on Services tab (1st option), here Cost Estimate column not appearing.
    We tried to add through configuration option on this window. (there shows table setting --> click on administrator, now you can see Edit system settings, here Cost Element - ESLL-KSTAR shown with TICK on Invisible checkbox).
    How can i Untick that. I tried but after activate, it again appears.
    Plz guide..

    Hi,
    Where a cost element exists on the operation External TAB, input of the same data on the service line is not allowed. In that case the system decides that this data field should not be available on the service lines. Where the is no cost element on operation then entry is allowed on service line.
    This program logic is overwriting the field configuration on the table setting for service entry grid. This is why the invisable flag cannot be changed.
    -Paul

  • How to change the variable value at run time in logical column in RPD

    for e.g..
    i have used a session variable in logical column in rpd in case statement. now in dashboard prompt i am using that variable to store data which user is passing but the data captured is not getting reflected in the logical column.
    its been always populated with the default value passed through the initilization block..

    resolved myself

  • How to create logical columns for current period and prior period

    Hello all.
    Is there any way in obiee to create a new logica column in BMM layer that says "CURRENT PERIOD" AND "PRIOR PERIOD" OR ONE SINGLE COLUMN THAT SAYS "PERIOD".
    In those columns what I need is if it a current period column it shoould have 03/01/2012-03/31/2012 (this month date range)
    and in prior period column I shouldhave 02/01/2012 -02/29/2012(which is previous month date range).These columns I will be using in my reports.
    Please help me if we can create any such columns with these conditions/requirements

    Hi,I have already created he dynamic variables.But I am not getting how to use those variables and create the new logical columns in bmm layer.
    this is what I am trying
    case when VALUEOF("Current Month begin date"."Current Month begin date") ='..' and VALUEOF("Current Month end date"."Current Month end date")
    ='..' then 'current period' end
    I don't really understand what I should write case when VALUEOF("Current Month begin date"."Current Month begin date") ='..'??

  • How To Create Logical column For Lastyear To Till Date

    Hi All,
    I Have to calculate Lastyear to Till Date for Logical Column.
    Ex:I have Time Dime and Fact column and Dimension columns.
    jan 2011 to oct 2012.
    Please Let me know.
    Thanks,
    Abhi

    Looks like you are not reading my messages
    Since you are doing on logical columns getting this error.
    Try this using physical columns then count from aggregate tab
    CASE WHEN "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_SRVREQ_F_Open_Date"."OPEN_DT_WID" > 20110101 THEN "Oracle Data Warehouse"."Catalog"."dbo"."Fact_W_SRVREQ_F_Open_Date"."SR_WID" END
    The same you can go with your variable
    Or else the same can do by duplicating the existing Fact - CRM - Service Request"."# of SRs" and just add above code.
    or just use the below you dont use sum since already aggregation is happend for # of SRs
    CASE WHEN "Core"."Dim - Date"."Year" = VALUEOf("Warehouse Refresh Date Last Year"."CURRENT_CALENDAR_YEAR_LAST_YEAR") AND "Core"."Dim - Date"."Date" < VALUEOF("Warehouse Refresh Date Last Year"."LAST_REFRESH_DATE_LAST_YEAR") THEN "Core"."Fact - CRM - Service Request"."# of SRs" END
    Hope this works, mark as correct

  • Logical Column(s) a.k.a. Pre-calculated Measures

    I am looking for best practices around logical columns either in Presentation Layer or Business Layer. Specifically I want to know..
    1) Is it advisable to have logical columns?
    2) How many are good to have? Should one create logical columns for all frequent calculations which are done on dashboards?
    3) Are there any performance implications?
    4) Can we use Time Series function with logical columns? Like AGO etc.
    In short I am looking for intelligent pros and cons of such implementations.
    PS: Logical columns are derived from physical columns. For e.g. Profit = Income - Expense.
    Regards.

    Hi
    1) all complex logic should be in the BMM layer in the RPD. Yes, it's advisable to have them in the BMM. Although another good practice is to try to delegate all complex calculations to ETL if possible.
    2) As many as deemed necessary. Yes.
    3) No, not really. But if you use Answers' logical columns - you have to be creative in propagating them to other reports.
    4) Yes you can. But again, this is something that's better to have in the RPD.

  • Logical column levels and aggregation

    Hi all,
    In order to have reliable results, I had to specify a dimension level in a logical column properties.
    As a consequence, the generated query includes this level in the query (that's great), but no aggregation is performed afterwards. Therefore, when I display this measure alone in a flat table or a ticker, I have a set of detailed value instead of an aggregated value. The only place where I can see my aggregated value is in a pivot table.
    In answers, I tried to :
    - replace the default aggregation by an explicit SUM, or
    - add a SUM() in the measure formula
    but neither solved the issue.
    Does anyone know how to solve it?
    Thanks in advance.
    Ced.

    Hi,
    What is the source for AGO measures PriorDollars and PriorUnits?
    AGO(CurrentUnits, '?',?)
    AGO(CurrentDollars, '?',?)
    Have you set up hierarchy correctly (because you said that the granularity in your fact table is at week grain) and it should be like this:
    Fiscal Year > Fiscal Quarter > Fiscal Month > Fiscal Week
    It depends on how did you define your TIME dimension.
    Try maybe like this:
    PriorYEARDollars = AGO(CurrentUnits, 'YEAR',1)
    and the same for
    PriorYEARUnits =AGO(CurrentDollars, 'YEAR',1)
    Now, if you put in the report
    YEAR
    CurrentUnits
    CurrentDollars
    PriorYEARUnits
    PriorYEARDollars
    you'll get only three rows (for 3 years) with PRIOR YEAR measures.
    Try it.
    A good reference for understanding AGO:
    http://obiee101.blogspot.com/2008/11/obiee-ago-and-todate-series.html
    Also you need to set chronological key correctly for TIME dimension.
    Regards
    Goran
    http://108obiee.blogspot.com

  • How to change the font of the logical column heading

    I have a situation here.
    I have created some logical column in the rpd. When using those columns in the answers the font of the logical column is different and small to that of the other column from the same table, which looks odd.
    for example:
    District (column from table A)
    # Programs (Logical column created on the same column)
    suppose district column has the font of Arial and 10, the # Programs has the font of Arial and 6.
    I tried to change/modify the views.css, but that didn't help. Could someone please direct me how can we do this. This is killing time a huge way.
    Thanks/

    I want to change the column heading name to match with the other column heading name.
    In my case I am looking to match the font with the District to that of the # Programs and not the values in the columns.
    I appreciate if anyone can help me with this guyz.
    Thanks/

  • URGENT: Paradox "Logical" Column Lost in HS translation to Oracle 8.1.7.3

    I have a Paradox table with several fields. One field is a Logical Column.
    Although I can see the paradox table through my HS set-up, I cannot see the
    Logical column. Additionally, I can not select from it either.
    Has anyone encountered this scenario, and if so, what is the
    fix?
    Ato Arkaah
    Oracle 8.1.7.3
    Paradox 4,5,9
    ODBC MS Paradox Driver

    Please check what the logical ODBC datatype this logical column is translated to and verify if Generic Connectivity supports that datatype or not.
    I believe it converts to SQL BIT and Generic Connectivity does not support this datatype.
    The datatypes that we support are listed in Chap 7 of the Heterogeneous Connectivity Administrator's Guide.
    http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/server.920/a96544/gencon.htm#1004703

  • Column Not Displayed in Universe

    Hi,
    I can't see column in Universe. I'm connecting to SAP Tables using ODBC. My database is MaxDB. My platform is Windows 32-bit. I'm using BO Edge XI 3.1. Here is my original PRM file.
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE DBParameters SYSTEM "../dbparameters.dtd"><DBParameters>
         <Configuration>
              <Parameter Name="DB_TYPE">GENERIC</Parameter>
              <Parameter Name="SORT_BY_NO">YES</Parameter>
              <Parameter Name="GROUPBYCOL">NO</Parameter>
              <Parameter Name="EXT_JOIN">NO </Parameter>
              <Parameter Name="CONCAT">+</Parameter>
              <Parameter Name="UNION"></Parameter>
              <Parameter Name="UNION_IN_SUBQUERY"></Parameter>
              <Parameter Name="INTERSECT"></Parameter>
              <Parameter Name="INTERSECT_IN_SUBQUERY"></Parameter>
              <Parameter Name="MINUS"></Parameter>
              <Parameter Name="MINUS_IN_SUBQUERY"></Parameter>
              <Parameter Name="OWNER">Y</Parameter>
              <Parameter Name="QUALIFIER">Y</Parameter>
              <Parameter Name="COMMA">' '</Parameter>
              <Parameter Name="NO_DISTINCT">Y</Parameter>
              <Parameter Name="REFRESH_COLUMNS_TYPE">T</Parameter>
              <Parameter Name="CHECK_OWNER_STATE">Y</Parameter>
              <Parameter Name="CHECK_QUALIFIER_STATE">Y</Parameter>
              <Parameter Name="KEY_INFO_SUPPORTED">N</Parameter>
              <Parameter Name="OUTERJOINS_GENERATION">NO</Parameter>
              <Parameter Name="EVAL_WITHOUT_PARENTHESIS">N</Parameter>
              <Parameter Name="USER_INPUT_DATE_FORMAT">{\d 'yyyy-mm-dd'}</Parameter>
            <Parameter Language="ja" Name="USER_INPUT_DATE_FORMAT">{!d 'yyyy-mm-dd'}</Parameter>
              <Parameter Name="USER_INPUT_NUMERIC_SEPARATOR">.</Parameter>
         </Configuration>
         <DateOperations>
              <DateOperation Name="YEAR">{fn year($D)}</DateOperation>
              <DateOperation Name="MONTH">{fn month($D)}</DateOperation>
         </DateOperations>
         <Operators>
              <Operator Arity="1" ID="ADD" Type="Numeric">+</Operator>
              <Operator Arity="1" ID="SUBSTRACT" Type="Numeric">-</Operator>
              <Operator Arity="1" ID="MULTIPLY" Type="Numeric">*</Operator>
              <Operator Arity="1" ID="DIVIDE" Type="Numeric">/</Operator>
              <Operator Arity="0" ID="NOT_NULL" Type="Logical">IS NOT NULL</Operator>
              <Operator Arity="0" ID="NULL" Type="Logical">IS NULL</Operator>
              <Operator Arity="1" ID="SUP" Type="Logical">&gt;=</Operator>
              <Operator Arity="1" ID="INF" Type="Logical">&lt;=</Operator>
              <Operator Arity="1" ID="EQUAL" Type="Logical">=</Operator>
              <Operator Arity="1" ID="DIFF" Type="Logical">&lt;&gt;</Operator>
              <Operator Arity="1" ID="STRICT_SUP" Type="Logical">&gt;</Operator>
              <Operator Arity="1" ID="STRICT_INF" Type="Logical">&lt;</Operator>
              <Operator Arity="1" ID="IN_LIST" Type="Logical">IN</Operator>
              <Operator Arity="1" ID="NOT_IN_LIST" Type="Logical">NOT IN</Operator>
              <Operator Arity="1" ID="MATCH" Type="Logical">LIKE</Operator>
              <Operator Arity="1" ID="NOT_MATCH" Type="Logical">NOT LIKE</Operator>
              <Operator Arity="2" ID="BETWEEN" Type="Logical">BETWEEN  AND</Operator>
              <Operator Arity="2" ID="NOT_BETWEEN" Type="Logical">NOT BETWEEN  AND</Operator>
         </Operators>
         <Functions>
              <Function Distinct="False" Group="True" ID="Minimum" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>min($1)</SQL>
              </Function>
              <Function Distinct="False" Group="True" ID="Maximum" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>max($1)</SQL>
              </Function>
              <Function Distinct="False" Group="True" ID="Average" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>avg($1)</SQL>
              </Function>
              <Function Distinct="False" Group="True" ID="Sum" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>sum($1)</SQL>
              </Function>
              <Function Distinct="False" Group="True" ID="Count" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="All"></Argument>
                   </Arguments>
                   <SQL>count($1)</SQL>
              </Function>
              <Function Group="False" ID="ASCII_code" InMacro="False" Type="String">
                   <Arguments>
                        <Argument Type="Char"></Argument>
                   </Arguments>
                   <SQL>{fn ascii($1)}</SQL>
              </Function>
              <Function Group="False" ID="Character" InMacro="False" Type="String">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn char($1)}</SQL>
              </Function>
              <Function Group="False" ID="Concat" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn concat($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="Left" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn left($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="LeftRemove" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn ltrim($1)}</SQL>
              </Function>
              <Function Group="False" ID="Length" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn length($1)}</SQL>
              </Function>
              <Function Group="False" ID="Locate" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="String"></Argument>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn locate($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="Lowercase" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn lcase($1)}</SQL>
              </Function>
              <Function Group="False" ID="Repeat" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn repeat($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="Rightpart" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn right($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="Rtrim" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn rtrim($1)}</SQL>
              </Function>
              <Function Group="False" ID="Substring" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                        <Argument Type="Numeric"></Argument>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn substring($1,$2,$3)}</SQL>
              </Function>
              <Function Group="False" ID="Uppercase" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>{fn ucase($1)}</SQL>
              </Function>
              <Function Group="False" ID="Absolute" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn abs($1)}</SQL>
              </Function>
              <Function Group="False" ID="Arc_cosine" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn acos($1)}</SQL>
              </Function>
              <Function Group="False" ID="Arc_sine" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn asin($1)}</SQL>
              </Function>
              <Function Group="False" ID="Arc_tangent" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn atan($1)}</SQL>
              </Function>
              <Function Group="False" ID="Angle_Tangent_2" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn atan2($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="Cosine" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn cos($1)}</SQL>
              </Function>
              <Function Group="False" ID="Ceil" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn ceiling($1)}</SQL>
              </Function>
              <Function Group="False" ID="Exp" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn exp($1)}</SQL>
              </Function>
              <Function Group="False" ID="Floor" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn floor($1)}</SQL>
              </Function>
              <Function Group="False" ID="Log" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn log($1)}</SQL>
              </Function>
              <Function Group="False" ID="Mod" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn mod($1,$2)}</SQL>
              </Function>
              <Function Group="False" ID="Pi" InMacro="False" Type="Numeric">
                   <SQL>{fn pi()}</SQL>
              </Function>
              <Function Group="False" ID="Random" InMacro="False" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn rand($1)}</SQL>
              </Function>
              <Function Group="False" ID="Sign" InMacro="False" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn sign($1)}</SQL>
              </Function>
              <Function Group="False" ID="Sine" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn sin($1)}</SQL>
              </Function>
              <Function Group="False" ID="Sqrt" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn sqrt($1)}</SQL>
              </Function>
              <Function Group="False" ID="Tangent" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="Numeric"></Argument>
                   </Arguments>
                   <SQL>{fn tan($1)}</SQL>
              </Function>
              <Function Group="False" ID="Character_prompt" InMacro="True" Type="String">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>@prompt($1,'A',,,)</SQL>
              </Function>
              <Function Group="False" ID="Numeric_prompt" InMacro="True" Type="Numeric">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>@prompt($1,'N',,,)</SQL>
              </Function>
              <Function Group="False" ID="Date_prompt" InMacro="True" Type="DateTime">
                   <Arguments>
                        <Argument Type="String"></Argument>
                   </Arguments>
                   <SQL>@prompt($1,'D',,,)</SQL>
              </Function>
         </Functions>
    </DBParameters>
    Assistance is much appreciated. Thank you.
    Rgds,
    Hapizorr

    Hi
    this is a rather unconventional and not officially supported way to access SAP data. Some of the table fields as you see them in SAP R3 do not have corresponding fields in the underlying database.
    If you want to build reports on SAP R3 table you have the following options:
    1) Use the SAP rapid marts and extract your R3 data into a DWH based on a relational database. You also get a universe on which you can build your reports.
    2) You can use Crystal Reports and the native R3 table driver
    3) There is also a prototype (This is NOT a product) R3 connector for the Data FEderator that will allo you to build relational universes on SAP R3 sources.
    4) Load your data into a BW system and build OLAP universes on top of BEx queries.
    Regards,
    Stratos

Maybe you are looking for