Lookup functionality

Hi Guru's,
How to implement informatica's lookup functionality in ODI. Any help is appreciated.
Thanks,
Navin Kumar Bolla

Have a read of :- Lookups in ODI
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • Is there a way of getting LOOKUP function to return the address of a cell rather than the value?

    Hi
    I am wondering if there is a way of converting the value found in a LOOKUP function into a reference for the cell in question.
    I have constructed the following formula:
    =OFFSET(LOOKUP(A2,August :: $A),2,2)
    In an attempt to return the value of a cell which is two rows and two columns away from the cell returned by a LOOKUP function.
    But I am getting the error Argument 1 of OFFSET expects a reference but found "Name."
    Could someone advise?
    Thanks,
    Nick

    nick_harambee wrote:
    Hi
    I am wondering if there is a way of converting the value found in a LOOKUP function into a reference for the cell in question.
    I have constructed the following formula:
    =OFFSET(LOOKUP(A2,August :: $A),2,2)
    In an attempt to return the value of a cell which is two rows and two columns away from the cell returned by a LOOKUP function.
    But I am getting the error Argument 1 of OFFSET expects a reference but found "Name."
    Could someone advise?
    Thanks,
    Nick
    Nick,
    To find the row that a searched-for value is in, use MATCH.
    Jerry

  • SSRS countrow Aggregate error(Aggregate and lookup functions cannot be used in query parameter expressions.)

    Below expression works fine with text box but gives error in dataset expression.
    ="SET FMTONLY OFF select  "+ join(Parameters!Column.Value,",") +" FROM pamcustom.dbo.vw_HFL_HFD_HotfileData INNER JOIN pamcustom.dbo.HFL_HFB_HotFileBatch  on BatchID = HFB_intBatchID where BatchID ="+Parameters!BatchId.Value+"
    and "+Parameters!cmbTranType.Value+" "+ iif(CountRows("DS_Aml_Mnr_Iss_Desc")=Parameters!Mnr_Iss_Desc.count," "," and aml_mnr_iss_desc in "+"('" & join(Parameters!Mnr_Iss_Desc.Value,"','")
    & "')")+iif(CountRows("ds_ReportingCategory")=Parameters!ReportingCategory.count," "," and ReportingCategory in "+"('" & join(Parameters!ReportingCategory.Value,"','") & "')")+iif(CountRows("ds_NAICSubGroup")=Parameters!NAICSubGroup.count,"
    "," and naicsubgroup in "+"('" & join(Parameters!NAICSubGroup.Value,"','") & "')")+iif(CountRows("ds_PortTrading")=Parameters!PortTrading.count," "," and porttrading in "+"('"
    & join(Parameters!PortTrading.Value,"','") & "')")+iif(CountRows("ds_GL_LE")=Parameters!GL_LE.count," "," and gl_le in "+"('" & join(Parameters!GL_LE.Value,"','") &
    "')")+iif(CountRows("ds_coagroup")=Parameters!cmbCoaGrp.count," "," and coagroup in "+"('" & join(Parameters!cmbCoaGrp.Value,"','") & "')")+iif(CountRows("Portfolio")=Parameters!cmbPort.count,"
    "," and portfolio in "+"('" & join(Parameters!cmbPort.Value,"','") & "')")+IIf(IsNothing(Parameters!txtSecID.Value)," "," and secid in ('"+Replace(Parameters!txtSecID.Value,",","','")+"')")+iif(IsNothing(Parameters!minPortFilter.Value)
    and IsNothing(Parameters!MinPort.Value)," "," and portfolio "+Parameters!minPortFilter.Value+Parameters!MinPort.Value)+iif(IsNothing(Parameters!maxPortFilter.Value) and IsNothing(Parameters!MaxPort.Value)," ","
    and portfolio "+Parameters!maxPortFilter.Value+Parameters!MaxPort.Value)+iif(IsNothing(Parameters!minCoaFilter.Value) and IsNothing(Parameters!txtMinCoa.Value)," "," and portfolio "+Parameters!minCoaFilter.Value+Parameters!txtMinCoa.Value)+iif(IsNothing(Parameters!maxCoaFilter.Value)
    and IsNothing(Parameters!txtMaxCoa.Value)," "," and portfolio "+Parameters!maxCoaFilter.Value+Parameters!txtMaxCoa.Value)
    I guess the error " Aggregate and lookup functions cannot be used in query parameter expressions." is because I am using CountRow to ensure that if all values of multi select all selected i will not use that filter in where clause.
    Pls. guide...

    Hi, Include your parameter total count in the dataset for parameter and instead of using countrows() function use the count from dataset in the expression.
    Hope this helps.........
    Ione

  • Dense Lookup Function in OBIEE

    Hi ,
    Can someone please explain the syntax of Dense Lookup Function in OBIEE.
    The function in the built-in RPD is using too many arguments and I am not able to understand it.
    Thanks in Advance for the help.
    Akshatha

    I had actually seen all those links. Thanks for your time although.
    Actually, I have an expression like this.
    lookup( DENSE LookupTable.DOMAIN_MEMBER_NAME, 'MCAT', 'CMP' || '~' || Table_A.TOP_LVL_PRODCAT_ID, VALUEOF(NQ_SESSION.USER_LANGUAGE_CODE), Table_A.DATASOURCE_NUM_ID)
    I am not sure of what 'MCAT' and 'CMP' is here?
    Is the || the concatenation operator?
    Can you please explain this expression?
    I hope I am not asking too much here :/
    Akshatha

  • USING LOOKUP FUNCTION IN CHART

    Good Afternoon,
    I have created a simple chart in SSRS that is sourced from Analysis Services. The Grouping is by Month and the values are just attendances per month.
    I want to add a 2nd series to this chart using a stored procedure in SQL.
    Both share the field Month and could be linked on that field.
    Does anybody know how I can use the lookup function to add this field to my chart.
    Thank you

    You can lookup by month. In the chart values, add a new series by clicking the Plus icon and choosing Expression. You expression should look something like:
    =Lookup( Fields!AS_Month.Value, Fields!SP_Month.Value, Fields!SP_Value.Value, "SP_Dataset" )
    The abbreviation AS refers to your analysis services dataset, while the SP refers to your dataset using the stored procedure. The expression matches each month used in the chart (the category group) with the month in the other data set, and retrieves the
    SP_Value field to show on the chart.
    If the month numbers/names match exactly, then it will work fine.
    Regards,
    Andrew Borg Cardona

  • Group by Lookup function result

    I have a report that uses two datasets.
    The first one looks like this. It's the time members have recorded under a particular job title:
    ParentId TaskName ObjectiveId MemberId JobTitle TimeSpent Status
    3174ED19 TEST 3 42AA79F6 23179C0F NULL 0.00 01
    3174ED19 TEST 3 42AA79F6 596CA495 JobTitle1 9.00 01
    3174ED19 TEST 1 AEE18C46 23179C0F NULL 0.00 01
    3174ED19 TEST 1 AEE18C46 596CA495 JobTitle2 3.00 01
    3174ED19 TEST 2 AEE18C46 23179C0F NULL 0.00 01
    3174ED19 TEST 2 AEE18C46 596CA495 6.00 01
    I need to show the records which have JobTitle == null with a particular Job Title, the current one they have in Active Directory. So I use another dataset from a WCF service:
    MemberId Name JobTitle
    23179C0F Member1 JobTitle1
    Then I use a lookup function to show the correct Job Title:
    =IIF(IsNothing(Fields!JobTitle.Value) OR Fields!JobTitle.Value = "",lookup(Fields!MemberId.Value,Fields!MemberId.Value,Fields!JobTitle.Value,"Members"),Fields!JobTitle.Value)
    This works ok. The problem is that I need the data to be grouped by several fields, including the Job Title. It seems grouping happens before the lookup function is executed, so instead of grouping the NULL values along with the fields that contains the actual
    values, I end up with two groups with the same Job Title, one containing the null values and another with the actual values.
    Is there any workaround for this?
    Thanks.

    Hi EXR88,
    Per my understanding that you have add some row group in the report to group the result which include the JobTitle from the table1 and also group by the field which result comes from the lookup funtion, now the issue is the group by the Lookup function result
    isn't correct, right?
    I have tested on my local envoronment and can't reproduce the issue, please find the details information below to make sure you have done the correct setting:
    I tried to create the two tables like below:
    Table1:
     Have the same recores as you provided above.
    Table2:
    MemberId    Name      JobTitle
    23179C0F   Member1    JobTitle1
    596CA495   Member1      NULL
    After adding the LookUP function, i got the report like below:
    I add two row group base on the JobTitle(JobTitle) and the Lookup functiuon result(Lookupfunctiongroup), the Lookupfunctiongroup row group is the child group of the JobTitle like below, please make sure you have add the expression with the lookupfunction
    in the group on:
    If i have some misunderstanding, please try to provide the expectted group by  result you want to get and also the currectly result you have got.
    Any problem, please feel free to ask.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • There is an error in the process of validating the lookup function in NW

    Hi,
    I got an error in the script logic validation.
    I  write a lookup function and validate the logic, In this one error occurred "Invalid lookup strecture: Invalid appl name"
    The logic code:
    *LOOKUP Staff_Additions                
    *DIM Salary="Salary_redis"     
    *DIM Category="Budget"     
    *DIM Client_Group="1010"     
    *DIM DataSrc="Input"     
    *DIM Intco="Non_Interco"     
    *DIM RptCurrency="LC"     
    *DIM Time="2011.MAR"
    *DIM Account="41000"
    *ENDLOOKUP
    *When Category.ID
    *Is = "Budget"
    *WHEN INTCO.ID
    *Is = "NON_INTERCO"
    *When JOB_TITLE.ID
    *Is = "NO_JOBTITLE"
    *When SALARY.ID
    *Is = "SALARY_REDIS"
    *When RptCurrency
    *Is = "LC"
    *When DATASRC
    *Is = "INPUT"
    REC(Expression=ROUND(.07692 Lookup(Staff_Additions),0),Time="2010.APR",SALARY="SALARY_MO")
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    Could you please send a solution for this as early as possible.
    Thanks and Regards,
    Krishna.

    Hi,
    I think you have confused in your syntax "Model" and "Lookup ID".
    The syntax of Lookup is this:
    *LOOKUP
    *DIM [:]="Value" | [.]
    So when you reference your lookup variable in the *REC statement it should look something like this:
    REC(Expression=ROUND(.07692 Lookup(<LOOKUP ID>),0),Time="2010.APR",SALARY="SALARY_MO")
    whereas now you have:
    REC(Expression=ROUND(.07692 Lookup(<MODEL>),0),Time="2010.APR",SALARY="SALARY_MO")
    HTH
    Matthias

  • Palm Desktop 6.2.2. and Lookup function not working in Windows 7

    Palm Desktop's lookup function not working in Windows 7 64bit. Please help.
    Post relates to: Centro (Verizon)
    This question was solved.
    View Solution.

    I was able to solve this by unchecking compatibility mode and setting the application to run as administrative.

  • Lookup function issue or specific cell data binding problem

    I  have a dataset which has datatable having 2 columns i.e
    Table( Id string,Value string)
    Every single record in the datatable represents an answer to particular question, Id column being question identifier and Value column  being an answer and every question has answer being stored for 7 days.
    Now i have designed a report which is in the form of grid like
                         Day1 Answer, Day2 Answer, Day3 Answer............................Day7 Answer
    Question 1 
    Question 2
    .Question 40
    I tried using lookup function in ssrs reporting service to bind every single cell in the report using data from dataset like
    = Lookup("question_identifier",QuestionId.Value,AnswerValue.Value,"mydataset");
    The report is working absolutely fine in the report designer as expected but when i take it to the ASP.NET website where i have to generate it, it never shows up and i get report couldn't be found and make sure you have published the report kind of errors.
    I figured that this is the problem with lookup function because as soon as i removed all lookup function expressions in the report , the report started to show up but without data.
    Please let me know if there is another way to go around this problem or fix this issue.
    Thanks,
    BR,

    Hi Jolly,
    I don't think we need lookup function for this. We have only one dataset, the report can be easily created by simply modifying the query of the dataset and place those fields in the tablix report. Refer below example,
    create table reporttable(id int, value varchar(200))
    insert into reporttable values(1,'abc')
    insert into reporttable values(1,'abc1')
    insert into reporttable values(1,'abc2')
    insert into reporttable values(1,'abc3')
    insert into reporttable values(1,'abc4')
    insert into reporttable values(2,'abc')
    insert into reporttable values(2,'abc1')
    insert into reporttable values(2,'abc2')
    insert into reporttable values(2,'abc3')
    insert into reporttable values(2,'abc4')
    insert into reporttable values(3,'abc')
    insert into reporttable values(3,'abc1')
    insert into reporttable values(3,'abc2')
    insert into reporttable values(3,'abc3')
    insert into reporttable values(3,'abc4')
    select id as [Question],'Day ' + cast(row_number() over (partition by id order by id) as varchar) + ' Answer' as AnsCol
    from reporttable
    Regards, RSingh

  • Using the lookup function in Numbers '09

    I'm looking for the way to have the lookup function in Numbers '09 return an error for a non-exact match.  Eg. I want an invalid part number to state this, but currently all I can get is the return of data for the closest match.  Thank you.

    when you use the VLOOKUP() function the last, optional, argument can request and exact match.  When an exact match is not available VLOOKUP() will return an error.
    you can use the IFERROR() function to trap errors like this:
    =IFERROR(<FUNCTION_TO_TRY>, "NOT FOUND")
    In your case.... if <FUNCTION_TO_TRY> is you VLOOKUP(<WHAT_TO_FIND>, <RANGE>, <COLUMN>, 0), the "0" specifies exact match and you could then place all this in the IFERROR() like this:
    =IFERROR(VLOOKUP(<WHAT_TO_FIND>, <RANGE>, <COLUMN>, 0) "NOT FOUND")
    <WHAT_TO_FIND> is what to look for,
    <RANGE> is where to look,
    <COLUMN> is the number of the column in the range you want to return

  • Using lookup function but to show multiple returns?

    Okay so I have been talked through how to use a lookup function to show which student in my class has scored the highest grade.  The formula used displays there name in one column and the score they achieved in another column which I have set up in a small seperate table.  However as suggested in my intial lookup function search it was suggested that I would encounter a problem if two students both achieved the same highest score.  However in the results table I have created it only shows one student.  Is it possible to have a function or formula that will simply show the top scores and the students that scored it when they are tied? 
    Thanks
    Marcus

    The easiest way to accomplish this, Marcus, is by simply sorting all rows by grade.  Sure, you can click on the column tab and hit "sort ascending", but I'm guessing you want something a little more dynamic than that.
    So I've set up a class of 20 students and gave them all random grades btwn 40 - 99.  (That's how it was done when I was in high school.  )  I added a third column which takes that grade, multiplies it by 1000, and adds the row number of the student.  This creates a unique identifier based on a possibly-non-unique grade:
    Now it's simply a matter of using the LARGE function to rank these new identifiers, and then using LOOKUP to get the actual grade and name for that identifier.  (Note that the grades changed; changing the focus from one cell to another creates new random values for the grades.)
    The formula for columns b and c for this Ranking table are standard Lookup functions:
    =LOOKUP($A1,Grades :: $C,Grades :: $B) to get the grades  ($A2 for 2nd column, etc.), and
    =LOOKUP($A1,Grades :: $C,Grades :: $A) to get the names.
    I'd suggest hiding these identifier columns.
    Now, to limit this display to the "X" highest grades, I'm going to continue this into another reply.
    Vince

  • Need expression for lookup function

    I need a lookup function:
    Tablename: Tbl_orders
    Fieldname to check OrdID = 1709 then make it 7001709 else keep numbers same.
    Thank you very much for the helpful info.

    For a lookup function, you'll always have a compare column (Column in the lookup table) and compare expression (Expression to which the compare column is compared to).
    If you nest the lookup in decode / ifthenelse, the expression will be hard to maintain like:
    decode(lookup(<DataStoreName>.Tbl_Orders, OrderID, 0, 'PRE_LOAD_CACHE',Compare_Column in Tbl_Orders, Compare expression with compare column) = 1709,lpad(lookup(<DataStoreName>.Tbl_Orders, OrderID, 0, 'PRE_LOAD_CACHE',Compare_Column in Tbl_Orders, Compare expression with compare column),7,'700'),lookup(<DataStoreName>.Tbl_Orders, OrderID, 0, 'PRE_LOAD_CACHE',Compare_Column in Tbl_Orders, Compare expression with compare column))
    But, I believe you do not want to make the code this complex.
    Do the lookup in one Query transform (either you can add as a function in the output schema or add it in mapping tab) and get the value in one Query transform.
    lookup(<DataStoreName>.Tbl_Orders, OrderID, 0, 'PRE_LOAD_CACHE',Compare_Column in Tbl_Orders, Compare expression with compare column)
    In the next Query transform, do an lpad / direct hardcoding inside ifthenelse / decode.
    decode(Order_ID = 1709,lpad(Order_ID,7,'700'),Order_ID)

  • How to type in one number do a LOOKUP function on that number.

    I want to be able to type in a number in one cell. I want the LOOKUP function to find that number in a column and produce another number in a corresponding column.
    I want to type in a number in A1. Then in another cell lookup the number in A1 in b1:b40 and then display the corresponding number in c1:c40.
    I want something like this...
    =LOOKUP(A1, B1:B40, C1:C40)
    Thanks

    Your lookup function looks in B1:B40 to find a match to the number in A1 and returns with the corresponding value from C1:C40. Typically, B1:40 and C1:C40 would be in another table (i.e., a lookup table) and this function would be in the original table next to A1.
    Cell B1 = LOOKUP(A1, Table 2::B1:B40,Table 2::C1:C40)

  • Aggregate using Lookup function

    Is there any way to get a sum or average of data from a dataset using a Lookup function?
    I have daily currency data, and want to use a lookup function to get monthly averages - at this stage, the lookup function will only return the data for the first entry of the month.
    Thanks

    Hi MIDASuer,
    Per my understanding that you want to get the sum or monthly average value based on the daily currency data, right?
    I have tested on my local environment and I assumed that you have an date/time type field in the table, if so, we can get the month value based on the daily date and then create row group based on the month, finally we can use the avg or sum function
    to get the monthly average values.
    Detail information below for your reference:
    We can modify the query in the dataset to get the month value from the date:
    SELECT   Amount, Date, DATEPART(month, Date) AS Month
    FROM      TableName
    Add an row gorup of the month(Month)
    Use expression below to get the average value of the month and the sum of the month:
    Monthly Average: =Avg(Fields!Amount.Value,"Month")
    Monthly Sum :  =Sum(Fields!Amount.Value,"Month")
    If the amount value comes from another dataset using the lookup function, you can use expression below o get the monthly average:
    =Avg(Lookup(source_expression, destination_expression, result_expression, dataset),Month")
    preview like below:
    More details information about the LookUp function for your reference:
    https://technet.microsoft.com/en-us/library/ee210531(v=sql.110).aspx
    If your problem still exists, please try to provide us some sample data and more detail information about your requirements.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • Unknown Dimension Name in Keyword "0):    LOOKUP function

    Hi,
    I am doing Migration project. from BPC MS to NW 7.5 In this I have vallidated the logics in the NW version as per MS version.
    I got only one error when I validate the LOOKUP function in the NW under the same application(Staff_Additions).
    The error message: "Unknown Dimension Name in Keyword "0):"
    Could you please help me in this and please find the code below.
    *Lookup Staff_Additions
    *DIM SALARY="Salary_redis"     
    *DIM CATEGORY="Budget"     
    *DIM CLIENT_GROUP="1010"     
    *DIM DATASRC="Input"     
    *DIM INTCO="Non_Interco"     
    *DIM RPTCURRENCY="LC"     
    *DIM TIME="2011.MAR"
    *DIM ACCOUNT="41000"
    *ENDLOOKUP
    *WHEN CATEGORY
    *IS = "BUDGET"
    *WHEN INTCO
    *IS = "Non_InterCo"
    *WHEN JOB_TITLE.ID
    *IS = "No_JobTitle"
    *WHEN SALARY
    *IS = "Salary_Redis"
    *WHEN RPTCURRENCY
    *IS = "LC"
    *WHEN DATASRC
    *IS = "INPUT"
    REC(EXPRESSION=ROUND(.07692 Lookup(Staff_Additions),0),Time="2010.APR",SALARY="SALARY_MO")
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    Thanks and Regards,
    Krishna.

    Hi,
    My intension is multiple with  .06792 and make it round figure and store the value in 2010.MAR.
    I have modified this logic in the NW Version,It shown below.
    *Lookup Staff_Additions
    *DIM SALARY="Salary_redis"     
    *DIM CATEGORY="Budget"     
    *DIM CLIENT_GROUP="1010"     
    *DIM DATASRC="Input"     
    *DIM INTCO="Non_Interco"     
    *DIM RPTCURRENCY="LC"     
    *DIM TIME="2011.MAR"
    *DIM ACCOUNT="41000"
    *ENDLOOKUP
    *WHEN CATEGORY
    *IS = "BUDGET"
    *WHEN INTCO
    *IS = "Non_InterCo"
    *WHEN JOB_TITLE
    *IS = "No_JobTitle"
    *WHEN SALARY
    *IS = "Salary_Redis"
    *WHEN RPTCURRENCY
    *IS = "LC"
    *WHEN DATASRC
    *IS = "INPUT"
    REC(EXPRESSION=.07692(Staff_Additions),TIME=2010.APR,SALARY=Salary_MO)
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    Let me know is this the right procedure to get the right result.
    Could you please help me in this.
    Thanks and Regards,
    Krishna.

Maybe you are looking for

  • Urghhh. Someone please help! Important...

    I have a video presentation due tomorrow, and my iMovie isn't working right. I don't know what's wrong with it. Everything's working fine, except that when I try to drag the clips down onto the timeline (or clip viewer) it doesn't work. Like the clip

  • Removing "Notification Detail Link" in notification mails

    Hello. Is it possible removing the attachment "Notification Detail Link.html" attached in the outgoing notification EMails? In the case, I have to do the set directly in the Workflow design, or is it a configuration in the Mailer Agent? Any help is a

  • Getting Exception in jdbc connection got from DataSource in Oracle AS

    Hi i am using data source in my application. When my application is invoked it gets the jdbc connection from the data source, performs set of operations and then releases the connection. But if the application is invoked after a long time e.g. 10 hou

  • Extract filter will not come up in Photoshop CS4 64 bit

    I have put the extactPlus into the Plug-ins folder.  I close and open Photoshop.  the extract filter is not there.  What can I do?

  • Small Caps in Pages?

    Is there any way in Pages to convert text to Small Caps? Or all the other "usual" text conversions (upper, lower, etc.)? Thanks for any help! - Jacki