How can I extract grid data to add it to custom tables?
In order to extract grid data to add it to custom tables, you would have to couple it with an actual form export with the grid.
Disclaimer: This information is subject to change
Example of getting individual grid cell values:
--@cashflow is a parameter passing in the grid question json data
--gridCellValues[0] references the first row of the grid
--‘$.”Qtr 1”’ references the column in the row
set @capy1q1=(select * from openjson(@cashflow,’$.gridCellValues[0]’) WITH(vcInvestCapitalY1Q1 varchar(15) ‘$.“Qtr 1”’))
set @capy1q2=(select * from openjson(@cashflow,’$.gridCellValues[0]’) WITH(vcInvestCapitalY1Q2 varchar(15) ‘$.“Qtr 2”’))
set @capy1q3=(select * from openjson(@cashflow,’$.gridCellValues[0]’) WITH(vcInvestCapitalY1Q3 varchar(15) ‘$.“Qtr 3”’))
set @capy1q4=(select * from openjson(@cashflow,’$.gridCellValues[0]’) WITH(vcInvestCapitalY1Q4 varchar(15) ‘$.“Qtr 4”’))
Example of returning all rows in the grid as separate rows in a sql select:
--inserts the grid rows into a custom table as separate rows/records
insert into tblInvestments(unqInstance_GUID,chInvestmentType,vcWBSCategoryCode,vcWBSCategoryName,intSortOrder,vcPercent,vcThisRequest,vcPriorRequests,vcFutureRequests)
select @isid,‘C’,* – ‘*’ is shorthand for the seven column values being extracted
--from the grid data via the OPENJSON call below
from OPENJSON(@invC,’$.gridCellValues’)
WITH(
vcWBSCategoryCode nchar(10) ‘$.“WBSCat”’,
vcWBSCategoryName varchar(50) ‘$.Investment’,
intSortOrder integer ‘$.“Sort Order”’,
vcPercent varchar(8) ‘$.Percent’,
vcThisRequest varchar(15) ‘$.“This Request”’,
vcPriorRequests varchar(15) ‘$.“Prior Requests”’,
vcFutureRequests varchar(15) ‘$.“Future Requests”’)