Lookup Vs Join

Hi,
I want to know the basic difference between Lookup and Join in odi.
Thanks

Papai wrote:
Hi Bhabani,
I have checked this but if you provide some theoretical knowledge it will be more helpful Theoretically the lookup is doing a join, you get additional configuration to configure how it is implemented but the end result is the same.
because I am unable understand the generated code.This is going to be an issue in the long run (ODI generates code to do all of its actions) , to really know the difference in this case I would do a little reading on :
Join types (full, inner, outer, left, right etc)
Correlated and Nested Subqueries (as per one of the results in the link given to you above).
If you nail those two, you will be able to look at the generated code and decide which implementation technique is right for YOU on your environment, it wont be the same for everyone one..... which leads me to suggest you look at Explain plans , Oracle optimizer and how to do basic SQL Performance comparison - this will help you decide which method you use.
BTW - In 10G we used to do all the lookups we ever needed, using Joins. We can also manually define nested/correlated select statements for an individual column in the target datastore - its just we needed to manually type it out :-)

Similar Messages

  • Diff b/w lookup and join in odi

    Hi friends,
    I am new to ODI ,
                   Please can anyone explain the difference between "join" and "lookup" ?
    Thanks in advance !
    Cnu

    Hi,
    Have a look
    https://forums.oracle.com/thread/2470379
    Thanks

  • OWB Lookup/Join

    We are using OWB repository 10.2.0.2.0 and OWB client 10.2.0.2.8. The Oracle version is 10 G (10.2.0.2.0). OWB is installed on Sun 64 bit server.
    As we use lookup in OWB mapping, We can use the lookup tables/source table to create a View as Join with source and lookup table in Database. The created view could be a source for OWB mapping. This will help us to have less lookups in OWB mapping. As we Join the lookup in Database server, we could get better performance.
    Did any one in this forum use above approach in large projects?
    Any idea?
    What is the best approach, when lookup returns multiple values for single lookup key?
    Thanks in advance.
    RI

    Hi RI,
    This will help us to have less lookups in OWB mapping. As we Join the lookup in Database server, we could get better performance.
    Did any one in this forum use above approach in large projects?OWB uses Oracle database as ETL-engine and in case of Set based execution mode (for PL/SQL mapping) you will not get better performance with view (when used instead of lookup of join operators).
    Additional negative impact of "view" approach is lost of complete info for Lineage/Impact analysis (I think that for large projects this is a very helpful features).
    What is the best approach, when lookup returns multiple values for single lookup key?I think this is design mistake - you should define unique key on lookup table
    Regards,
    Oleg

  • Consistency Warning - [39008] Dimension Table not joined to Fact Source

    I have a schema in which I have the following tables:
    A) Patient Transaction Fact Table (i.e. supplies used, procedures performed, etc.)
    B) Demographic Dimension table (houses info like patient location code)
    C) Location Dimension table (tells me what Hospital each unique Location maps to)
    So table A is the fact, and table B is a dimension table joined to table A based on Patient ID, so I can get general info on the patient. This would allow me to apply logic to just see patient transactions where the patient was FEMALE, or was in the Emergency Room, by applying conditions to these fields in table B.
    Table C is a simple lookup table joined to table B by Location Code, so I can identify which hospital's emergency room the patient was located in for instance.
    So the schema is: A<---B<---C, where B and C are both dimension tables.
    The query works as desired, but my consistency check gives me the following WARNING:
    *[39008] Logical dimension table LOCATION MASTER D has a source LOCATION MASTER D that does not join to any fact source.*
    How do I resolve this WARNING, or at least suppress it?

    Hi,
    What you need to do is to add the (physical) location dimension table to the logical table source of the demographic dimension, for example by dragging it from physical layer on top of logical table source of demographic logical dimension table in bmm layer
    Regards,
    Stijn

  • Join two source tables and replicat into a target table with BLOB

    Hi,
    I am working on an integration to source transaction data from legacy application to ESB using GG.
    What I need to do is join two source tables (to de-normalize the area_id) to form the transaction detail, then transform by concatenate the transaction detail fields into a value only CSV, replicate it on the target ESB IN_DATA table's BLOB content field.
    Based on what I had researched, lookup by join two source tables require SQLEXEC, which doesn't support BLOB.
    What alternatives are there and what GG recommend in such use case?
    Any helpful advice is much appreciated.
    thanks,
    Xiaocun

    Xiaocun,
    Not sure what you're data looks like but it's possible the the comma separated value (CSV) requirement may be solved by something like this in your MAP statement:
    colmap (usedefaults,
    my_blob = @STRCAT (col02, ",", col03, ",", col04)
    Since this is not 1:1 you'll be using a sourcedefs file, which is nice because it will do the datatype conversion for you under the covers (also a nice trick when migrating long raws to blobs). So col02 can be varchar2, col03 a number, and col04 a clob and they'll convert in real-time.
    Mapping two tables to one is simple enough with two MAP statements, the harder challenge is joining operations from separate transactions because OGG is operation based and doesn't work on aggregates. It's possible you could end up using a combination of built in parameters and funcations with SQLEXEC and SQL/PL/SQL for more complicated scenarios, all depending on the design of the target table. But you have several scenarios to address.
    For example, is the target table really a history table or are you actually going to delete from it? If just the child is deleted but you don't want to delete the whole row yet, you may want to use NOCOMPRESSDELETES & UPDATEDELETES and COLMAP a new flag column to denote it was deleted. It's likely that the insert on the child may really mean an update to the target (see UPDATEINSERTS).
    If you need to update the LOB by appending or prepending new data then that's going to require some custom work, staging tables and a looping script, or a user exit.
    Some parameters you may want to become familiar with if not already:
    COLS | COLSEXCEPT
    COLMAP
    OVERRIDEDUPS
    INSERTDELETES
    INSERTMISSINGUPDATES
    INSERTUPDATES
    GETDELETES | IGNOREDELETES
    GETINSERTS | IGNOREINSERTS
    GETUPDATES | IGNOREUPDATES
    Good luck,
    -joe

  • How to use two lookup in single interface in ODI 11g

    Hi All,
    I am trying to load GL_CODE_COMBINATIONS CC + FND_FLEX_VALUES_VL FF to target table W_GL_CODE_COMBINATIONS.
    I duplicated FND_FLEX_VALUES_VL as FND_FLEX_VALUES_VL1 FF1 for my join condition.
    In target table I have included 2 new columns named SEGMENT2_DESC and SEGMENT3_DESC.
    In my interface i am using FND_FLEX_VALUES_VL as lookup and join condition is CC.SEGMENT2=FF.FLEX_VALUE
    Mapping expression of target column SEGMENT2_DESC is FF.DESCRIPTION.
    In my interface i am using FND_FLEX_VALUES_VL1 as lookup and join condition is CC.SEGMENT3=FF1.FLEX_VALUE
    Mapping expression of target column SEGMENT3_DESC is FF1.DESCRIPTION.
    Execution of this interface taking more time. When using single lookup and SEGMENT2_DESC data loading is fast.
    Kindly advice me regarding this.
    Thanks in advance.

    Are the number of records in lookup very large ?
    Why cant you use the same lookup once and have the join containing both the conditions.
    YOu dont have to use lookup at all. YOu can also drag the "so called" lookup table in the source and build the join conditions yourself.
    The join condition would be
    CC.SEGMENT2=FF.FLEX_VALUE and CC.SEGMENT3=FF.FLEX_VALUE

  • What is the use of lookup tranformation in odi

    Hi Experts,
    What is the use of lookup transformation in ODI.
    In ODI we use different kinds of joins, so my doubt is what is the difference between lookup transformation joins and normal joins we use in ODI.
    Please let me know with your valueable information.
    Thx,
    Sahadeva.

    Use the SIM card to connect to the cell carrier 3G network when there is no wifi available.
    To set it up, see this -> http://support.apple.com/kb/HT4157

  • Accessing lookup table from XSL stylesheet

    HI Gentlemen,
    Given two XMLTYPE tables: a Master and a Lookup. The Lookup table consists merely of {key, value} pairs. I am about to display Master table contents--subtrees selected from one big XMLTYPE column. The display process is governed by an appropriate XSL stylesheet. Master table elements have data only in their attributes. For example: <time U="2"/> which means that the value of the Unit attribute is 2, meaning "Minute" according to the Lookup table.
    My question is: Does anybody of you know a fast and safe method to SELECT from the Master AND Lookup (inner join, as in a pure relational environment), thereby REPLACING the key value with its MEANING (textual interpretation). This would be extremely important as numeric codes do not have meaning to the user. User-friendly behavior requires that all important information be displayed at once. (Note that I have nothing against modifying my stylesheet to query the Lookup table as well, if no straightforward master-detail querying technique exists.)
    Please give me an idea if you have.
    Thank you in advance, kind regards:
    Miklos HERBOLY

    HI odie,
    Here is the stuff you requested. I admit, it is fairly abundant, but you will see the structure and the main points. Some of the elements are multiple-occurrence, hence the XMLTABLE() solution was no good because of the large number of generated rows. The stylesheet would be ideal to display embedded "nested collections".
    Please let me know if you have anything for me.
    Thanks, regards
    Miklos
    HERE ARE THE XMLTYPE MASTER TABLE CONTENTS. TABLE IS NON-SCHEMA-BASED.
    =====================================================================
    SQL> select * from z;
    XML_DOCUMENT
    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <?xml-stylesheet type="text/xsl" href="file://c:/XSL/ziffer.xsl"?>
    <ehd:ehd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ehd/go/001" xmlns:ehd="urn:ehd/001" ehd_versio
    n="1.20">
    <ehd:header>
    <ehd:id EX="E7F454A3-0F6E-460e-A495-BBBBBBBBBBB3" RT="1.2.276.0.76.3.1.1"/>
    <ehd:version_nbr V="1"/>
    <ehd:document_type_cd V="851"/>
    <ehd:service_tmr V="2006-07-01..2007-12-31"/>
    <ehd:origination_dttm V="2006-05-03"/>
    <ehd:provider>
    <ehd:provider.type_cd V="KV" S="1.2.276.0.76.5.104" SV="1.0"/>
    <ehd:person>
    <ehd:id EX="3223" RT="2.3.5.3.T.e.s.t" RTV="1.10"/>
    <ehd:person_name>
    <ehd:nm>
    <ehd:GIV V="Hans"/>
    <ehd:PFX V="von"/>
    <ehd:FAM V="Mustermann"/>
    </ehd:nm>
    </ehd:person_name>
    <ehd:organization.nm V="KV Hessen"/>
    <ehd:addr>
    <ehd:STR V="Ottostr."/>
    <ehd:HNR V="12"/>
    <ehd:ZIP V="50859"/>
    <ehd:CTY V="Köln"/>
    </ehd:addr>
    <ehd:telecom V="tel:030-4005-2121 begin_of_the_skype_highlighting              030-4005-2121      end_of_the_skype_highlighting begin_of_the_skype_highlighting              030-4005-2121      end_of_the_skype_highlighting"/>
    </ehd:person>
    <ehd:organization>
    <ehd:id EX="46" RT="1.2.276.0.76.5.233"/>
    </ehd:organization>
    </ehd:provider>
    <ehd:interface>
    <ehd:id EX="SDEBM" RT="1.2.276.0.76.5.109" RTV="1.0"/>
    <ehd:interface.nm V="Gebührenordnungsstammdatei / Satzart 851"/>
    <ehd:version V="01.30"/>
    </ehd:interface>
    </ehd:header>
    <ehd:body>
    <gnr_liste>
    <gnr V="01700V" USE="46" USE-DOMAIN="1.2.276.0.76.5.233" VT="2006-05-03">
    <allgemein>
    <gueltigkeit>
    <service_tmr V="2006-07-01.."/>
    <effective_tmr V="2006-07-01.."/>
    </gueltigkeit>
    <legende>
    <kap_bez V="1.7" DN="Gesundheits- und Früherkennungsuntersuchungen, Mutterschaftsvorsorge, Empfängnisregelun
    g und Schwangerschaftsabbruch (vormals Sonstige Hilfen)">
    <bereich V="II" DN="Arztgruppenübergreifende allgemeine Leistungen"/>
    <kapitel V="1" DN="Allgemeine Leistungen"/>
    <abschnitt V="7" DN="Gesundheits- und Früherkennungsuntersuchungen, Mutterschaftsvorsorge, Empfängnisregel
    ung und Schwangerschaftsabbruch (vormals Sonstige Hilfen)"/>
    </kap_bez>
    <kurztext V="Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a."/>
    <langtext V="Grundpauschale für Fachärzte für Laboratoriumsmedizin, Mikrobiologie und Infektionsepidemiologi
    e, Transfusionsmedizin und ermächtigte Fachwissenschaftler der Medizin für die Erbringung von Laborleistungen gemäß den
    Richtlinien des Gemeinsamen Bundesausschusses über die ärztliche Betreuung während der Schwangerschaft und nach der En
    tb indung (Mutterschafts-Richtlinien) und/oder der Richtlinien des Gemeinsamen Bundesausschusses zur Empfängnisregelung
    und zum Schwangerschaftsabbruch bei Probeneinsendung, "/>
    <quittungstext V="Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a."/>
    </legende>
    <anmerkungen_liste>
    <anmerkung V="Die Leistung nach der Nr. 01100 ist nicht berechnungsfähig, wenn Sprechstunden vor 07:00 Uhr o
    der nach 19:00 Uhr stattfinden oder Patienten zu diesen Zeiten bestellt werden."/>
    <anmerkung V="Im Rahmen der unvorhergesehenen Inanspruchnahme des Vertragsarztes ist die Leistung nach der N
    r. 01100 auch dann nur einmal berechnungsfähig, wenn es sich um eine Gruppenbehandlung handelt."/>
    <anmerkung V="Die Leistung nach der Nr. 01100 ist ausschließlich bei kurativer Behandlung berechnungsfähig."
    />
    </anmerkungen_liste>
    <leistungsinhalt>
    <komplex V="OBLIGAT">
    <leistung V="Persönlicher Arzt-Patienten-Kontakt im organisierten Not(fall)dienst"/>
    </komplex>
    <komplex V="FAKULTATIV">
    <leistung V="Beratung und Behandlung bis zu 10 Minuten Dauer,"/>
    <leistung V="2...Beratung und Behandlung bis zu 10 Minuten Dauer,"/>
    <leistung V="3...Beratung und Behandlung bis zu 10 Minuten Dauer,"/>
    </komplex>
    <komplex V="FAKULTATIV">
    <leistung V="In Anhang 1 aufgeführte Leistungen,"/>
    </komplex>
    </leistungsinhalt>
    <bewertung_liste>
    <bewertung V="5595" U="1" U-DOMAIN="1.2.276.0.76.5.236">
    <leistungserbringerart V="1" S="1.2.276.0.76.5.234" SV="1.02"/>
    <leistung_typ V="GL"/>
    </bewertung>
    <bewertung V="2797.5" U="1" U-DOMAIN="1.2.276.0.76.5.236">
    <leistungserbringerart V="2" S="1.2.276.0.76.5.234" SV="1.02"/>
    <leistung_typ V="GL"/>
    </bewertung>
    </bewertung_liste>
    <zeitbedarf_liste>
    <zeit V="21" U="2" U-DOMAIN="1.2.276.0.76.5.238">
    <leistung_typ V="AL"/>
    </zeit>
    </zeitbedarf_liste>
    <pruefzeit V="1" U="2" U-DOMAIN="1.2.276.0.76.5.238">
    <zeitprofilart V="3" S="1.2.276.0.76.5.228" SV="1.00"/>
    </pruefzeit>
    <rlv V="0" S="1.2.276.0.76.5.241" SV="1.00"/>
    <leistungsgruppe V="10" S="1.2.276.0.76.5.227" SV="1.00"/>
    </allgemein>
    <bedingung>
    <fachgruppe_liste V="true">
    <versorgungsbereich V="2" S="1.2.276.0.76.5.237" SV="1.01">
    <fachgruppe V="110" S="1.2.276.0.76.5.114" SV="1.00"/>
    <fachgruppe V="111" S="1.2.276.0.76.5.114" SV="1.00"/>
    <fachgruppe V="112" S="1.2.276.0.76.5.114" SV="1.00"/>
    <fachgruppe V="303" S="1.2.276.0.76.5.114" SV="1.00"/>
    <fachgruppe V="357" S="1.2.276.0.76.5.114" SV="1.00"/>
    <fachgruppe V="501" S="1.2.276.0.76.5.114" SV="1.00"/>
    <fachgruppe V="532" S="1.2.276.0.76.5.114" SV="1.00"/>
    </versorgungsbereich>
    </fachgruppe_liste>
    <anzahlbedingung_liste>
    <bezugsraum V="1" U="7" U-DOMAIN="1.2.276.0.76.5.226">
    <anzahl V="1"/>
    </bezugsraum>
    </anzahlbedingung_liste>
    <abr_best V="je Behandlungsfall mit Auftragsleistung(en) der Abschnitte 1.7.4 und/oder 1.7.5"/>
    </bedingung>
    <regel>
    <ausschluss_liste>
    <bezugsraum V="1" U="7" U-DOMAIN="1.2.276.0.76.5.226">
    <gnr_liste V="false">
    <gnr V="12220" DN="Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a."/>
    <gnr V="12225" DN="Grundpauschale für Vertragsärzte aus nicht in der Nr. 12220 aufgeführten Arztgruppen
    bei Probeneinsendung"/>
    </gnr_liste>
    </bezugsraum>
    </ausschluss_liste>
    </regel>
    <kv V="46" S="1.2.276.0.76.5.233" SV="1.01">
    <kennzeichen>
    <arztpraxis V="1"/>
    </kennzeichen>
    <kv_bewertung_liste>
    <kv_bewertung V="100" U="1" U-DOMAIN="1.2.276.0.76.5.236">
    <leistungserbringerart V="2" S="1.2.276.0.76.5.234" SV="1.02"/>
    </kv_bewertung>
    <kv_bewertung V="150" U="1" U-DOMAIN="1.2.276.0.76.5.236">
    <leistungserbringerart V="1" S="1.2.276.0.76.5.234" SV="1.02"/>
    </kv_bewertung>
    </kv_bewertung_liste>
    </kv>
    <vdx>
    <gkv_kontenart_liste>
    <gkv_kontenart V="530" S="1.2.276.0.76.5.258"/>
    <gkv_kontenart V="463" S="1.2.276.0.76.5.258"/>
    </gkv_kontenart_liste>
    </vdx>
    </gnr>
    </gnr_liste>
    </ehd:body>
    </ehd:ehd>
    1 Zeile wurde ausgewählt.
    SQL> spool off
    ==========================
    HERE IS THE XQUERY COMMAND
    ==========================
    <?xml version="1.0" encoding='windows-1252'?>
    <!--
    | Uncomment the following processing instruction and replace
    | the stylesheet name to transform output of your XSQL Page using XSLT
    <?xml-stylesheet type="text/xsl" href="YourStylesheet.xsl" ?>
    -->
    <page xmlns:xsql="urn:oracle-xsql" connection="gksconnection">
    <xsql:query xmlns:xsql="urn:oracle-xsql">
    SELECT XMLQuery('xquery version "1.0";
    declare namespace n1="urn:ehd/001";
    declare namespace n2="urn:ehd/go/001";
    let $i := /n1:ehd/n1:body/n2:gnr_liste/n2:gnr
    where $i[@n2:V = "01700V"]
    return $i'
    PASSING xml_document
    RETURNING CONTENT)
    FROM z
    </xsql:query>
    </page>
    ======================
    HERE IS THE STYLESHEET - relevant part only
    ======================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ehd="urn:ehd/001" xmlns:pe="urn:ehd/go/001">
    <xsl:output method="html"/>
    <xsl:template match="pe:gnr">
    <html>
    <head>
    <title>EBM Ziffer</title>
    <style type="text/css">
    table
    border-collapse:collapse;
    table, td, th
    border:1px solid black;
    </style>
    </head>
    <body style="font-family:verdana;color:black">
    <h2><xsl:text>Ziffer: </xsl:text>
    <xsl:value-of select="@V"/>
    </h2>
    <table border="1">
    <tr>
    <td><xsl:text>KV</xsl:text></td>
    <td><xsl:value-of select="@USE"/></td>
    </tr>
    <tr>
    <td><xsl:text>Gültigkeit</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:gueltigkeit/pe:service_tmr/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Bezeichnung Kapitel</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/@V"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Bereich</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:bereich/@V"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:bereich/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Kapitel</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:kapitel/@V"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:kapitel/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Abschnitt</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:abschnitt/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Unterabschnitt</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:uabschnitt/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Block</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:block/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Kurztext</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kurztext/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Langtext</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:langtext/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Langtext (Fortsetzung)</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:langtext_continued/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Quittungstext</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:quittungstext/@V"/></td>
    </tr>
    </table>
    <!-- Anmerkungen-Liste -->
    <h4><xsl:text>Anmerkungen</xsl:text></h4>
    <table border="1">
    <xsl:for-each select="pe:allgemein/pe:anmerkungen_liste/pe:anmerkung">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Leistungsinhalt-->
    <h4><xsl:text>Leistungsinhalt</xsl:text></h4>
    <table border="1" >
    <tr>
    <th><xsl:text>Komplex</xsl:text></th>
    <th><xsl:text>Leistung</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:allgemein/pe:leistungsinhalt/pe:komplex">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    <td>
    <xsl:for-each select="pe:leistung">
    <xsl:value-of select="@V"/>
    </xsl:for-each>
    </td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Bewertungsliste -->
    <h4><xsl:text>Bewertungen</xsl:text></h4>
    <table border="1">
    <tr>
    <th><xsl:text>Bewertung</xsl:text></th>
    <th><xsl:text>Einheit</xsl:text></th>
    <th><xsl:text>Gebührenordnung</xsl:text></th>
    <th><xsl:text>Leistungserbringerart</xsl:text></th>
    <th><xsl:text>Leistungstyp</xsl:text></th>
    <th><xsl:text>Versorgungsgebiet</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:allgemein/pe:bewertung_liste/pe:bewertung">
    <tr>
    <td><xsl:value-of select="@V"/></td>
         <td><xsl:value-of select="@U"/></td>
    <td><xsl:value-of select="pe:gebuehrenordnung/@V"/></td>
    <td><xsl:value-of select="pe:leistungserbringerart/@V"/></td>
    <td><xsl:value-of select="pe:leistung_typ/@V"/></td>
    <td><xsl:value-of select="pe:versorgungsgebiet/@V"/></td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Zeitbedarfliste -->
    <h4><xsl:text>Zeitbedarfliste</xsl:text></h4>
    <table border="1">
    <tr>
    <th><xsl:text>Zeit</xsl:text></th>
    <th><xsl:text>Einheit</xsl:text></th>
    <th><xsl:text>Leistungstyp</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:allgemein/pe:zeitbedarf_liste/pe:zeit">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    <td><xsl:value-of select="@U"/></td>
    <td><xsl:value-of select="pe:leistung_typ/@V"/></td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    =====================================
    THE REQUESTED SAMPLE LOOKUP TABLE FOR TIME UNITS
    =====================================
    <keytabs>

    <keytab S="1.2.276.0.76.5.238" SN="S_KBV_ZEITEINHEIT" SV="1.00">
    <key V="1" DN="Sekunde" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="2" DN="Minute" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="3" DN="Stunde" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="4" DN="Tag" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="5" DN="Woche" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="6" DN="Monat" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="7" DN="Quartal" S="1.2.276.0.76.5.238" SV="1.00"/>
    <key V="8" DN="Jahr" S="1.2.276.0.76.5.238" SV="1.00"/>
    </keytab>
    </keytabs>
    ==================================================================================================
    And this is, from an earlier trial with XMLTABLE() what I become when stylesheet is commented out. Only for your information here!
    Due to the three "Anmerkung" three rows were generated. What is this notation? I got it when
    executing the XSQL sheet without stylesheet. Produced by the browser.
    I can not find any info in the whole web.
    ==================================================================================================
    <!--
    <?xml-stylesheet type="text/xsl" href="untitled1.xsl" ?>
    -->
    <page>
    <ROWSET>
    <ROW num="1">
    <ZIFFER>01700V</ZIFFER>
    <GUELTIGKEIT>2006-07-01..</GUELTIGKEIT>
    <KAP_NR>1.7</KAP_NR>
    <KAP_BEZ>
    Gesundheits- und Früherkennungsuntersuchungen, Mutterschaftsvorsorge, Empfängnisregelun g und Schwangerschaftsabbruch (vormals Sonstige Hilfen)
    </KAP_BEZ>
    <BEREICH_NR>II</BEREICH_NR>
    <BEREICH>Arztgruppenübergreifende allgemeine Leistungen</BEREICH>
    <KAPITEL_NR>1</KAPITEL_NR>
    <KAPITEL>Allgemeine Leistungen</KAPITEL>
    <ABSCHNITT>
    Gesundheits- und Früherkennungsuntersuchungen, Mutterschaftsvorsorge, Empfängnisregel ung und Schwangerschaftsabbruch (vormals Sonstige Hilfen)
    </ABSCHNITT>
    <KURZTEXT>
    Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a.
    </KURZTEXT>
    <LANGTEXT>
    Grundpauschale für Fachärzte für Laboratoriumsmedizin, Mikrobiologie und Infektionsepidemiologi e, Transfusionsmedizin und ermächtigte Fachwissenschaftler der Medizin für die Erbringung von Laborleistungen gemäß den Richtlinien des Gemeinsamen Bundesauss
    </LANGTEXT>
    <QUITTUNGSTEXT>
    Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a.
    </QUITTUNGSTEXT>
    <ANMERKUNG>
    Die Leistung nach der Nr. 01100 ist nicht berechnungsfähig, wenn Sprechstunden vor 07:00 Uhr oder nach 19:00 Uhr stattfinden oder Patienten zu diesen Zeiten bestellt werden.
    </ANMERKUNG>
    </ROW>
    <ROW num="2">
    <ZIFFER>01700V</ZIFFER>
    </ROW>
    </ROWSET>
    </page>

  • Multiple Joins Between Folders

    Hi Gurus,
    I have a fact table which contains multiple candidate fields that can be joined to a lookup table
    2 folders
    fact_table
    lookup_table1
    2 Joins are possible between the two folders
    fact_table.code_combination_id -> lookup_table1.code_combination_id
    fact_table.accrual_code_combination_id -> lookup_table1.code_combination_id
    When I try to create a workbook and include fields from the fact table, then include fields from the lookup table it asks me to choose the join.
    If I then want to add fields based on the second join it won't ask me which join to use in future. It appears to assume the first join is still in affect between the two folders for the report. I know I can create another folder using the same lookup table and move one of the existing joins from the current folder to the new folder. Am I missing something or is this the only way to go?
    Regards,
    John

    Hi John,
    Interesting issue. This is how we resolved it in my last job.
    Folders created:
    Fact table: AR Fact
    Lookup folder: Code Combination Lookup
    Lookup folder: Accrual Code Combination Lookup
    Then join AR Fact to each lookup folder. Generally, point the lookup folder to the AR Fact folder when creating the joins. Discoverer will like that direction best. As additional code combination types are referenced, add additional code combination folders. All of those folders come from the same lookup table. The only thing that is different is the column joined to in AR Fact.
    So, in the end, your joins would be:
    Code Combination Lookup.code_combination_id -> AR Fact.code_combination_id
    Accrual Code Combination Lookup.code_combination_id -> AR Fact.accrual_code_combination_id
    Hope this helps.
    Regards,
    Nancy

  • Joining two datasets in Crosstabs

    Hi....I have a requirement in crosstabs...
    I have 3 data sets…. Ds1, ds2, ds3
    Month column comes from all the 3 data sets.
    I have a Category Column which comes from all three datasets…. (category = Mother board,mouse,key board )
    Max sales, Avg sales, Total sales are the columns which comes from ds1, ds2, ds3 respectively..
    Is it possible to achieve this following out put by cross tabs?
    How to join two/three data sets in crosstabs??
    Image below:
    http://i51.tinypic.com/2u9k421.jpg

    The Lookup expressions are used for this. They all use a similar syntax:
    =command(LocalKey, ForeignKey, ForeignValue, "OtherDatasetName")
    This is similar to JOINing tables ON LocalKey=ForiegnKey in Transact-SQL. The expression builder tool will give you some limited help with the 3 Lookup expressions . Visakh's link has more extensive help.
    The Join expression mentioned by Brad is often used in conjunction with the LookupSet and MultiLookup expressions, which return an array of values (ForeignValue) rather than a single value like Lookup. Join will concatenate the elements of an array into
    a string.
    "You will find a fortune, though it will not be the one you seek." -
    Blind Seer, O Brother Where Art Thou
    Please Mark posts as answers or helpful so that others may find the fortune they seek.

  • Physical versus Logical Lookups

    Which type of lookup table is better to use - physical or logical ? does logical lookup table joins are done in memory or pushed to database.
    Thanks

    user457687 wrote:
    logical lookup table joins are done in memory or pushed to database.Lookup's done in the physical layer are pushed to the database where as in the BMM layer, the BI Server does the in-memory joins and aggregations as needed. I believe physical lookup's are better compared to the logical lookup's as the joins are pushed to the database and they should perform faster than the in-memory joins.

  • Any ideas on how to swap a to&from date table to monthly using DI?

    New to DI, so after a bit of product usage advice!
    I've got a table that looks like this...
    ID,NAME,SDATE,EDATE,TOTALDAYS,WEEKDAYS
    1,James,01/01/2010,10/01/2010,10,6
    2,John,03/02/2010,19/02/2010,16,13
    1,James,15/04/2010,23/07/2010,100,72
    3,Chris,05/08/2010,05/08/2010,1,1
    2,John,30/08/2010,03/09/2010,5,5
    3,Chris,28/09/2010,06/10/2010,9,7
    I want it in a format thats a bit more like this...
    YEAR,MONTH,ID,NAME,TOTALDAYS,WEEKDAYS
    2010,JAN,1,James,10,6
    2010,FEB,2,John,16,13
    2010,APR,1,James,16,12
    2010,MAY,1,James,31,21
    2010,JUN,1,James,30,22
    2010,JUL,1,James,23,17
    2010,AUG,3,Chris,1,1
    2010,AUG,2,John,2,2
    2010,SEP,2,John,3,3
    2010,SEP,3,Chris,3,3
    2010,OCT,3,Chris,6,4
    Anyway to do this type of operation in DI?
    It's not a huge data set (k's of rows) - but I need it in this sort of format do do some monthly reporting.  So far in DI I've only really used simple lookups and joins - more a load tool - so hope this type of thing is relativley standard stuff?
    Thanks for any advice!
    j.

    You can use below functions in query transform:
    to_char(<input_date type value>, <'YYYY | MON>') to get the year / Month.

  • Many to many relationships (Again)

    Hello,
    There was a posting on above subject.
    Re: Many to many relationships between Fact and Dimension
    They asked to look chapter 3 in the user's guide... <http://download.oracle.com/docs/pdf/B10996_01.pdf>. chapter 3 talks about defining Oracle Data Objects. I could find above subject in chapter 3 .
    Here is our situation We are using OWB 9.2.0.2.8. We are in a situation to build ETL from denormalized (relational tables) source to normalized target (relational tables). It is not a data warehouse situation. It could be a reverse of data warehouse. As given below
    Supplier >--------------------<Item
    becomes Supplier ------<supp_item.>--------------Item after many to many resolution, Where supp_item is interface table.
    We were able build Supplier and Item through seprate mapping. I could build supp_item through post mapping process. I look for alternate thought as well.
    We are using separate sequence number for Supplier , Item and supp_item. The sequences will be surrogate keys such as Supplier ( Suppseq(PK)), Item (Itemseq (PK)) and supp_item(suppitemseq (PK)) Here is the sample
    Supplier
    001|S001
    002|S002
    003|S003
    004|S004
    Item
    001|I001
    002|I002
    003|I003
    Supp_item (Suppseq|ItemSeq)
    001|002 --- S001 I002
    001003 -----S001 I003
    001|004 ----- S001 I 004
    002|002 ---- S 002 I002
    002|003 ---- S 002 I003
    003|001 --- S 003 I 003
    003|003 --- S 003 I 003
    Did any body face such situation? What is the best way to create a mapping (single map or multiple map with processflow sequence) for this situation?
    Let me know the steps exercised in OWB for this situation.
    I appreciate your help.
    Regards
    Ram

    Hi Ram,
    The easiest way to do this, would be to:
    - Load supplier in one mapping and generate the surrogate key.
    - Load item another (or the same) mapping and generate the surrogate key.
    - Load supplier_item in its own separate mapping, using a key lookup (or join) to (with) the supplier and item tables.
    Needless to say, you should create unique keys on the natural key of the supplier and item tables, to enable quick index-based lookups and make sure you get one unique value for every value of the natural key.
    Hope this helps,
    Mark.

  • Mapping in Import manager

    Hi,
    I have a basic doubt in Import manager.
    While mapping source to destination. We select main table in the destination and mapp with the file import as source.
    Suppose my main table is vendor and source table is vendor i ahve mapped all the fields and values from source to destination .Then i have bank detail as flat table which also have 4-5 fields shall i ahve to map this also to the source system By selecting the bank detail flat table as the destination and .
    Or i have to mapp only the main table of the destination system to the source system.
    Thanks,
    Rohit

    Hi Rohit,
       As you said that all the fields in the source and the destination are mapped, so i dont think so you require to map the bank details from other source table; in case you want to add alos you can, as you can map only one table with one; it maintain only one to one relationship.  In case you have some fileds left out in your destination table to be mapped with fields in other table than just use lookup and join to get the data of bank source table into vendor source table, by this you will have all the bank fields and vendor fields in one table as vendor and you can easily map all the fields from one source table to one destionation.
      In case you want to know something else please let me know.
    Regards,
    CHARAN

  • Invalid record not going into E$ table

    Hi,
    I am using Oracle as source and target but source and target table is on different database.lets say
    base table EMP_SRC table --> ABC database
    fact table EMP_TRG table --> XYZ database
    and some dimension table are also in XYZ Database. and all FK constraint are there in fact table.
    I created one interface in which on source dataset i drag base table and dimension table for lookup and join the code columns with base table code and on target side i am populating keys and measures value correspondence the  base table data which matched with dim table.
    I am using KM
    LKM SQL to SQL
    IKM SQL incremental update
    Option:
    Flow control : true
    CKM SQL
    when i run the Interface it is getting successful with valid records but in base table there is some invalid record also which is not going into E$ table
    why it is happening ? did I miss something ? Please help me
    Thanks.

    I am doing little modification here
    BASE_DATA:
    RSN_CODE
    QUANTITY
    DATA_DIM:
    ID_RSN (PK)
    RSN_CODE
    your join need to be BASE_DATA.RSN_CODE = DATA_DIM.RSN_CODE(+)
    your target table will have as mapping
    TGT_DIM:
    ID_RSN (PK): DATA_DIM.ID_RSN
    QUANTITY: BASE_DATA.QUANTITY
    Now
    Base_Data
    RSN_CODE       Quantity
    1A                    120
    1B                    260
    1C                     130
    1E                    300
    DATA_DIM
    ID_RSN          RSN_CODE
    1                    1A
    2                     1B
    3                    1C
    4                    1D
    ------------------------------OK--------------------------
    After execution
    TGT_DIM
    ID_RSN          QUANTITY
    1                    120
    2                    260
    3                    130
    and in E$ table
    ODI_ROW_ID    :    F                   
    ODI_ERR_MESS  :   ODI-15066: The column ID_RSN cannot be null.
    ODI_CHECK_DATE  :   24-JUL-13
    RSN_CODE   :    (null)
    Quantity       : 300
    ---------------------OK----------------------------------
    but I want in E$ table consist following result
    ODI_ROW_ID    :    F                   
    ODI_ERR_MESS  :   ODI-15066: The column ID_RSN cannot be null.
    ODI_CHECK_DATE  :   24-JUL-13
    RSN_CODE   :    1E  
      Quantity       : 300
    Thanks

Maybe you are looking for

  • How to remove fields from view V_QCMBSEG for table BSEG

    Hi By mistake have appended 5 fields in standard table BSEG,  after that i have deleted that appended structure from table, while deleting from different views network got disconnected i lost connection from server. So process get terminated and thos

  • I let firefox to remember my login password for facebook,how can i reverse it

    i dont want firefox to automatically signin to my account on facebook,how can i do it

  • Mac Mini won't boot after failed XP installation

    Recently upgrade HD to 320GB 7200 rpm and 3GB ram. Running 10.5.8 fine. I tried to install Windows XP through Boot Camp, but wasn't successful, I terminated the installation. Then Mac Mini won't boot up. When powered on, you heard the chime, then gre

  • Transact. RFC, automatically red request turns to green

    Hi, there is a failed info package which was stuck for the past 5 hours after just clicking on the Transact.RFC push button that appears under the status tab in the monitor, it takes me to R/3 side, i will enter username and password, it then enters

  • Xcode 4.1 won't refactor C++

    Hi, I'm using the latest version of XCode in Lion. I have some C++ code and want to rename a function.  Right clicking on the name brings up a menu with the "refactor" option.  Howver, when I select "refactor", I get  a dialog box telling me that XCo