Wednesday, January 20, 2016

Informatica PC Repository Query - Get Session Run statistics

Below query returns session run statistics with rows processed by sources/targets of a session. It supports multiple sources/targets.
(tested on Informatica 9.5 repository setup on Oracle)

SELECT distinct
a.workflow_run_id
,d.workflow_name
,e.instance_name as session_name
,case when widget_type = 2 then 'Target'
  when widget_type = 3 then 'Source'
end as Instance_Type
,a.instance_name
,a.applied_rows
,a.rejected_rows
,a.start_time
,a.end_time
FROM
opb_swidginst_log a,
opb_mapping b,
opb_session c,
opb_wflow_run d,
opb_task_inst e
WHERE
b.mapping_id = c.mapping_id
and c.session_id = e.task_id
and a.task_instance_id = e.instance_id
and a.workflow_run_id = d.workflow_run_id
and a.widget_type in (2,3)
and d.workflow_name = 'wf_XXXXX'
and e.instance_name = 's_XXXXX'
--and a.workflow_run_id = 'wf_Run_ID_XXXXX';

Informatica PC Repository Query - Search Expressions

In below query, you can modify filters as needed to search the expressions in a mapping/project.
(tested on Informatica 9.5 repository setup on Oracle)

SELECT
a.subject_area
,a.mapping_name
,d.instance_name as Expression_Name
,c.field_name
,c.expression as Expression_Value
FROM
REP_ALL_MAPPINGS a
INNER JOIN (select distinct mapping_id, widget_id, instance_id, instance_name from OPB_SWIDGET_INST) b
ON
a.mapping_id = b.mapping_id
INNER JOIN REP_WIDGET_FIELD c
ON
b.widget_id = c.widget_id
INNER JOIN REP_WIDGET_INST d
ON
  b.widget_id = d.widget_id
WHERE
a.subject_area = 'f_XXXXX'
AND a.mapping_name = 'm_XXXXX'
AND d.widget_type = 5
AND c.expression like '%TRIM%'
--AND b.instance_name in ('exp_XXXXX')
--AND c.field_name in ('exp_field_XXXXX')
order by a.subject_area, a.mapping_name, d.instance_name

Informatica PC Repository Query - Get Joiner Type

Below query returns joiner type of all joiner transformations used in a project folder.
(tested on Informatica 9.5 repository setup on Oracle)

select distinct
a.mapping_name
,b.instance_name as Joiner_Name
,case c.ATTR_VALUE
 when '1' then 'Normal Join'
 when '2' then 'Master Outer Join'
 when '3' then 'Detail Outer Join'
 when '4' then 'Full Outer Join'
 else c.attr_value
end as Join_Type
FROM
REP_ALL_MAPPINGS a
INNER JOIN (select distinct mapping_id, widget_id, INSTANCE_ID, instance_name from OPB_SWIDGET_INST) b
ON
a.mapping_id = b.mapping_id
INNER JOIN OPB_WIDGET_ATTR c
ON
  b.widget_id = c.WIDGET_ID
INNER JOIN OPB_WIDGET d
ON
  b.widget_id = d.widget_id
WHERE
 a.SUBJECT_AREA = 'f_XXXXX'
 AND c.WIDGET_TYPE = 12
 AND c.ATTR_ID = 4
 AND d.IS_VISIBLE = 1
order by a.mapping_name, b.instance_name;