Abinitio Interview Questions

Showing Questions 381 - 394 of 394 Questions
First | Prev | Next | Last Page
Sort by: 
 | 
Jump to Page:
  •  

    Data from 1 Column to be separated in Multiple Columns

    Input file
    col1
    1
    2
    3
    4
    5
    6
    7
    8

    output file
    col1 col2 col3 col4
    1 2 3 4
    5 6 7 8

    How to achieve this?

    Anand Kishore

    • Oct 7th, 2022

    Use round robin with sequence 3

    Mahesh

    • May 26th, 2021

    Redefine component with output dml as
    record
    decimal("x00") col1 = 0;
    decimal("x00") col2= 0;
    decimal("x00") col3 = 0;
    decimal("x00") col4 = 0;
    end;

  •  

    What is multistage component?

    saikumar

    • Jun 29th, 2022

    Multistage componets means transform components rollup,reformat,and scan normalize

    Anjali

    • Nov 19th, 2021

    Multistage transform is a transform that modifies in up to five-stage - input selection, temporary initialization, processing, finalization and output selection
    multistage transform components are -
    rollup
    scan
    scan with rollup
    normalize
    denormalize sorted

  •  

    To get only Not NUll Values

    Suppose I have a scenario like below:
    Input:
    ======
    Id Col1 Col2
    a 100 Null
    a Null 200
    b 300 Null
    b Null 400

    And I need output as:
    Output:
    =======
    Id Col1 Col2
    a 100 200
    b 300 400

    How to get only Not NUll Values?

    Iffath

    • Dec 13th, 2023

    Use Rollup with key as id and in transform use sum() function. mention fields as nullable in dml"mysql out::rollup(in) = begin out.id :: in.id; out.col1 :: sum(in.col1); out.c...

    Vishnu

    • Dec 12th, 2023

    Does it works on GDE 1.1

  •  

    Scenario

    I have customer details as below,


    cust_card_no item amount

    10001 pen 10
    10001 copy 20
    10001 pen 10
    10001 copy 20
    10001 copy 20

    now my question is to find the distinct count of item per customer and total ammount spend by a customer?

    Shubam Salaria

    • Aug 3rd, 2023

    What does vector_search() func do?

    anjali

    • Sep 14th, 2020

    Car_no item count amount
    1001 copy 3 60
    1001 pen 2 20
    is it the desired output ?

  •  

    Over vs Runs -- same sequence number for each group

    I am having input column as runs with values
    3
    2
    4
    6
    0
    1
    0
    3
    2
    6
    0
    0
    4
    1
    1
    2
    3

    In output I want over number on Over column and corresponding runs on Runs column
    Expected o/p is:-
    Over Runs
    1 2
    1 4
    1 6
    1 3
    1 0
    1 1
    2 0
    2 3

    Ahmad Ali Quraishi

    • Jan 6th, 2024

    Reformat:

    let int over=0;
    out :: reformat(in)
    begin
    if(next_in_sequence()%6==1)over=over+1;
    out.over :: over;
    our.run :: in.run;
    end;

    Anurag

    • Nov 22nd, 2022

    Let decimal(2) over=0;
    out::reformat(in)=
    begin
    if (((next_in_sequence()-1)%6)==0)over=over+1;
    out.over :: over;
    out.run::in.rec;
    end;

  •  

    Format Output with Line Breaks

    I have input like 1,2,3-7,8,9 How to generate output like below
    1
    2
    3
    4
    5
    6
    7
    8
    9

    Ahmad Ali Quraishi

    • Jan 6th, 2024

    Normalize: out::length_of(in) begin let decimal("")[int] vec = allocate_with_default(); vec = if(string_index(in.id,"-")>0) string_split(in.id,"-") else vector_append(vec,in.id); out :: if(leng...

    Neelima

    • Aug 25th, 2022

    out :: reformat(in) = begin let int i = 0; let string("")[]dv = string_split(string_replace(in.line,"-",","),","); let int count=length_of(dv); let string("...

  •  

    Wat is the difference between rollup and scan?

    veer

    • Jul 17th, 2023

    Rollup Summarizes data by grouping records and applying an aggregate function to each group. The finalize transform function is applied to a group of records to produce an output record. The number...

  •  

    Pulling out the records which are same in two records

    I have two files and I want to compare those two records ,after comparing I want to pull out the records which are same in both records and I want the new record from the unmatched records

    record format is like this:

    decimal(3) CUST_ID;
    string(6) CUST_NAME;
    string("
    ") ADDRESS;


    same for two files;

    and...

    Ahmad Ali Quraishi

    • Jan 6th, 2024

    1.Use one file as lookup file and another as input file.
    2. Use Filter by expression component and we can use !lookup_match("Lookup1",cust_id") in FBE

    Anand Kishore

    • Oct 7th, 2022

    Keep a file as lookup.
    Use the syntax as lookup_match to get matching file and the rejected records are non matching record

  •  

    Compare records using scan

    I have 3 records . need to compare them fields by fields if there is no change oldest records must go to o/p else if there is change eg if record 2 has changed wrt to record 1 need to send both records to o/p . how to do this using scan component

  •  

    Fetch Next Record Data

    How can we fetch next record data for a particular field in ab initio?
    i/p
    id sal
    101 500
    102 800
    103 900
    105 200
    o/p
    id sal Next_sal
    101 500 800
    102 800 900
    103 900 200
    105 200 NULL

    Ahmad Ali Quraishi

    • Aug 12th, 2024

    Step 1: Do the rollup on {} key out.id :: accumulation (in.id) out.amt :; accumulation(in.amt) Step 2: Do the normalization Length function Out :: length_of(in.amt) N...

    Nishad P

    • Feb 25th, 2024

    use below flow, i/p -> reformat -> rollup -> normalize -> o/p reformat: add one more column with constant value out.id :: 1; out.* ::in.*; rollup : group the data based on column id created i...

  •  

    How to convert single row to two columns

    Hi,
    I have a data like 1,a,b,c,2,d,e,f,g
    required output is in two fields:
    field1,field2
    -----------------
    1,a
    1,b
    1,c
    2,d
    2,e
    2,f

    Yash Chaudhari

    • Jan 15th, 2025

    Use only 2 components IP ---> REFORMAT ----> FBE ----> OP in reformat transform: /*Reformat operation*/ let string("") f_num = "0"; out::reformat(in)= begin if(string_is_numeric(in.str)) f_...

    Ravishek

    • Feb 3rd, 2024

    Hi Aditya , can you provide actual answer of it?

  •  

    How to achieve the below scenario in abinitio

    Input file has below contents:
    Ball Run
    1 1
    2 1
    3 1
    4 1
    5 1
    6 1
    1 0
    2 1
    3 1
    4 1
    5 1
    6 1
    1 1
    2 1
    3 1
    4 1
    5 1
    6 0

    Required Output :
    1 6
    2 5
    3 5

    UNKNOWN User

    • Oct 23rd, 2024

    Use rollup with key change function
    (in1.ball==6 && in2.ball==1)
    This will cover if the 6th ball is a extra ball

    Shubham Kandpal

    • Jun 22nd, 2024

    Use key change and rollup , this code is 100% working

    Code
    1.  

  •  

    Eliminating Header and Trailor without using next in sequence and Dedup sort

    I have header and trailer records to some body records like below
    emp.dat|12042016
    1/A/1000
    2/B/2000
    3/C/3000
    3
    Here there is no record indicator.
    How will you eliminate and separate header and trailer records without using Next In Sequence, Dedup sorted and any Partition components?

    Vicky Gupta

    • Dec 6th, 2024

    Input File-> Filter by Expression -> Output File

    select expr = not (string_index(id,|)>0 or string_is_numeric(id))

    Somasekhar Ganta

    • Aug 8th, 2024

    You dont need so many components to achieve this write input dml as one column like below record string(" ") data; end; and Just connect Reformat and give count parameter to 3 for 3 out ports and...

Showing Questions 381 - 394 of 394 Questions
First | Prev | Next | Last Page
Sort by: 
 | 
Jump to Page: