CREATE OR REPLACE VIEW public.vw_bi_dim_conformed_reference AS SELECT pc."strTradeId" AS "strConformedReferenceId", pc."Contract Ref" AS "Conformed Trade Ref", 'Purchase'::text AS "Trade Type", pc."Price Fixing Status", pc."Bassin", pc."Book", pc."Supplier Country" AS "Counterparty Country" FROM vw_bi_dim_purchase_physical_contract pc WHERE ((1 = 1) AND (pc."intPurchaseLineId" > 0)) UNION ALL SELECT sc."strTradeLineId" AS "strConformedReferenceId", sc."Contract Ref" AS "Conformed Trade Ref", 'Sale'::text AS "Trade Type", sc."Price Fixing Status", sc."Bassin", sc."Book", sc."Customer Country" AS "Counterparty Country" FROM vw_bi_dim_sale_physical_contract sc WHERE ((1 = 1) AND (sc."intSaleLineId" > 0)) UNION ALL SELECT DISTINCT ((s."intPurchaseLineId" || '_'::text) || s."intSaleLineId") AS "strConformedReferenceId", CASE WHEN ((pc."Contract Ref")::text <> (sc."Contract Ref")::text) THEN ((((pc."Contract Ref")::text || ' / '::text) || (sc."Contract Ref")::text))::character varying ELSE pc."Contract Ref" END AS "Conformed Trade Ref", 'Shipped'::text AS "Trade Type", CASE WHEN ((pc."Price Fixing Status" = sc."Price Fixing Status") AND (pc."Price Fixing Status" = 'Fixed'::text)) THEN 'Fixed'::text WHEN ((pc."Price Fixing Status" = sc."Price Fixing Status") AND (pc."Price Fixing Status" = 'Unfixed'::text)) THEN 'Unfixed'::text ELSE 'Partially Fixed'::text END AS "Price Fixing Status", pc."Bassin", pc."Book", sc."Customer Country" AS "Counterparty Country" FROM ((vw_bi_itsa_fct_shipments s JOIN vw_bi_dim_purchase_physical_contract pc ON ((s."intPurchaseLineId" = pc."intPurchaseLineId"))) JOIN vw_bi_dim_sale_physical_contract sc ON ((s."intSaleLineId" = sc."intSaleLineId"))) WHERE (1 = 1);;