Hitachi Vantara Pentaho Community Forums
Results 1 to 9 of 9

Thread: Add fields in a transformation

  1. #1
    Join Date
    Feb 2011
    Posts
    240

    Default Add fields in a transformation

    Hi,

    I've this table:

    SELECT
    CARTELLA
    , ANNO
    , CONTATORE
    , COGNOME_NOME
    , DATA_NASCITA
    , ETA
    , SESSO
    , COD_COMUNE_NASCITA
    , COMUNE_NASCITA
    , COD_CITTADINANZA
    , CITTADINANZA
    , UE_EXTRAUE
    , CODICE_SANITARIO
    , CODICE_FISCALE
    , CODICE_USL
    , DATA_APERTURA
    , DATA_CHIUSURA
    , MOTIVO_CHIUSURA
    , COD_COMUNE_RES
    , COMUNE_RES
    , INDIRIZZO_RES
    , AREADIS_RES
    , COD_COMUNE_DOM
    , COMUNE_DOM
    , INDIRIZZO_DOM
    , AREADIS_DOM
    , ZONA
    , DISTRETTO
    , COD_MMG
    , MMG
    , COD_FISC_MMG
    , REGIONE
    , USL_RESIDENZA
    , SOC_DATA_APERTURA
    , SOC_DATA_CHIUSURA
    , SOC_COD_PRESIDIO
    , SOC_PRESIDIO
    , SOC_COD_DISTRETTO
    , SOC_DISTRETTO
    , SOC_ZONA
    , SOC_REFERENTE
    , SOC_TIPO_UTENTE
    , SOC_MOTIVO
    , SOC_SEGNALANTE
    , SOC_PROBLEMA
    , SOC_AREA_INTERV
    , SOC_SETTORE_INTERV
    , ASS_SOLO_SOC
    , SOC_REDDITO_MENSILE
    , SOC_STATO_CIVILE
    , SOC_TITOLO_STUDIO
    , SOC_PROFESSIONE
    , SOC_SCUOLA
    , SOC_PERC_INVALIDITA
    , SOC_ASS_ACCOMP
    , SOC_DATA_INVALIDITA
    , SOC_DATA_NOAUTOSUFF
    , SOC_HANDICAP
    , SOC_TIPO_HANDICAP
    , SOC_ASS_TERAP
    , SOC_ESENZ_TICKET
    , SOC_FIGUCOLL
    , SOC_BADANTE
    , SOC_ASSFAM
    , SOC_AUTOSUFFICIENTE
    , COD_GRUPPO_DIAGNOSI_1
    , COD_GRUPPO_DIAGNOSI_2
    , COD_GRUPPO_DIAGNOSI_3
    , COD_GRUPPO_DIAGNOSI_4
    , COD_GRUPPO_DIAGNOSI_5
    , COD_GRUPPO_DIAGNOSI_6
    , COD_DIAGNOSI_1
    , COD_DIAGNOSI_2
    , COD_DIAGNOSI_3
    , COD_DIAGNOSI_4
    , COD_DIAGNOSI_5
    , COD_DIAGNOSI_6
    , DES_GRUPPO_DIAGNOSI_1
    , DES_GRUPPO_DIAGNOSI_2
    , DES_GRUPPO_DIAGNOSI_3
    , DES_GRUPPO_DIAGNOSI_4
    , DES_GRUPPO_DIAGNOSI_5
    , DES_GRUPPO_DIAGNOSI_6
    , DES_DIAGNOSI_1
    , DES_DIAGNOSI_2
    , DES_DIAGNOSI_3
    , DES_DIAGNOSI_4
    , DES_DIAGNOSI_5
    , DES_DIAGNOSI_6
    , SOC_SITUAZ_ABITATIVA
    , SOC_CONDIZ_ABITATIVA


    FROM DATAFINDER.KXDF_SOC

    I run this script:

    IF valutazione_adi = 0
    THEN
    --- LETTURA TABELLA SKUVT
    ---
    update sins_soc set ( adi_sn,
    adi_livello,
    adi_data_valutazione,
    adi_data_fine) =
    (select sku_adi,
    tab_descrizione,
    sku_data,
    sku_data_fine
    from sins.skuvt, sins.tab_voci
    where sins_soc.cartella = skuvt.n_cartella
    and sku_data =
    (select max(sku_data) from sins.skuvt a
    where sins_soc.cartella = a.n_cartella
    and a.sku_data <= to_date('31-12-'||
    to_char(anno_elab), 'DD-MM-YYYY')
    and (a.sku_data >= to_date('01-01-'||
    to_char(anno_elab), 'DD-MM-YYYY'))
    and a.sku_livello =
    (select max(b.sku_livello) from sins.skuvt b
    where sins_soc.cartella = b.n_cartella
    and b.sku_adi = 'S'
    and b.sku_data <= to_date('31-12-'||
    to_char(anno_elab), 'DD-MM-YYYY')
    and (b.sku_data >= to_date('01-01-'||
    to_char(anno_elab), 'DD-MM-YYYY'))
    )
    )
    and ('ADILIV' = tab_voci.tab_cod (+)
    and sku_livello = tab_voci.tab_val (+)))
    where anno=anno_elab;
    ELSE
    ------------------------------------------------------------------
    --- ATTRIBUZIONE ADI DA PROGETTO ( per Veneto)
    ---
    update sins_soc set ( adi_sn,
    adi_profilo_org,
    adi_livello,
    adi_data_valutazione,
    adi_data_fine) =
    (select decode(pr_livassistenz, 1,'S', 2,'S', 3,'S', 4,'S',
    5,'S', 6,'S', 7,'S', 8,'S',
    9,'S', 10,'S', 15,'S', 'N'),
    adi_profili.descr_profilo,
    tab_descrizione,
    pr_data_valutaz,
    pr_data_chiusura
    from sins.progetto, sins.tab_voci, sins.adi_profili
    where sins_soc.cartella = progetto.n_cartella
    and pr_data =
    (select max(pr_data) from sins.progetto a
    where sins_soc.cartella = a.n_cartella
    and a.pr_data <= to_date('31-12-'||
    to_char(anno_elab), 'DD-MM-YYYY')
    and (a.pr_data >= to_date('01-01-'||
    to_char(anno_elab), 'DD-MM-YYYY')))
    and (pr_livassistenz = adi_profili.codice_flussi (+) )
    and ('ADILIV' = tab_voci.tab_cod (+)
    and pr_intensita_ad = tab_voci.tab_val (+)))
    where anno=anno_elab;
    END IF;


    Where "valutazione_adi" is the result of this query:

    SELECT nvl(conf_num,0)
    FROM CONF
    WHERE conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'

    Can you give me some advice on how to proceed?

    thanks

    Mariarita

  2. #2
    Join Date
    Dec 2009
    Posts
    609

    Default

    Hi,

    you could use the "Database lookup" Step to add new columns to your data stream (here you would have to add two "lookup-columns": the columns DF_SINS and VALUTAZIONE_ADI and choose "conf_num" as field to be returned)
    Then you can proceed with "Filter rows" or any other step

    Cheers,

    Tom

  3. #3
    Join Date
    Feb 2011
    Posts
    240

    Default

    I thought to this transformation:

    1)table input, where sql is:

    SELECT nvl(conf_num,0) as "valutazione_adi"


    FROM DATAFINDER.CONF
    WHERE conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'

    2)Filter rows: valutazione_adi = 0

    but then I dont'n know how to add or this fileds:
    sku_adi as "adi_sn"
    , tab_descrizione as "adi_livello"
    , sku_data as "adi_data_valutazione"
    ,sku_data_fine as "adi_data_fine"

    or this fields:

    decode(pr_livassistenz, 1,'S', 2,'S', 3,'S', 4,'S',
    5,'S', 6,'S', 7,'S', 8,'S',
    9,'S', 10,'S', 15,'S', 'N') as "adi_sn"
    , adi_profili.descr_profilo as "adi_profilo_org"
    , tab_descrizione as "adi_livello"
    , pr_data_valutaz as "adi_data_valutazione"
    , pr_data_chiusura as "adi_data_fine"

    into the table sins_soc

  4. #4
    Join Date
    Apr 2008
    Posts
    1,771

    Default

    Hi Mariarita.

    In your PDI you should get all the data from Input steps and then combine/change/merge them.

    Are all those fields from same table or different tables?
    Are those fields needed to update another table?

    It seems to me that you keep confusing and mixing PDI and ORACLE.
    As I have written before, I think that it would be useful if you contact a Pentaho consultant to get some help and once you have understood how PDI/Oracle work then you do your own transformations/jobs.

    Mick

  5. #5
    Join Date
    Feb 2011
    Posts
    240

    Default

    ok,

    then I can create two transformations:

    1)table input1->filter rows->select rows->insert/update
    2)table input2->filter rows->select rows->insert/update

    where table input1 is:
    SELECT
    CARTELLA
    , ANNO
    , CONTATORE
    , COGNOME_NOME
    , DATA_NASCITA
    , ETA
    , SESSO
    , COD_COMUNE_NASCITA
    , COMUNE_NASCITA
    , COD_CITTADINANZA
    , CITTADINANZA
    , UE_EXTRAUE
    , CODICE_SANITARIO
    , CODICE_FISCALE
    , CODICE_USL
    , DATA_APERTURA
    , DATA_CHIUSURA
    , MOTIVO_CHIUSURA
    , COD_COMUNE_RES
    , COMUNE_RES
    , INDIRIZZO_RES
    , AREADIS_RES
    , COD_COMUNE_DOM
    , COMUNE_DOM
    , INDIRIZZO_DOM
    , AREADIS_DOM
    , ZONA
    , DISTRETTO
    , COD_MMG
    , MMG
    , COD_FISC_MMG
    , REGIONE
    , USL_RESIDENZA
    , SOC_DATA_APERTURA
    , SOC_DATA_CHIUSURA
    , SOC_COD_PRESIDIO
    , SOC_PRESIDIO
    , SOC_COD_DISTRETTO
    , SOC_DISTRETTO
    , SOC_ZONA
    , SOC_REFERENTE
    , SOC_TIPO_UTENTE
    , SOC_MOTIVO
    , SOC_SEGNALANTE
    , SOC_PROBLEMA
    , SOC_AREA_INTERV
    , SOC_SETTORE_INTERV
    , ASS_SOLO_SOC
    , SOC_REDDITO_MENSILE
    , SOC_STATO_CIVILE
    , SOC_TITOLO_STUDIO
    , SOC_PROFESSIONE
    , SOC_SCUOLA
    , SOC_PERC_INVALIDITA
    , SOC_ASS_ACCOMP
    , SOC_DATA_INVALIDITA
    , SOC_AUTOSUFFICIENTE
    , SOC_DATA_NOAUTOSUFF
    , SOC_HANDICAP
    , SOC_TIPO_HANDICAP
    , SOC_ASS_TERAP
    , SOC_ESENZ_TICKET
    , SOC_FIGUCOLL
    , SOC_BADANTE
    , SOC_ASSFAM
    , COD_GRUPPO_DIAGNOSI_1
    , COD_GRUPPO_DIAGNOSI_2
    , COD_GRUPPO_DIAGNOSI_3
    , COD_GRUPPO_DIAGNOSI_4
    , COD_GRUPPO_DIAGNOSI_5
    , COD_GRUPPO_DIAGNOSI_6
    , COD_DIAGNOSI_1
    , COD_DIAGNOSI_2
    , COD_DIAGNOSI_3
    , COD_DIAGNOSI_4
    , COD_DIAGNOSI_5
    , COD_DIAGNOSI_6
    , DES_GRUPPO_DIAGNOSI_1
    , DES_GRUPPO_DIAGNOSI_2
    , DES_GRUPPO_DIAGNOSI_3
    , DES_GRUPPO_DIAGNOSI_4
    , DES_GRUPPO_DIAGNOSI_5
    , DES_GRUPPO_DIAGNOSI_6
    , DES_DIAGNOSI_1
    , DES_DIAGNOSI_2
    , DES_DIAGNOSI_3
    , DES_DIAGNOSI_4
    , DES_DIAGNOSI_5
    , DES_DIAGNOSI_6
    , SOC_SITUAZ_ABITATIVA
    , SOC_CONDIZ_ABITATIVA
    , sku_adi as "adi_sn"
    , tab_descrizione as "adi_livello"
    , sku_data as "adi_data_valutazione"
    ,sku_data_fine as "adi_data_fine"
    , nvl(conf_num,0) AS "VALUTAZIONE_ADI"

    FROM DATAFINDER.KXDF_SOC, sinsnt_test.skuvt, sinsnt_test.tab_voci, DATAFINDER.CONF


    where kxdf_soc.cartella = skuvt.n_cartella
    and sku_data =
    (select max(sku_data) from sinsnt_test.skuvt a
    where kxdf_soc.cartella = a.n_cartella
    and a.sku_data <= to_date('31-12-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')
    and (a.sku_data >= to_date('01-01-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY'))
    and a.sku_livello =
    (select max(b.sku_livello) from sinsnt_test.skuvt b
    where kxdf_soc.cartella = b.n_cartella
    and b.sku_adi = 'S'
    and b.sku_data <= to_date('31-12-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')
    and (b.sku_data >= to_date('01-01-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY'))
    )
    )
    and ('ADILIV' = tab_voci.tab_cod
    and sku_livello = tab_voci.tab_val)
    and conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'

    and table input2 is:

    SELECT
    CARTELLA
    , ANNO
    , CONTATORE
    , COGNOME_NOME
    , DATA_NASCITA
    , ETA
    , SESSO
    , COD_COMUNE_NASCITA
    , COMUNE_NASCITA
    , COD_CITTADINANZA
    , CITTADINANZA
    , UE_EXTRAUE
    , CODICE_SANITARIO
    , CODICE_FISCALE
    , CODICE_USL
    , DATA_APERTURA
    , DATA_CHIUSURA
    , MOTIVO_CHIUSURA
    , COD_COMUNE_RES
    , COMUNE_RES
    , INDIRIZZO_RES
    , AREADIS_RES
    , COD_COMUNE_DOM
    , COMUNE_DOM
    , INDIRIZZO_DOM
    , AREADIS_DOM
    , ZONA
    , DISTRETTO
    , COD_MMG
    , MMG
    , COD_FISC_MMG
    , REGIONE
    , USL_RESIDENZA
    , SOC_DATA_APERTURA
    , SOC_DATA_CHIUSURA
    , SOC_COD_PRESIDIO
    , SOC_PRESIDIO
    , SOC_COD_DISTRETTO
    , SOC_DISTRETTO
    , SOC_ZONA
    , SOC_REFERENTE
    , SOC_TIPO_UTENTE
    , SOC_MOTIVO
    , SOC_SEGNALANTE
    , SOC_PROBLEMA
    , SOC_AREA_INTERV
    , SOC_SETTORE_INTERV
    , ASS_SOLO_SOC
    , SOC_REDDITO_MENSILE
    , SOC_STATO_CIVILE
    , SOC_TITOLO_STUDIO
    , SOC_PROFESSIONE
    , SOC_SCUOLA
    , SOC_PERC_INVALIDITA
    , SOC_ASS_ACCOMP
    , SOC_DATA_INVALIDITA
    , SOC_AUTOSUFFICIENTE
    , SOC_DATA_NOAUTOSUFF
    , SOC_HANDICAP
    , SOC_TIPO_HANDICAP
    , SOC_ASS_TERAP
    , SOC_ESENZ_TICKET
    , SOC_FIGUCOLL
    , SOC_BADANTE
    , SOC_ASSFAM
    , COD_GRUPPO_DIAGNOSI_1
    , COD_GRUPPO_DIAGNOSI_2
    , COD_GRUPPO_DIAGNOSI_3
    , COD_GRUPPO_DIAGNOSI_4
    , COD_GRUPPO_DIAGNOSI_5
    , COD_GRUPPO_DIAGNOSI_6
    , COD_DIAGNOSI_1
    , COD_DIAGNOSI_2
    , COD_DIAGNOSI_3
    , COD_DIAGNOSI_4
    , COD_DIAGNOSI_5
    , COD_DIAGNOSI_6
    , DES_GRUPPO_DIAGNOSI_1
    , DES_GRUPPO_DIAGNOSI_2
    , DES_GRUPPO_DIAGNOSI_3
    , DES_GRUPPO_DIAGNOSI_4
    , DES_GRUPPO_DIAGNOSI_5
    , DES_GRUPPO_DIAGNOSI_6
    , DES_DIAGNOSI_1
    , DES_DIAGNOSI_2
    , DES_DIAGNOSI_3
    , DES_DIAGNOSI_4
    , DES_DIAGNOSI_5
    , DES_DIAGNOSI_6
    , SOC_SITUAZ_ABITATIVA
    , SOC_CONDIZ_ABITATIVA
    , decode(pr_livassistenz, 1,'S', 2,'S', 3,'S', 4,'S',
    5,'S', 6,'S', 7,'S', 8,'S',
    9,'S', 10,'S', 15,'S', 'N') as "adi_sn"
    , adi_profili.descr_profilo as "adi_profilo_org"
    , tab_descrizione as "adi_livello"
    , pr_data_valutaz as "adi_data_valutazione"
    , pr_data_chiusura as "adi_data_fine"
    , nvl(conf_num,0) AS "VALUTAZIONE_ADI"

    FROM DATAFINDER.KXDF_SOC, sinsnt_test.progetto, sinsnt_test.tab_voci, sinsnt_test.adi_profili, DATAFINDER.CONF
    where kxdf_soc.cartella = progetto.n_cartella
    and pr_data =
    (select max(pr_data) from sinsnt_test.progetto a
    where kxdf_soc.cartella = a.n_cartella
    and a.pr_data <= to_date('31-12-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')
    and (a.pr_data >= to_date('01-01-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')))
    and (pr_livassistenz = adi_profili.codice_flussi )
    and ('ADILIV' = tab_voci.tab_cod
    and pr_intensita_ad = tab_voci.tab_val )
    and conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'


    is it ok?

  6. #6
    Join Date
    Dec 2009
    Posts
    609

    Default

    Hi again,

    Are you really sure you know what PDI is capable to do or what it should be used for?

    You need to be able to describe your problem precisely so we can assist you in finding a solution. Posting only isolated SQL-statements and asking "What can I do" is not helpful.
    To me it seems like you are trying to move some PL/SQL routines to PDI and I do not see the reason for this as it seems you already have a working solution...

    Cheers,

    Tom

  7. #7
    Join Date
    Feb 2011
    Posts
    240

    Default

    or is there the possibility in a job to run a transformation or another (something like as filter rows)?

  8. #8
    Join Date
    Feb 2011
    Posts
    240

    Default

    I must create a single table, sins_soc, from some existing tables.
    Part of what I've done.

    now I must add these fields: adi_sn, adi_profilo_org,adi_livello, adi_data_valutazione, adi_data_fine

    this fileds are in other tables.

    I must add this fileds following this conditions:

    IF valutazione_adi = 0
    THEN
    --- LETTURA TABELLA SKUVT
    ---
    update sins_soc set ( adi_sn,
    adi_livello,
    adi_data_valutazione,
    adi_data_fine) =
    (select sku_adi,
    tab_descrizione,
    sku_data,
    sku_data_fine
    from sins.skuvt, sins.tab_voci
    where sins_soc.cartella = skuvt.n_cartella
    and sku_data =
    (select max(sku_data) from sins.skuvt a
    where sins_soc.cartella = a.n_cartella
    and a.sku_data <= to_date('31-12-'||
    to_char(anno_elab), 'DD-MM-YYYY')
    and (a.sku_data >= to_date('01-01-'||
    to_char(anno_elab), 'DD-MM-YYYY'))
    and a.sku_livello =
    (select max(b.sku_livello) from sins.skuvt b
    where sins_soc.cartella = b.n_cartella
    and b.sku_adi = 'S'
    and b.sku_data <= to_date('31-12-'||
    to_char(anno_elab), 'DD-MM-YYYY')
    and (b.sku_data >= to_date('01-01-'||
    to_char(anno_elab), 'DD-MM-YYYY'))
    )
    )
    and ('ADILIV' = tab_voci.tab_cod (+)
    and sku_livello = tab_voci.tab_val (+)))
    where anno=anno_elab;
    ELSE
    ------------------------------------------------------------------
    --- ATTRIBUZIONE ADI DA PROGETTO ( per Veneto)
    ---
    update sins_soc set ( adi_sn,
    adi_profilo_org,
    adi_livello,
    adi_data_valutazione,
    adi_data_fine) =
    (select decode(pr_livassistenz, 1,'S', 2,'S', 3,'S', 4,'S',
    5,'S', 6,'S', 7,'S', 8,'S',
    9,'S', 10,'S', 15,'S', 'N'),
    adi_profili.descr_profilo,
    tab_descrizione,
    pr_data_valutaz,
    pr_data_chiusura
    from sins.progetto, sins.tab_voci, sins.adi_profili
    where sins_soc.cartella = progetto.n_cartella
    and pr_data =
    (select max(pr_data) from sins.progetto a
    where sins_soc.cartella = a.n_cartella
    and a.pr_data <= to_date('31-12-'||
    to_char(anno_elab), 'DD-MM-YYYY')
    and (a.pr_data >= to_date('01-01-'||
    to_char(anno_elab), 'DD-MM-YYYY')))
    and (pr_livassistenz = adi_profili.codice_flussi (+) )
    and ('ADILIV' = tab_voci.tab_cod (+)
    and pr_intensita_ad = tab_voci.tab_val (+)))
    where anno=anno_elab;
    END IF;


    where "valutazione_adi" is the result of this query:
    SELECT nvl(conf_num,0)
    FROM CONF
    WHERE conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'

  9. #9
    Join Date
    Feb 2011
    Posts
    240

    Default

    I think to create these two transformation:

    1) Table input ->Filter rows ->(true) get system info->calculator -> filter rows->(true)select values->insert/update

    Table input is:

    SELECT
    CARTELLA
    , ANNO
    , CONTATORE
    , COGNOME_NOME
    , DATA_NASCITA
    , ETA
    , SESSO
    , COD_COMUNE_NASCITA
    , COMUNE_NASCITA
    , COD_CITTADINANZA
    , CITTADINANZA
    , UE_EXTRAUE
    , CODICE_SANITARIO
    , CODICE_FISCALE
    , CODICE_USL
    , DATA_APERTURA
    , DATA_CHIUSURA
    , MOTIVO_CHIUSURA
    , COD_COMUNE_RES
    , COMUNE_RES
    , INDIRIZZO_RES
    , AREADIS_RES
    , COD_COMUNE_DOM
    , COMUNE_DOM
    , INDIRIZZO_DOM
    , AREADIS_DOM
    , ZONA
    , DISTRETTO
    , COD_MMG
    , MMG
    , COD_FISC_MMG
    , REGIONE
    , USL_RESIDENZA
    , SOC_DATA_APERTURA
    , SOC_DATA_CHIUSURA
    , SOC_COD_PRESIDIO
    , SOC_PRESIDIO
    , SOC_COD_DISTRETTO
    , SOC_DISTRETTO
    , SOC_ZONA
    , SOC_REFERENTE
    , SOC_TIPO_UTENTE
    , SOC_MOTIVO
    , SOC_SEGNALANTE
    , SOC_PROBLEMA
    , SOC_AREA_INTERV
    , SOC_SETTORE_INTERV
    , ASS_SOLO_SOC
    , SOC_REDDITO_MENSILE
    , SOC_STATO_CIVILE
    , SOC_TITOLO_STUDIO
    , SOC_PROFESSIONE
    , SOC_SCUOLA
    , SOC_PERC_INVALIDITA
    , SOC_ASS_ACCOMP
    , SOC_DATA_INVALIDITA
    , SOC_AUTOSUFFICIENTE
    , SOC_DATA_NOAUTOSUFF
    , SOC_HANDICAP
    , SOC_TIPO_HANDICAP
    , SOC_ASS_TERAP
    , SOC_ESENZ_TICKET
    , SOC_FIGUCOLL
    , SOC_BADANTE
    , SOC_ASSFAM
    , COD_GRUPPO_DIAGNOSI_1
    , COD_GRUPPO_DIAGNOSI_2
    , COD_GRUPPO_DIAGNOSI_3
    , COD_GRUPPO_DIAGNOSI_4
    , COD_GRUPPO_DIAGNOSI_5
    , COD_GRUPPO_DIAGNOSI_6
    , COD_DIAGNOSI_1
    , COD_DIAGNOSI_2
    , COD_DIAGNOSI_3
    , COD_DIAGNOSI_4
    , COD_DIAGNOSI_5
    , COD_DIAGNOSI_6
    , DES_GRUPPO_DIAGNOSI_1
    , DES_GRUPPO_DIAGNOSI_2
    , DES_GRUPPO_DIAGNOSI_3
    , DES_GRUPPO_DIAGNOSI_4
    , DES_GRUPPO_DIAGNOSI_5
    , DES_GRUPPO_DIAGNOSI_6
    , DES_DIAGNOSI_1
    , DES_DIAGNOSI_2
    , DES_DIAGNOSI_3
    , DES_DIAGNOSI_4
    , DES_DIAGNOSI_5
    , DES_DIAGNOSI_6
    , SOC_SITUAZ_ABITATIVA
    , SOC_CONDIZ_ABITATIVA
    , sku_adi as "adi_sn"
    , tab_descrizione as "adi_livello"
    , sku_data as "adi_data_valutazione"
    ,sku_data_fine as "adi_data_fine"
    , nvl(conf_num,0) AS "VALUTAZIONE_ADI"

    FROM DATAFINDER.KXDF_SOC, sinsnt_test.skuvt, sinsnt_test.tab_voci, DATAFINDER.CONF


    where kxdf_soc.cartella = skuvt.n_cartella
    and sku_data =
    (select max(sku_data) from sinsnt_test.skuvt a
    where kxdf_soc.cartella = a.n_cartella
    and a.sku_data <= to_date('31-12-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')
    and (a.sku_data >= to_date('01-01-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY'))
    and a.sku_livello =
    (select max(b.sku_livello) from sinsnt_test.skuvt b
    where kxdf_soc.cartella = b.n_cartella
    and b.sku_adi = 'S'
    and b.sku_data <= to_date('31-12-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')
    and (b.sku_data >= to_date('01-01-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY'))
    )
    )
    and ('ADILIV' = tab_voci.tab_cod
    and sku_livello = tab_voci.tab_val)
    and conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'

    the first filter rows is: valutazione_adi =0
    get system info and the first calculator to calculate anno_elab (current year)
    the second filter rows is: anno= anno_elab

    2)Table input2 ->Filter rows ->(true) get system info->calculator -> filter rows->(true)select values->insert/update

    table input2 is:

    SELECT
    CARTELLA
    , ANNO
    , CONTATORE
    , COGNOME_NOME
    , DATA_NASCITA
    , ETA
    , SESSO
    , COD_COMUNE_NASCITA
    , COMUNE_NASCITA
    , COD_CITTADINANZA
    , CITTADINANZA
    , UE_EXTRAUE
    , CODICE_SANITARIO
    , CODICE_FISCALE
    , CODICE_USL
    , DATA_APERTURA
    , DATA_CHIUSURA
    , MOTIVO_CHIUSURA
    , COD_COMUNE_RES
    , COMUNE_RES
    , INDIRIZZO_RES
    , AREADIS_RES
    , COD_COMUNE_DOM
    , COMUNE_DOM
    , INDIRIZZO_DOM
    , AREADIS_DOM
    , ZONA
    , DISTRETTO
    , COD_MMG
    , MMG
    , COD_FISC_MMG
    , REGIONE
    , USL_RESIDENZA
    , SOC_DATA_APERTURA
    , SOC_DATA_CHIUSURA
    , SOC_COD_PRESIDIO
    , SOC_PRESIDIO
    , SOC_COD_DISTRETTO
    , SOC_DISTRETTO
    , SOC_ZONA
    , SOC_REFERENTE
    , SOC_TIPO_UTENTE
    , SOC_MOTIVO
    , SOC_SEGNALANTE
    , SOC_PROBLEMA
    , SOC_AREA_INTERV
    , SOC_SETTORE_INTERV
    , ASS_SOLO_SOC
    , SOC_REDDITO_MENSILE
    , SOC_STATO_CIVILE
    , SOC_TITOLO_STUDIO
    , SOC_PROFESSIONE
    , SOC_SCUOLA
    , SOC_PERC_INVALIDITA
    , SOC_ASS_ACCOMP
    , SOC_DATA_INVALIDITA
    , SOC_AUTOSUFFICIENTE
    , SOC_DATA_NOAUTOSUFF
    , SOC_HANDICAP
    , SOC_TIPO_HANDICAP
    , SOC_ASS_TERAP
    , SOC_ESENZ_TICKET
    , SOC_FIGUCOLL
    , SOC_BADANTE
    , SOC_ASSFAM
    , COD_GRUPPO_DIAGNOSI_1
    , COD_GRUPPO_DIAGNOSI_2
    , COD_GRUPPO_DIAGNOSI_3
    , COD_GRUPPO_DIAGNOSI_4
    , COD_GRUPPO_DIAGNOSI_5
    , COD_GRUPPO_DIAGNOSI_6
    , COD_DIAGNOSI_1
    , COD_DIAGNOSI_2
    , COD_DIAGNOSI_3
    , COD_DIAGNOSI_4
    , COD_DIAGNOSI_5
    , COD_DIAGNOSI_6
    , DES_GRUPPO_DIAGNOSI_1
    , DES_GRUPPO_DIAGNOSI_2
    , DES_GRUPPO_DIAGNOSI_3
    , DES_GRUPPO_DIAGNOSI_4
    , DES_GRUPPO_DIAGNOSI_5
    , DES_GRUPPO_DIAGNOSI_6
    , DES_DIAGNOSI_1
    , DES_DIAGNOSI_2
    , DES_DIAGNOSI_3
    , DES_DIAGNOSI_4
    , DES_DIAGNOSI_5
    , DES_DIAGNOSI_6
    , SOC_SITUAZ_ABITATIVA
    , SOC_CONDIZ_ABITATIVA
    , decode(pr_livassistenz, 1,'S', 2,'S', 3,'S', 4,'S',
    5,'S', 6,'S', 7,'S', 8,'S',
    9,'S', 10,'S', 15,'S', 'N') as "adi_sn"
    , adi_profili.descr_profilo as "adi_profilo_org"
    , tab_descrizione as "adi_livello"
    , pr_data_valutaz as "adi_data_valutazione"
    , pr_data_chiusura as "adi_data_fine"
    , nvl(conf_num,0) AS "VALUTAZIONE_ADI"

    FROM DATAFINDER.KXDF_SOC, sinsnt_test.progetto, sinsnt_test.tab_voci, sinsnt_test.adi_profili, DATAFINDER.CONF
    where kxdf_soc.cartella = progetto.n_cartella
    and pr_data =
    (select max(pr_data) from sinsnt_test.progetto a
    where kxdf_soc.cartella = a.n_cartella
    and a.pr_data <= to_date('31-12-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')
    and (a.pr_data >= to_date('01-01-'||
    to_char(to_number(to_char(sysdate, 'YYYY'))), 'DD-MM-YYYY')))
    and (pr_livassistenz = adi_profili.codice_flussi )
    and ('ADILIV' = tab_voci.tab_cod
    and pr_intensita_ad = tab_voci.tab_val )
    and conf_kproc = 'DF_SINS' AND conf_key = 'VALUTAZIONE_ADI'


    the second filter rows is: valutazione_adi <>0

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.