Difference in Query Formation in different environment in OBIEE 10g

Hi All,
I have a report where in I am pulling around 80 columns from different dimension tables and a fact table.
In QA environment the report takes around 8 minutes and the query formed starts with (a With clause) . The query formed takes around 5 minutes to display the results in SQL developer.
When i use the same RPD in my local system the same report takes 1 minutes to display and we get a simple query. The query formed in this case just takes 5 secs to display in sql developer.
My question is why is the difference in the Query formation even if the RPD is same in both the environment.
Please advice.
Thanks,
Krishna

Hi,
One of the things I am aware of which controls the usage of WITH clause is few database features parameters which are set up in RPD. You can refer below link for the same.
http://gerardnico.com/wiki/dat/obiee/vertical_fragmentation_sql
Also, in the above link, there are some links at the bottom of the page. Those also have some information regarding scenarios where WITH clause is generated and where it is not.
Thanks

Similar Messages

  • Default in "order by" in select query may be different in 11g from 10g

    Hi, I am wondering if when you are querying a table in 11g and you use the order by clause and there is more than one occurrences with the same values in the order by, if the 11g default is different than from 10g.  For instance.
    DECLARE MHBulk CURSOR FOR                       
      select invoice_nbr,
                   customer_nbr,
                    post_century,
                    post_yymmdd,
         from CUSTOMERS
         where customer_nbr = 1234
         order by
               post_century,
               post_yymmdd;
    If you have more than one occurrence of the same customer_nbr, post_century, and post_yymmdd it looks like the default order for how 11g retrieves the records is a bit different than the 10g default.   Does anyone know why this is?

    JustinCave wrote:
    In any version of Oracle, if your ORDER BY does not specify a completely unique order, the order in which ties are broken is arbitrary.  Realistically, it will depend on things like the specific query plan chosen, the physical order of data on disk, which parallel query slave read the row, etc.  So it is subject to change within the same version of the database when, for example, a query plan changes.  It is entirely plausible that the results would be returned in the same order for years and then suddenly change one day.  If you care about the order of ties, you should add additional logic to the ORDER BY clause that specifies the order you want rather than assuming that there is a "default" order applied.
    Upgrading to a new version of Oracle, particularly if that was done via something like exporting and importing the data so that you're changing the Oracle version and the physical order of data and various object statistics, it is not at all unusual that you would get slightly different plans and that ties would be broken differently.  I wouldn't assume that there is a new "default" order, though.  It's entirely possible for the order to change if the query plan changes again.
    Justin
    Well, what happened is we've gotten a few new customers and those customers are on Linux oracle 11g.  All the other customers are on regular unix 10g.  So, it sounds like we've just been lucky with the order until now.  In our system we have a sequence number column which is unique and I solved this by adding that in the ORDER BY clause.  I was just curious as to whether oracle had a default when it found duplicate fields in the ORDER BY clause.  I can't imagine that oracle doesn't have a default like unique_session_id or something like that.

  • Difference in Query generated by OBIEE for same report

    Hi,
    I am using a a report(X) in a filter condition.
    I am seeing a peculiar issue with OBIEE server. When i am running a report(X) alone, the query generated is different. But when i am using the same report in filter condition of other report(Y), the same report is generating some other query. The first report(X) is running fine but the second(Y) is not running at all.
    Case 1(Report X) Query: The report is breaking into 3 parts for different fact tables and combining the data to give result.
    Case 2(Report Y): A single query is being formed and within it is fecthing the data from different fact tables using subqueries.
    Case2 is creating a lot of problem as the performance is totally poor.
    Any suggesstions??
    Thanks
    Tataji

    Hi, we haven't debugged the application or traced the query against the production server (it's in our customer's office) buy I think there's no difference since the query itself has been tested using sqldeveloper against both servers (XE 11.2 and Enterprise 11.1) and the behavior is consistent. By consistent I mean:
    - The query executed via sqldeveloper against Oracle XE 11.2 runs ok and so does the application.
    - The query executed via sqldeveloper against Oracle Enterprise 11.1 fails with an ORA-01790 error, and so does the application (exceptions are being logged in the Event Log).
    To sum up: the same query runs ok in Oracle XE 11.2 and fails in Oracle Enterprise 11.1.
    Additional information: we have tried explicit casting the NULL literals to the corresponding data types (in the UNION ALLs) and the query works fine in both versions. ¿Is there an option in ODAC to tell the query generator to write this explicit castings?
    Regarding the DB schema and the LINQ query, I'll be sending them asap.
    Regards,
    Ernesto.

  • BI server generating  query in a different way between two instances

    Hi All,
    We have executed a report in dev,test instances,BI server generated query in a different way in two instances where as dev BI server is on AIX operating system(recently we migrated from windows),test instance is on still on Windows environment.
    For a report below are the queries
    DEV(AIX)
    WITH
    SAWITH0 AS (select sum(T316025.SALES_QUOTA) as c1,
    T329697.DIVISION_DESC as c2,
    T329697.AREA_DESC as c3,
    T329697.TERRITORY_DESC as c4,
    case when T329697.ACCOUNT_NUM is null then T329697.BILL_TO_PARTY_NAME else concat(concat(concat(T329697.BILL_TO_PARTY_NAME, '('), T329697.ACCOUNT_NUM), ')') end as c5,
    T150993.X_CONS_MAJOR_GROUP as c6,
    T66755.PER_NAME_ENT_YEAR as c7
    from
    W_DAY_D T66755 /* Dim_W_DAY_D_Common */ ,
    W_PRODUCT_D T67704 /* Dim_W_PRODUCT_D */ ,
    WC_SLX_DATA_F T316025 /* Fact_WC_SLX_DATA_F */ ,
    WC_CUSTOMER_HIERARCHY_D T329697 /* Dim_WC_Customer_Hierarchy_D_With_Error */ ,
    OBIEE_SECURITY_LOCATION_SALES T339204,
    W_PROD_CAT_DH T150993 /* Dim_W_PROD_CAT_DH_General */
    where ( T66755.ROW_WID = T316025.DAY_WID and T316025.CUSTOMER_HIERARCHY_WID = T329697.ROW_WID and T67704.ROW_WID = T316025.PRODUCT_WID and T67704.PROD_CAT2_WID = T150993.ROW_WID and T329697.TERRITORY_CODE = nvl(T339204.LOCATION , T329697.TERRITORY_CODE) and T329697.AREA_DESC = 'GROCERY AREA - EAST' and T329697.DIVISION_DESC = 'DOMESTIC SALES DIVISION' and T339204.USER_NAME = upper('Administrator') and case when T329697.ACCOUNT_NUM is null then T329697.BILL_TO_PARTY_NAME else concat(concat(concat(T329697.BILL_TO_PARTY_NAME, '('), T329697.ACCOUNT_NUM), ')') end = 'JETRO CASH AND CARRY ENTERPRISES INC(10313)' and (T66755.PER_NAME_ENT_YEAR in ('2011', '2012')) and (T329697.TERRITORY_DESC in ('BOSTON', 'CHARLOTTE', 'FLORIDA', 'GREAT LAKES', 'MID-SOUTH', 'NEW YORK', 'WHITE ROSE')) )
    group by T66755.PER_NAME_ENT_YEAR, T150993.X_CONS_MAJOR_GROUP, T329697.TERRITORY_DESC, T329697.AREA_DESC, T329697.DIVISION_DESC, case when T329697.ACCOUNT_NUM is null then T329697.BILL_TO_PARTY_NAME else concat(concat(concat(T329697.BILL_TO_PARTY_NAME, '('), T329697.ACCOUNT_NUM), ')') end )
    select distinct SAWITH0.c2 as c1,
    SAWITH0.c3 as c2,
    SAWITH0.c4 as c3,
    SAWITH0.c5 as c4,
    SAWITH0.c5 as c5,
    SAWITH0.c6 as c6,
    SAWITH0.c7 as c7,
    SAWITH0.c1 as c8
    from
    SAWITH0
    order by c1, c6
    Test(Windows)
    select distinct D1.c2 as c1,
    D1.c3 as c2,
    D1.c4 as c3,
    D1.c5 as c4,
    D1.c5 as c5,
    D1.c6 as c6,
    D1.c7 as c7,
    D1.c1 as c8
    from
    (select sum(T316025.SALES_QUOTA) as c1,
    T329697.DIVISION_DESC as c2,
    T329697.AREA_DESC as c3,
    T329697.TERRITORY_DESC as c4,
    case when T329697.ACCOUNT_NUM is null then T329697.BILL_TO_PARTY_NAME else concat(concat(concat(T329697.BILL_TO_PARTY_NAME, '('), T329697.ACCOUNT_NUM), ')') end as c5,
    T150993.X_CONS_MAJOR_GROUP as c6,
    T66755.PER_NAME_ENT_YEAR as c7
    from
    W_DAY_D T66755 /* Dim_W_DAY_D_Common */ ,
    W_PRODUCT_D T67704 /* Dim_W_PRODUCT_D */ ,
    WC_SLX_DATA_F T316025 /* Fact_WC_SLX_DATA_F */ ,
    WC_CUSTOMER_HIERARCHY_D T329697 /* Dim_WC_Customer_Hierarchy_D_With_Error */ ,
    OBIEE_SECURITY_LOCATION_SALES T339204,
    W_PROD_CAT_DH T150993 /* Dim_W_PROD_CAT_DH_General */
    where ( T66755.ROW_WID = T316025.DAY_WID and T316025.CUSTOMER_HIERARCHY_WID = T329697.ROW_WID and T67704.ROW_WID = T316025.PRODUCT_WID and T67704.PROD_CAT2_WID = T150993.ROW_WID and T329697.TERRITORY_CODE = nvl(T339204.LOCATION , T329697.TERRITORY_CODE) and T329697.AREA_DESC = 'GROCERY AREA - EAST' and T329697.DIVISION_DESC = 'DOMESTIC SALES DIVISION' and T339204.USER_NAME = upper('Administrator') and case when T329697.ACCOUNT_NUM is null then T329697.BILL_TO_PARTY_NAME else concat(concat(concat(T329697.BILL_TO_PARTY_NAME, '('), T329697.ACCOUNT_NUM), ')') end = 'JETRO CASH AND CARRY ENTERPRISES INC(10313)' and (T66755.PER_NAME_ENT_YEAR in ('2011', '2012')) and (T329697.TERRITORY_DESC in ('BOSTON', 'CHARLOTTE', 'FLORIDA', 'GREAT LAKES', 'MID-SOUTH', 'NEW YORK', 'WHITE ROSE')) )
    group by T66755.PER_NAME_ENT_YEAR, T150993.X_CONS_MAJOR_GROUP, T329697.TERRITORY_DESC, T329697.AREA_DESC, T329697.DIVISION_DESC, case when T329697.ACCOUNT_NUM is null then T329697.BILL_TO_PARTY_NAME else concat(concat(concat(T329697.BILL_TO_PARTY_NAME, '('), T329697.ACCOUNT_NUM), ')') end
    ) D1
    order by c1, c6
    If we observe test query is very simple and easy to back track but in Dev it is appending like sawwith0,sawwith1 etc..looking difficult.
    Is there in any configuration to change to generate query like Test(with out SAWWITH0).
    NOTE:Any how results are same in both instances.
    Please help me to resolve this issue.
    Thank You,
    Anil Kumar.

    Anil,
    Are your database settings the same in both of the rpds dev and test?
    Check wether you didn't change anything to the default. Open your RDP double click on the Database in the physical layer and go to Feature you can check all the settings there
    Adil

  • How to set input ready query cell is different color?

    Dear All
      Hi, everyone, hereby i have a IP question.
      i would like to know, how to set the input ready query's cell different color between those cell which is unable to change value one in workbook..?
    Example :
      For my workbook which have a input ready query,
      i have 4 rows for my input ready query report.
      For the first row which is not input ready cell and unable to change any value for the cell, then following rows's cell can be change value,
      so, i would like to make first row's color cell different with following row's cell.
      In additional, all value of cell is initial zero.
      therefore, is there any mehtod to make different color between able cell and unable cell?
    Thanks a million.
    Regards,
    WenLong.

    Cells in the input ready query result have different styles given by SAP. All rows will have one style, column headings will have one style whereas input ready cells will have one style. If you are in Excel 2003, put cursor in the input ready cell, goto format -> style, you can see one BeX style attached to that cell, apply watever color you want for that style, save the workbook. If you do this for one cell, it will be applied to all the input ready cells by default. In the same way you can give different color to the non input ready cell styles. In Excel 2007, Cell styles are available in Home -> Cell styles. Here you can see all Bex related styles.

  • SQL2012 System Databases Restore on a different environment

    So While I was playing around I wondered if it was possible for me to setup a similar version of SQL 2012 on a different environment and restore it quickly.  
    Master Env
    SQL 2012  - 3 databases , 2 SSIS packages , 2 Sql Agent jobs and 1 report.
    The idea would be to copy this on another Server altogether.
    Slave Env
    So the first thing I thought was the system database should go across before all else.  Now it states that both versions have to be the same which I confirmed using;
    Use Master
    Go
    SELECT
    SERVERPROPERTY
    ('ProductVersion
    ')ASProductVersion,
    SERVERPROPERTY
    ('ProductLevel')ASProductLevel,
    SERVERPROPERTY
    ('ResourceVersion')ASResourceVersion,
    SERVERPROPERTY
    ('ResourceLastUpdateDateTime')ASResourceLastUpdateDateTime,
    SERVERPROPERTY
    ('Collation')ASCollation;
    Both showing the same.    Having backed up both system databases on both sides the restoring of the model and msdb databases where straight forward.
    The master was a different ball game and is one I still cant get past
    1. Stopped the SQL SERVER on the Slave Env
    2. Open Command shell
    3. Net Start MSSQLServer /m”SQLCMD”
    4. sqlcmd -S. -E
    5. RESTORE DATABASE master FROM DISK = 'D:\SQL\Backups\master.bak' WITH REPLACE
    Go
    what this will do is restore the master database from the live to the slave and this is where the problems begin because once you do that restart the SQL server and get out of single user mode you cant logon .
    Question
    Assuming the Master has different windows logons to the Slave is there any way once this restore has been done to negate this or do you  create a user straight after the restore?
    Also with ReportingServices and Integrated Services are they straight forward Db restores ?
    Any Help one this would be great!!
    As I really want to know how quickly I can jump from one environment to another.

    So While I was playing around I wondered if it was possible for me to setup a similar version of SQL 2012 on a different environment and restore it quickly.  
    Master Env
    SQL 2012  - 3 databases , 2 SSIS packages , 2 Sql Agent jobs and 1 report.
    The idea would be to copy this on another Server altogether.
    Not very simple. Requires DBA skills.
    The standby (secondary) server usually refreshed through database mirroring or log shipping.
    BOL: " About Log Shipping (SQL Server)
    SQL Server Log shipping allows you to automatically send transaction log backups from a primary database on a primary server instance to one or more secondary databases on separate secondary server instances. The transaction log backups are
    applied to each of the secondary databases individually. An optional third server instance, known as the monitor server, records the history and status of backup and restore operations and, optionally, raises alerts if these operations fail to occur as scheduled.
    Benefits
    •Provides a disaster-recovery solution for a single primary database and one or more secondary databases, each on a separate instance of SQL Server.
    •Supports limited read-only access to secondary databases (during the interval between restore jobs).
    •Allows a user-specified delay between when the primary server backs up the log of the primary database and when the secondary servers must restore (apply) the log backup. A longer delay can be useful, for example, if data is accidentally changed on the
    primary database. If the accidental change is noticed quickly, a delay can let you retrieve still unchanged data from a secondary database before the change is reflected there. "
    LINK: http://msdn.microsoft.com/en-us/library/ms187103.aspx
    Kalman Toth Database & OLAP Architect
    SQL Server 2014 Database Design
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Conversion of Mysql query in oracle acceptable query format

    Hi
    I have successfully converted my MySql database in oracle. Now the problem is how to execute already written hundreds of Mysql query on the oracle. There are many syntax variation in Mysql query format which is not acceptable for oracle.
    For Example
    Select case_id as 'this is alias' from cases
    The above query can run on Mysql database but have problem while executing Oracle, because single quotes should be replaced with double quotes before executing it on oracle. There are also many other syntax conflicts.
    I have tried to resolve the problem through SwisSQLAPI but problem still exist as SwisSQLAPI is not dealing with all syntax conflict. In my case (select if (expresion, true,false)) must be replace with decode (expression, value,true,false) function of oracle and this conversion is not supported by SwisSQLAPI.
    Please help me in resolving this problem
    Thanks

    The problem with trying to port from one language (mysql SQL) to another (oracle SQL) is that there's generally no hard rules for a computer to follow, that it will get it 100% correct.
    Look at babelfish when you translate a foreign language to English. The end result is readable (usually), but it's rarely completely correct.
    The problem is when you feed something into Oracle SQL, it needs to be 100% correct.
    All you can really do here is rewrite these queries. It shouldn't actually take as long as you think, because 50% of queries will generally need very minor changes you can do in a minute, and 25% won't need any changes at all.

  • Best practice for a same query against 2 different tables

    Hello all,
    I want to extract info about tablespaces storage, both permanent and temporary. For that I use 2 different cursors that do exactly the same query but against a different table (dba_data_files and dba_temp_files).
    CURSOR permanentTBSStorageInfo (tablespaceName VARCHAR2) IS
    SELECT file_name, bytes, autoextensible, maxbytes, increment_by
    FROM dba_data_files
    WHERE tablespace_name = tablespaceName;
    CURSOR temporaryTBSStorageInfo (tablespaceName VARCHAR2) IS
    SELECT file_name, bytes, autoextensible, maxbytes, increment_by
    FROM dba_temp_files
    WHERE tablespace_name = tablespaceName;
    First I'm bothered that I have to use 2 cursors to execute the same query against 2 different tables. Is there no another way around?
    Then I fetch the results of this cursors in 2 different loops because I didn't find a way to dynamically call the cursors. I am looking for best practice here, knowing that I will do the same parsing against the results of the 2 cursors.
    Thank you,

    Hi
    Check whether the below query is helpful or not
    select      fs.tablespace_name "Tablespace",
         fs.tempspace "Temp MB",
         df.totalspace "Total MB"
         from
         (select
         tablespace_name,
         round(sum(bytes) / 1048576) TotalSpace
         from
         dba_data_files
         group by
         tablespace_name
         ) df,
         (select
         tablespace_name,
         round(sum(bytes) / 1048576) tempSpace
         from
         dba_temp_files
         group by
         tablespace_name
         ) fs
         where
         df.tablespace_name = fs.tablespace_name;
    Thanks

  • What is the difference between query & query view in BI 7.0 ?

    Hi Experts,
    What is the difference between query & query view in BI 7.0 ?
    Can anyone suggest me on this.
    Thanks & Regards
    Sameer Khan

    Hi Sameer,
    Pls find the below URL for Query&Query View
    http://help.sap.com/saphelp_nw04/helpdata/EN/26/6de53cce129749893b008c627ede07/content.htm
    http://help.sap.com/saphelp_erp2004/helpdata/en/36/18788b6bca5d02e10000009b38f983/content.htm
    Thanks,
    John

  • Custom Table Entry not in Sync between Different Environment

    Hi All,
    we have different environment like Dev System, Quality system, performance testing system etc... these are all environment customs table entry not in syn .. Table entry should be syn. How to make it syn all the entry between all environment without do any manual work. Kindly help on this.
    Thanks

    Hello Mohammed,
    It depends on what type of tables you are referring to. If you have a table of type 'Customizing', you have to transport your table entries across different environments and they will be in Sync.
    If you are referring to tables of type 'Master Data', they have to be maintained in all environments.
    Table of type 'Transaction Data' by default have different records based on your day to day transactions.
    You cannot have all custom tables with same data in all environments. Hope this helps.
    Rgds,
    Vijay.

  • Why Reports format behaves different in Excel and browser(if desformat=html or pdf)?

    1-Why Reports format behaves different in Excel and browser(if desformat=html or pdf)?
    2-I made three queries Q1,Q2 & Q3 and linked them with proper field links but suppose Q3 returns no records for some Q1&Q2 records & when the report runs for delimited options it reflects only those records as output for which all the queries return records(if Q3 returns no record then the related records from queries Q1,Q2 don't reflect) while the output in desformat=html or pdf is ok..
    can you please resolve my problems
    ( I have installed patch 5a in my report server machine)
    Thanks & Regds.
    Suneel
    null

    What do you mean by "different"? (In our
    experience, Oracle html output has too many
    columns, which are not visible in the
    browser but are obvious in Excel.)
    We build our own html programmatically, so
    that Excel matches the browser more closely.
    -- Allan Plumb

  • How to automate the build of CompositeApplication for different environment

    Hi,
    I have a scenerio where i have to automate the build process of composite application.
    For Example :
    I have a Composite application currently configured for my DEV Environment. I have two more environments UAT, and IST on which the same Composite Application should be deployed. The environment details such as 1) Host Name , 2) Port Number , for UAT and IST are different.
    I need to create an automation script which takes in the different environment details and builds the CompositeApplication Project.
    Please help, if you have any solution or Please provide pointers.
    Thanks
    yuvaraj

    Hi yuvarag,
    I take it that you're working in a 5.1.3 environment. I was in a similar situation, and although I wasn't able to automate the process as I would have liked, I was able to make some modifications to the build process that made it acceptable.
    For one thing, our QA dept would not allow us to build separate ear files, using different environments, for QA and production. They were willing to sign off on the QA file that they had tested, but as far as they were concerned (and I fully agreed) they had not tested a new aer file build for the production environment. I was able to convince them (and myself) that using the iConfigure tool to modify the settings of the ear file was a safe way to create the production file from the QA file. This also removed any possibility of including new code into a build with the production environment.
    Although it didn't get automated, I did set up a "build" user on the box that housed our repository. All builds for deployment to QA were performed by logging in as the build user to perform the build. I also made a few modifications to the build scripts that come with the commandlinecodegen tool to simplify the process. I could probably have automated the build by adding a cron entry to kick off the build script. Automating the iConfigure step would be much more difficult. But if you are free to build fresh ears for production, then you should be able to automate the process with cron, and a few tweaks to the commandlindgodegen tool.

  • REGEXP_LIKE query's working differently.

    Hi,
    Version :Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    i didn't understand why below query's working differently.
    First one:
                     select 'TRUE' from dual where REGEXP_LIKE( 'a', '[:alnum:]');
    'TRUE'
    TRUE  
           Second one:
                      select 'TRUE' from dual where REGEXP_LIKE( 't', '[:alnum:]');
    no rows selected
           Please clarify.

    Check this...
    WITH xx AS (
        SELECT 'a' AS lvl FROM DUAL union all
        SELECT 'l' AS lvl FROM DUAL union all
        SELECT 'n' AS lvl FROM DUAL union all
        SELECT 'u' AS lvl FROM DUAL union all
        SELECT 'm' AS lvl FROM DUAL union all
        SELECT 'r' AS lvl FROM DUAL union all
        SELECT 's' AS lvl FROM DUAL union all
        SELECT 't' AS lvl FROM DUAL union all
        SELECT 'w' AS lvl FROM DUAL
    select 'TRUE',x.lvl from xx x where REGEXP_LIKE(x.lvl, '[:alnum:]');Any other character than {a,l,n,u,m}, will return FALSE.
    HTH
    Ranit B.

  • CalendarUI element showing different date format for different locations

    Hi,
    I have an input field with date calendar in my webdynpro Java form . User can select date from this calendar and fill the input field. For this I have used input field  in my layout and have binded this with one context attribute of type date. Say name of this field is requiredByDate
    Now when I build and deploy my code, I can see the the required By date field and user is able to select date values from the calendar button next to the input field. The format of the date selected is mm/dd/yyyy.
    However , when a user tests this application from other location say Malaysia, for him the format is coming as dd/mm/yyyy after selecting the date from the calendar.
    Just want to know ,is there is difference in date format for differnt locations ? For India, when you select the date its showing mm/dd/yyyy and for Malayisa its showing dd/mm/yyyy.
    Is there anything we can do by changing our system settings like timezone or dateformat in system settings.
    I am using standard UI element and binding it with context element of type date.
    Need your advice or help on this..
    Thanks and regards,
    Sai

    Hi,
    go to
    [http://help.sap.com/saphelp_nw04/helpdata/en/f4/d95664da179b4db731e21c2e470b72/frameset.htm|http://help.sap.com/saphelp_nw04/helpdata/en/f4/d95664da179b4db731e21c2e470b72/frameset.htm]
    It describes the fallback sequence followed by the Web Dynpro for Java Runtime in order to determine the current session locale.
    Regards
    Matteo

  • Why is the price difference of apple products in different countries? For example in UAE price is different as compared to Germany?

    Why is the price difference of apple products in different countries? For example in UAE price is different as compared to Germany?
    MacBook Pro with retina price in US is USD1299 and same product price in Germany is 1299 Euro. Why???

    Obviously all the answers up here are true.. but I think that was not the real meaning behind the question.
    Every country has different currencies that not only convert differently to others but have a different and relative value for the inhabitants. For example although Forex says 1,3$ = 1€  for the average European and American 1$=1€.. that means that roughly inside your country what you buy inUS for 1$ you get in Europe for 1€ (ex: McDonalds hamburger).
    Also each country has it's own taxes, different renting prices (for apple store), different VAT, etc...
    But the real question is. Is Apple NEUTRAL to market conditions?
    This means... does Apple adapt their margin on products to local conditions or not?
    To make it simple... Let's say Apple ... everything considered... gets 100$ for an iPhone sold in US... Will Apple fix their price in other countries so that, after paying local taxes, local costs, etc... still.. for each iPhone they earn 100$ ??
    Or they have different market strategies such as rising the prices in countries where people are richer and more likely to buy iPhones even if "overcharged"? Or on the other side.. do they lower prices in poor countries (obviously not under production cost) to help locals buy in Iphone?
    I think that Apple is doing their best to stay neutral to the market.. that is... We want 100$ at the end of the day.. whatever...
    So we have paradoxes because in some countries iPhone costs more while in these countries people earn less  (and I think this is not random.. but happens because.. usually.. countries with more regulations and taxes are also countries with lower wages... but that's politics!)
    Here is a small comparison of iPhone 6 (16 Gb version) prices:
    USA 550€........................ Average GDP per person  51.704 $  (calculated with California sales tax)
    Switzerland 629 €............ Average GDP per person 44.864$
    United Kingdom 687€....... Average GDP per person 36.569 $
    Gerany 699€.................... Average GDP per person 38.666 $
    France 709€................... Average GDP per person 35.295 $
    Italy 729€........................Average GDP per person 29.812 $
    As you can see Apple seems not to care about living conditions in the country or about average wages etc.. they just have their price adjusted to local regulations and taxes. Europe has 2years warranty service for items sold in Apple Stores (and 1 for items sold in other stores where Apple is responsible only for the first year). We also have some other taxes... For example, here in Italy, we have a tax on hard drives (goes by the Gbyte) that affects any multimedia product. Tax is meant to finance artists whom you are supposedly "stealing" by having unauthorised copies on your portable device...  (I know.. is ridiculous). Etc...

Maybe you are looking for

  • My 4th gen iPod Touch will not turn on

    Over the last two years, I've battled with inconsistent performance from my iPod Touch 32GB 4th Gen. At some point, I think it got overheated, and I believe that's when the battery issues started. Here's an in-depth look at the various problems... 1)

  • Dealy in query when i use timestamp

    Hello all I have a query like " select * from table where create_date > (select max(update) from tableb) ) The above query is taking a long long time. Createdate and update are timestamps So i have tried the below query " select * from table where cr

  • Bracketed expression calculator logical error

    Hi, i've being working on a calculator which can handle expressions such as 5 + 6 * 2 which results in 17 (so far only works well for this expression) (5 + 4) * (4 - 2) which results in 18 (4 + (2 * (2 - 1))) * 1.2 results in 4.8 given an input of an

  • How to track a transaction

    Hi all,      We are attempting to replicate a data base using streams technology. We have the capture, propogate and the apply processes in place. We were also able to replicate a few records. But then this behaviour is not consistent. We would like

  • How to delete a folder in windows , which i was created through SAP

    Hi , First I was created one folder in windows and through SAP application I downloaded some file into that. After closing all programs(Even SAP LOG off ) also.  Now i want to delete that folder. While deleting it showing error as some other program