So I need to transition a query from SQL to R and it just so happens that there are limited functions that can be available in R i think.
SQL:
if object_id ('tempdb..#ProductCodingChanges') is not null drop table #ProductCodingChanges
SELECT p.ProdID as ID, p.ReverseSupplier as Supplier, p.ReverseProductCode as Code, p.Description, p.ReverseNDFProd AS [From NDFProd], p.ReverseNDFPack AS [From NDFPack], p.ReverseQuantityFactor AS [From QtyFct], l.description AS [From Description], p.EditNDFProd AS [To NDFProd], p.EditNDFPack AS [To NDFPack], p.EditQtyFct AS [To QtyFct], l1.description AS [To Description], cast(p.TotalEditUnits as varchar(max)) as [Total Edit Units], '$'+cast(p.EditValue as varchar(max)) as [Edit Value], '$'+cast(Cast(IIF(l.ATC LIKE 'W*',0,(p.TotalReversedUnits*l.price*-1))+IIF(l1.atc LIKE 'w*',0,(p.TotalEditUnits*l.price)) as money) as varchar(max)) AS APIdifference, '' AS Checked, p.ProdRecActive as Active
INTO #ProductCodingChanges
FROM (((#ProductCorrection AS p
LEFT JOIN ndf_061.[NDF_061].dbo.NDFLKUPKey AS k ON (p.ReverseNDFPack = k.pack_cd) AND (p.ReverseNDFProd = k.prod_cd))
LEFT JOIN ndf_061.[NDF_061].dbo.NDFLKUP AS l ON k.NDF = l.NDF)
LEFT JOIN ndf_061.[NDF_061].dbo.NDFLKUPKey AS k1 ON (p.EditNDFPack = k1.pack_cd) AND (p.EditNDFProd = k1.prod_cd))
LEFT JOIN ndf_061.[NDF_061].dbo.NDFLKUP AS l1 ON k1.NDF = l1.NDF
ORDER BY Abs(IIF(l.ATC LIKE 'W*',0,(p.TotalReversedUnits*l.price*-1))+IIF(l1.atc LIKE 'w*',0,(p.TotalEditUnits*l.price))) DESC;
R:
ProductCodingChangesT <- sqldf("
SELECT p.ProdID as ID, p.ReverseSupplier as Supplier, p.ReverseProductCode as Code, p.Description, p.ReverseNDFProd AS [From NDFProd], p.ReverseNDFPack AS [From NDFPack], p.ReverseQuantityFactor AS [From QtyFct],
l.Description AS [From Description],
p.EditNDFProd AS [To NDFProd], p.EditNDFPack AS [To NDFPack], p.EditQtyFct AS [To QtyFct],
l1.Description AS [To Description], max(cast(p.TotalEditUnits as varchar)) as [Total Edit Units],
'$'+max(cast(p.EditValue as varchar)) as [Edit Value],
'$'+max(cast(Cast(IIF(l.ATC LIKE 'W*',0,(p.TotalReversedUnits*l.Price*-1))+IIF(l1.ATC LIKE 'w*',0,(p.TotalEditUnits*l.Price)) as money) as varchar)) AS APIdifference,
'' AS Checked,
p.ProdRecActive as Active
FROM (((ProductCorrectionT AS p
LEFT JOIN NDFLKUPTKeyT AS k ON (p.ReverseNDFPack = k.pack_cd) AND (p.ReverseNDFProd = k.prod_cd))
LEFT JOIN NDFLKUPT AS l ON k.NDF = l.NDF)
LEFT JOIN NDFLKUPTKeyT AS k1 ON (p.EditNDFPack = k1.pack_cd) AND (p.EditNDFProd = k1.prod_cd))
LEFT JOIN NDFLKUPT AS l1 ON k1.NDF = l1.NDF
ORDER BY Abs(IIF(l.ATC LIKE 'W*',0,(p.TotalReversedUnits*l.Price*-1))+IIF(l1.ATC LIKE 'w*',0,(p.TotalEditUnits*l.Price))) DESC;")
An error appeared saying that there is no function for IIF. I was told to just manipulate it.