Tab of transaction in the ODI procedure

Hi Experts,

Can anyone help me on what and how exactly the Transaction tab in step ODI procedure? Thank you!

Best regards,
VERIFIED BY VISA

Hello

I take you means the deposit Transaction on a step in the procedure box?

That you can use to isolate operations within the session and commit at the end. For example, if you want to load data from various sources in a table, you can set the Transaction for each step of the procedure on the same value of transaction isolation, with the 'Commit' as 'No commit' and when all data are loaded in the table, having a validation step in your procedure to validate this specific transaction. If for any reason, a step fails, then no data within this transaction will be validated in the database.

Its the same as using SQL Developer and have auto commit turned off. You must manually validate the database if you want to see changes to data in another session, or you can role back your changes within the session if you do not want to commit them.

Take a look at the 'IKM Oracle incremental update' IKM - it uses 1 Transaction on these steps, both have a specified "No. Commit":

"update existing lines"
"Insert new lines."
then has a specific validation step thereafter.

I hope this helps.

See you soon

BOS

Tags: Business Intelligence

Similar Questions

  • Make a request for generic insertion in the ODI procedure

    Hello
    I am writing an ODI procedure to insert into a table my sql is simple:

    Insert into ci_txn_header_k
    Select t.txn_header_id, f.env_id
    of ci_txn_header t, f1_installation f
    where t.bo_status_cd = 'HANGS' and t.txn_header_id not in (select txn_header_id from ci_txn_header_k)

    I want to make this generic query and use the functions of REF ODI in it.can I get the schema name and table using the Odiref functions. If yes then please guide me how

    Hello

    Import all tables referred to in your query in a logic model / models.

    ci_txn_header_k
    ci_txn_header,
    f1_installation f

    Suppose you import the tables into a logic model / schema called "GENERICS".

    Then just reference them using <%=odiRef.getObjectName("L""CI_TXT_HEADER","GENERIC","GLOBAL","D")%>

    IM using the "GLOBAL" context in my example above, replace with your context.

    So, something like:

    Insert in <%=odiRef.getObjectName("L","CI_TXT_HEADER_K","GENERIC","GLOBAL","D")%> k
    Select t.txn_header_id, f.env_id
    Of
    <%=odiRef.getObjectName("L","CI_TXN_HEADER","GENERIC","GLOBAL","D")%> t,
    <%=odiRef.getObjectName("L","F1_INSTALLATION","GENERIC","GLOBAL","D")%> f
    where t.bo_status_cd = 'HANGS' and t.txn_header_id not in (select txn_header_id from <%=odiRef.getObjectName("L","CI_TXN_HEADER","GENERIC","GLOBAL","D")%>)

    Hope this helps, check out the ref of the Substitution of the API for a guide, also worth looking at knowledge Modules and how they accumulate clauses in LKM and IKM steps - you can learn a lot by referencing existing code that is supplied with the product.

    Concerning
    Alastair

  • How to call WSDL in the ODI procedure

    Hi experts,

    Please help me on "how to call the web service in the ODI process."

    Thanks in advance

    Concerning
    Phani

    Hello

    Use the OdiInvokeWebService... Take a look at the options reference manual...

    This help you?

    Cezar Santos
    http://odiexperts.com

  • How to initialize the Java variable within pl/sql block in the ODi procedure

    I have a step in the procedure of odi that using oracle technology.

    I want to initialize the java variable inside that.

    Please help me for this.

    < @ if (odiRef.getOption ("USE_PUBADMIN_PARAM_TABLE").equals("1")) {@ >}

    DENIZ

    EH_FAILURE_MESSAGE_TEXT VARCHAR2 (4000);

    EH_FIXED_VERSION VARCHAR2 (4000);

    EH_ISSUE_TYPE VARCHAR2 (4000);

    EH_PRIORITY VARCHAR2 (4000);

    EH_SUMMARY VARCHAR2 (4000);

    EH_DESCRIPTION VARCHAR2 (4000);

    EH_PROJECT_ID VARCHAR2 (4000);

    EH_COMPONENT VARCHAR2 (4000);

    EH_AFFECTED_VERSION VARCHAR2 (4000);

    EH_CUSTOMPROPXML VARCHAR2 (4000);

    EH_LOG_JIRA VARCHAR2 (4000);

    EH_CONTINUE_ON_ERROR VARCHAR2 (4000);

    EH_SEND_MAIL_NOTIFICATION VARCHAR2 (4000);

    EH_NOTIFICATION_RECIPENTS VARCHAR2 (4000);

    EH_JIRAJARPATH VARCHAR2 (4000);

    BEGIN

    SELECT

    DECODE ('< % = odiRef.getOption ("FAILURE_MESSAGE_TEXT") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_FAILURE_MESSAGE_TEXT'),' < % = odiRef.getOption ("FAILURE_MESSAGE_TEXT") % >") IN EH_FAILURE_MESSAGE_TEXT.

    DECODE ('< % = odiRef.getOption ("FIXED_VERSION") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_FIXED_VERSION'),' < % = odiRef.getOption ("FIXED_VERSION") % >") IN EH_FIXED_VERSION.

    DECODE ('< % = odiRef.getOption ("ISSUE_TYPE") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_ISSUE_TYPE'),' < % = odiRef.getOption ("ISSUE_TYPE") % >") IN EH_ISSUE_TYPE.

    DECODE ('< % = odiRef.getOption ("PRIORITY") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_PRIORITY'),' < % = odiRef.getOption ("PRIORITY") % >") IN EH_PRIORITY.

    DECODE ('< % = odiRef.getOption ("SUMMARY") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_SUMMARY'),' < % = odiRef.getOption ("SUMMARY") % >") IN EH_SUMMARY.

    DECODE ('< % = odiRef.getOption ("DESCRIPTION") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_DESCRIPTION'),' < % = odiRef.getOption ('DESCRIPTION') % >") IN EH_DESCRIPTION.

    DECODE ('< % = odiRef.getOption ("project") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_PROJECT_ID'),' < % = odiRef.getOption ("project") % >") IN EH_PROJECT_ID.

    DECODE ('< % = odiRef.getOption ("ELEMENT") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_COMPONENT'),' < % = odiRef.getOption ('ELEMENT') % >") IN EH_COMPONENT.

    DECODE ('< % = odiRef.getOption ("AFFECTED_VERSION") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_AFFECTED_VERSION'),' < % = odiRef.getOption ("AFFECTED_VERSION") % >") IN EH_AFFECTED_VERSION.

    DECODE ('< % = odiRef.getOption ("CUSTOMPROPXML") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_CUSTOMPROPXML'),' < % = odiRef.getOption ("CUSTOMPROPXML") % >") IN EH_CUSTOMPROPXML.

    DECODE ('< % = odiRef.getOption ("LOG_JIRA") % >', '0', PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_LOG_JIRA'),' < % = odiRef.getOption ("LOG_JIRA") % >") IN EH_LOG_JIRA.

    Decode('%=odiRef.GetOption("CONTINUE_ON_ERROR") % > ', '0', PBA_PARAM_PKG. ("GET_PARAMETER ('EH_CONTINUE_ON_ERROR'),' < % = odiRef.getOption ("CONTINUE_ON_ERROR") % >") IN EH_CONTINUE_ON_ERROR.

    DECODE ('< % = odiRef.getOption ("SEND_MAIL_NOTIFICATION") % >', '0', PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_SEND_MAIL_NOTIFICATION'),' < % = odiRef.getOption ("SEND_MAIL_NOTIFICATION") % >") IN EH_SEND_MAIL_NOTIFICATION.

    DECODE ('< % = odiRef.getOption ("NOTIFICATION_RECIPENTS") % >', NULL, PBA_PARAM_PKG.) ("GET_PARAMETER ('EH_NOTIFICATION_RECIPENTS'),' < % = odiRef.getOption ("NOTIFICATION_RECIPENTS") % >") IN EH_NOTIFICATION_RECIPENTS.

    PBA_PARAM_PKG. GET_PARAMETER ('EH_JIRAJARPATH') IN EH_JIRAJARPATH

    Double;

    / * I want to start as it is below. idon't want to control user source and control target conecpt.

    Please help me to below concept.

    */

    < @.

    String V_EH_FAILURE_MESSAGE_TEXT = EH_FAILURE_MESSAGE_TEXT;

    String V_EH_FIXED_VERSION = EH_FIXED_VERSION;

    String V_EH_ISSUE_TYPE = EH_ISSUE_TYPE;

    String V_EH_PRIORITY = EH_PRIORITY;

    String V_EH_SUMMARY = EH_SUMMARY;

    String V_EH_DESCRIPTION = EH_DESCRIPTION;

    String V_EH_PROJECT_ID = EH_PROJECT_ID;

    String V_EH_COMPONENT = EH_COMPONENT;

    String V_EH_AFFECTED_VERSION = EH_AFFECTED_VERSION;

    String V_EH_CUSTOMPROPXML = EH_CUSTOMPROPXML;

    String V_EH_LOG_JIRA = EH_LOG_JIRA;

    String V_EH_CONTINUE_ON_ERROR = EH_CONTINUE_ON_ERROR;

    String V_EH_SEND_MAIL_NOTIFICATION = EH_SEND_MAIL_NOTIFICATION;

    String V_EH_NOTIFICATION_RECIPENTS = EH_NOTIFICATION_RECIPENTS;

    String V_EH_JIRAJARPATH = EH_JIRAJARPATH;

    @ >

    END;

    {< @} @ >

    I have corrected this problem. No need to search on that.

  • In the mapping of an interface using ODI procedure

    Hello

    Yesterday, I asked question how will you use ODI procedure in the mappings of an interface for complex operations on the fields?

    I don't know if this can be done in ODI.

    Any help on this would be helpful.

    Kind regards

    Mahesh

    Don't forget the basic principle of procedure and function.

    Now coming to your question, first of all to a large no second thing its an impractical and immature question to ask someone to use the ODI procedure in the mappings of an interface for complex operations on the fields. (Or maybe issue was something and you wrote something. Too bad)

    The main reason for the ODI process must allow group of actions that do not fit within the Interface and considered that when something can be achieved with the interface. She's. I always encourage to turn against the interviewer in such circumstances.

    What should have been the question is if we can use the DB procedure in the interface mapping. Answer is that it depends. I can use the phases of analysis to write some java-based codes to call a db procedure. But this isn't for my fields from the source to the complex functioning and codes based on java will be isolated from each other.

    For a complex operation, you use a function that can be called without flaw inside the DML and DQL statements. Inside the function, you can use as many procedure to do the massage/validation/transformation.

    Chantal

  • Pass the value to an ODI procedure

    Hello
    I need to pass the value of a variable ODI ODI procedure.
    Let me tell you what I did:
    (1) first make an ODI procedure and passing the name of the variable of ODI that I spend in the options of the procedures such as #V_Test.
    (2) now, I did the screenplay for this procedure.
    (3) next I used the scenario of the procedure in other ODI package and also added that the variables I have to spend in the procedures.
    (4) but now when I'm passing the values of the variables in this package, procedures is not accept the values.

    Please suggest.

    Thank you

    Select the scenario, and then go to the Properties tab. You will get an additional variable that you want to pass.
    Provide your value of the variable y

  • Module for knowledge loop can be used in the procedure of the ODI

    Hello

    I have a unique requirement where I need to use the procedure for ForLoop ODI.

    Y at - it an option that we can use to create several instructions based on loop For and execute these instructions in particular technologies.

    Below is the code I have tried to create for the MS SQL Server technology in ODI procedure. It gives the select statement several times to condition. But somehow the value of i is not passed to select statement

    < % for (int i = 10001; i < = 10005; i ++)

    {% >}

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = i

    Union

    < %}; % >

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = 000000

    It generates code below:

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = i

    Union

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = i

    Union

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = i

    Union

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = i

    Union

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = i

    Union

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = 000000

    Can you please help me to know how the value of i will impact inside.

    Try this...

    < %="" pour="" (int="" i="10001 ;" j’ai="">< =="" 10005 ;="" i="">

    {% >

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = <%=i%>

    Union

    <% }; %>

    Select * from [DB_SERVER]. [dbo]. [DB_TABLE] where col_1 = 000000

  • How do I inject inside the ODI 11 G PL/SQL (not function procedure)

    Hello Expert,

    would be like double until OWB and ODI OWB 11 G I wich 'The user function' run PL/SQL and it remove some data in the table and the reel journal, is possible that I can do the same thing in ODI, in my case, I can't call function, or a procedure stored outside the ODI. See below the part of the PL/SQL based on user OWB.

    coil MyFile... Journal

    command prompt

    create table MyTable as

    Select a.*

    Of...

    commit;

    command prompt

    spool off;

    "exit";

    Thank you!

    You can run a PL within a procedure, you simply copy paste your PL and place in a procedure inside the ODI.

    I hope this can help you!

  • How to pass Variables from the Source (SQL) to tab target (JavaBin Shell) in ODI knowledge Modules

    Hi all

    My name is Alessandro and I am new to the community.

    I have a problem with the KM stage custom when I try to pass the variable from the source to the target.

    The ODI version tha I use is the 11.1.1.5.0.

    I created a stage KM following the instructions of the metalink document (Doc ID 728636.1).

    But when I insert the value of the variable in a test table, the value in a table is the name of the variable.

    Where I'm wrong?

    I am doing thi.

    (1) create a step in my goal of shell sql source and javabin KM. In the source tab I get the value of a query, and the name "LAST_UPDATE" column.

    In the target tab, I attribute to the variabile jv_last_update the value of the variable #LAST_UPDATE, with the same name in the selection column.

    source_tab.jpgtarget_tab.jpg

    (2) I created a second stage where I insert into a table of the value of the variable jv_last_update (to debug the value of the variable):

    insert_step.jpg

    (3) when I try to see what I have in the table, the value of any line is the name of the variable "#LAST_UPDATE"; ".

    result_table.jpg

    Thanks in advance


    Alessandro

    Hi Alessandro,.

    Interesting... I have not read the Oracle document you sent yet, but one thing I can guarantee you, is that it doesn't. If Oracle says that it should work, maybe it's a bug, or maybe he has changed on new versions of ODI. I am also on ODI 11.1.1.5 and I tried many different ways to pass SQL results to variables of java with all sorts of different labels, but none of them worked for me as well. But I managed to use it in a different way, so please see below if it matches your needs:

    We are just one step. The second is just to show that it worked:

    In the first step, on the source tab, select Oracle and point to the logical schema that you want to run the query:

    On the target, note the following Java BeanShell code with the SQL that you want to run:

    Now your variable must have the correct value of your SQL. To test it, I just write a comment 'Raise' to Jython in the second step:

    The result is 'X' as expected:

    It will be useful.

    Thank you!

  • Procedure of the ODI - Bind Variables in the conditional statements

    In an ODI procedure, is it possible to add a conditional statement around bind variable?  For example, if I use OdiOutFile as the command on the target and Oracle as the command on the Source, I can use bind variables to fill the data in this table (we are in fact using OdiInvokeWebService and passing a XML structure very complex, but it's easier for testing):

    OdiOutFile-FILE = C: / TEST. TXT

    < person >

    < first > #FIRSTNAME < / first >

    < Middle > #MIDDLENAME < / Middle >

    < last > #LASTNAME < / last >

    < / person >

    It is a way to add a conditional statement using one of these bind variables?  For example, if I wanted to test #MIDDLENAME null and null value, produced this portion of XML, such as:

    OdiOutFile-FILE = C: / TEST. TXT

    < person >

    < first > #FIRSTNAME < / first >

    < % if (#MIDDLENAME! = null) {% >}

    < Middle > #MIDDLENAME < / Middle >

    < %} % >

    < last > #LASTNAME < / last >

    < / person >

    This type of scriptlet syntax seems to work fine, as long as the binding variable is not in the mix (if I put "true is true" or "true == false" in the case, it shows or does not show this line in the XML file, as expected).  I use ODI 11.1.1.7.0

    ----------------------

    Post edited by: KevinPratt

    Thanks for the reply!  As suggested, in what follows, I changed the command and it works as you want

    OdiOutFile-FILE = C: / TEST. TXT-APPEND

    < person >

    < first > #FIRSTNAME < / first >

    < @ if (!) (("#MIDDLENAME".equals(""))) {@ >}

    < Middle > #MIDDLENAME < / Middle >

    {< @} @ >

    < last > #LASTNAME < / last >

    < / person >

    Using the syntax <@ ...="" @="">serve your purpose. Also, I think you might want to include the variable binding in the quotation to avoid syntax errors.

  • Dynamics of PL/SQL code in the procedure of the ODI

    Hi guys:

    I have a PL/SQL code to run in an ODI proc that changes because of a loop.

    I have to update the many tables with the same prefix and its sufix is the dynamic part of my PL/SQL. Also, I need to adjust the DT_ETL (I already have a variable in my package with the sysdate) and the limit of a rownum.

    My variables are:

    vGET_CD_BASE*.
    vQTD_REG_UPDATE*.
    vETL_DATE*.

    PL/SQL is described below (with dynamic parts of it as ODI #vXXXXX variables):

    DECLARE
    CURSOR v_Cur IS
    SELECT ROWID KEY_ROW IN GG_DATA. WRK_SN_DET_ITEM_EXTR_PARC_ * #vGET_CD_BASE * WHERE DT_ETL = TO_DATE('01/01/1900','DD/MM/YYYY') and rownum < * #vQTD_REG_UPDATE *;
    TYPE t_Tabela IS TABLE OF ROWID directory INDEX;
    r_Reg t_Tabela;
    BEGIN
    OPEN v_Cur.
    LOOP
    Get the v_Cur COLLECT LOOSE r_Reg LIMIT 100000;
    FORALL i IN 1.r_Reg.COUNT

    UPDATE GG_DATA. WRK_SN_DET_ITEM_EXTR_PARC_ * #vGET_CD_BASE *.
    SET DT_ETL = TO_DATE ('* #vETL_DATE * ',' DD/MM/YYYY HH24:MI:SS')
    WHERE ROWID = r_Reg (i);

    EXIT WHEN v_Cur % NOTFOUND;
    COMMIT;
    END LOOP;
    CLOSE V_Cur;
    COMMIT;
    END;

    What should I change to make it work of PL/SQL in the ODI process?

    Kind regards.
    Luiz Araujo

    Hi Buchu.

    What if you put the name of the table in the variable instead of concatenate in the PL/SQL code.

    This is what I did and seems that worked here.

    (1) create a variable for the name of the table as follows:

    Variable name: var_Table_Dual
    Source code: select 'DOUBLE' double

    (2) create a PRC_VAR_CHANGE procedure

    (3) create a CMD_VAR_CHANGE command

    Command:
    declare vText varchar2 (100): = ";

    Start

    SELECT sysdate in vText #var_DUAL;

    end;

    (4) create a Package for the test.
    First step: Refresh variable
    Second step: call the procedure.

    The result of the operator for the procedure was the following code.
    declare vText varchar2 (100): = ";

    Start

    SELECT sysdate from vText OF #DATA_WAREHOUSE. INC_SYSDATE;

    end;

    Try and let me know.

    Cheers mate!

  • use the stored procedure VARIABLE in an ODI procedure

    Hello

    I have a stored procedure that takes custId as an input parameter and returns the age as output parameter.

    custId is a varaible ODI that we spend during execution.

    I want to insert the age value in a table.

    declare
    cust_age customer_details.age%type;
    Start
    FETCH_CUSTOMER_DATA(#Customer.CustomerID,cust_age);
    end;

    INSERT INTO CUSTOMER_AGE VALUES(#customerid,*cust_age*)

    Thank you.

    Hello

    Just use the insert in an ODI procedure in an anonymous pl/sql block.

    I mean:

    declare

    cust_age customer_details.age%type;

    Start

    FETCH_CUSTOMER_DATA(#Customer.CustomerID,cust_age);

    INSERT INTO CUSTOMER_AGE VALUES(#customerid,*cust_age*);

    end;

    Ok?

    Cezar Santos
    http://odiexperts.com

  • "CONNECT BY" in ODI. Transaction for the entire scenario

    Hello world!

    My task is to migrate configuration-> a chronogram table Table_A Table_B and Table_A Table_C.
    Move the data to the Table_B is easy, but one of the columns in the Table_A composed of string ("Stri1; ST2; Str3") that must be inserted into Table_C as written below:

    Table_C
    Id_PK_TableA Str1
    Id_PK_TableA Str2
    Id_PK_TableA Str3

    In the database, the way to get it would be sql statement with the "connect to." How does in ODI?

    The Table_A are only logged data (CDC), so I can't read it twice. I considered to copy the Table_A in the temporary table, but if I do an exception in the transformation I would not not changed the Table_A CDC data.

    Maybe can I set a transaction for the whole scenario? Is this possible?

    Kind regards
    Marcin

    Hello

    Sure, you can read data from CDC several times... Use compatibility mode and consume the Subscriber after run UI 3 times.

    Make sense?

    Cezar Santos
    [www.odiexperts.com]

  • ODI procedure

    Hello

    I currently still use ODI 10 g.

    I have interfaces and pacakges that works properly.

    And I created a database procedure.

    Name of the procedure: Test_Procedure

    I want run this procedure of ODI, rather than creating a new post in the database. (Run it after my interfaces are executed successfully)

    If possible can you please get me how to approach.

    I tried this approach:

    1 role "Run" for the user of ODI awarded.

    2. in the project that contains interfaces, modules of knowledge etc...

    There is a procedure - law clicked procedure - insert available 2 options, import procedure.

    Then, click on the Insert procedure.

    Opens a window of the new procedure.

    Name: Test Procedure

    Technology source: undefined

    The target technology: Oracle (as my target database is oracle)

    Add details.

    Opens the new window command.

    Name: Test Procedure

    Log count: undefined

    Log level: 5

    Command on the target:

    Tecnology: Oracle, Context: Global, diagram: logical schema of my target, Transaction: autocommit

    commnad: run Test_Procedure;

    Executed. But displays error - Sql statement invalid.

    I would like to know how to proceed.

    Thank you.

    Hi, GRK,.

    The approach is good, you were near. Unfortunately, Execute is not recognized, you must use a PL/SQL block:

    BEGIN
      <%=odiRef.getSchemaName()%>.MY_STORED_PROC;
    END;
    

    GetSchemaName using is to get the physical schema related to the schema logic you choose, during the execution.

    It will be useful.

    Kind regards

    JeromeFr

  • detect the source procedure variables

    Hi guys,.

    Suppose I have a procedure with the oracle of the source, and I give a simple query (SELECT TALK, BLAH TIME)
    and on the target, I would use jython to process the data from the source.

    1. is there a conclusion on the way in which we could get all the variables in the source?
    2 is it possible to get the result from the query result set?

    in the target control, I could send the value of the source query using such #TALK and #TIME setting
    but I just can't understand how the result of the loop and get all the values of ranks


    Thanks in advance


    herl

    Published by: user3918409 on June 29, 2009 03:49

    Hello Heri,

    It's much easier than you can imagine... None... In fact, as I understand it, you already have all necessary.

    In an ODI procedure when a query of the source is used, it creates something as a "slider" which will execute the Code tab target once for each returned row.

    I mean, iif your select return 4 rows, the target code (jhyton as you wish) will be executed 4 times.

    The way to reference from the source variables is "#my_column_from_select" where "my_column_from_select" is the name or alias defined in the source query, and you must refer to each of them.

    This help you?

Maybe you are looking for