combine panels
This commit is contained in:
parent
3f56f04f8b
commit
a649924c86
@ -499,45 +499,38 @@ BEGIN
|
||||
SELECT
|
||||
'Target Calculation' AS label,
|
||||
(
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
CASE WHEN value <> '' THEN RTRIM(SUBSTRING(value,1,18)) ELSE 'No Target' END AS label,
|
||||
----------------------value------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
TRY_CAST(SUBSTRING(value,23,7) AS NUMERIC(20,5))
|
||||
+ CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
|
||||
ELSE 0 END AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'currency' ELSE 'Percent' END
|
||||
ELSE '' END AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'Price' ELSE 'Premium' END
|
||||
ELSE '' END AS note
|
||||
FROM @queue q
|
||||
OUTER APPLY OPENJSON(q.expl, '$.target_math')
|
||||
WITH (value NVARCHAR(MAX) '$')
|
||||
FOR JSON PATH
|
||||
) AS details
|
||||
|
||||
|
||||
UNION ALL
|
||||
|
||||
-- Target Price
|
||||
SELECT
|
||||
'Target Total' AS label,
|
||||
(
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
'Price' AS label,
|
||||
----------------------value------------------------------------------------
|
||||
tprice AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
'currency' AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
'' AS note
|
||||
FROM @queue q
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
CASE WHEN value <> '' THEN RTRIM(SUBSTRING(value,1,18)) ELSE 'No Target' END AS label,
|
||||
----------------------value------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
TRY_CAST(SUBSTRING(value,23,7) AS NUMERIC(20,5))
|
||||
+ CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
|
||||
ELSE 0 END AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'currency' ELSE 'Percent' END
|
||||
ELSE '' END AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 'Price' ELSE 'Premium' END
|
||||
ELSE '' END AS note
|
||||
FROM @queue q
|
||||
OUTER APPLY OPENJSON(q.expl, '$.target_math')
|
||||
WITH (value NVARCHAR(MAX) '$')
|
||||
UNION ALL
|
||||
SELECT
|
||||
----------------------label------------------------------------------------
|
||||
'Price' AS label,
|
||||
----------------------value------------------------------------------------
|
||||
tprice AS value,
|
||||
----------------------type-------------------------------------------------
|
||||
'currency' AS type,
|
||||
----------------------note-------------------------------------------------
|
||||
'Total' AS note
|
||||
FROM @queue q
|
||||
) x
|
||||
FOR JSON PATH
|
||||
) AS details
|
||||
|
||||
|
@ -485,42 +485,40 @@ BEGIN
|
||||
jsonb_build_object(
|
||||
'label', 'Target Calculation',
|
||||
'details',
|
||||
(
|
||||
SELECT
|
||||
jsonb_agg(
|
||||
jsonb_build_object(
|
||||
----------------------label------------------------------------------------
|
||||
'label',CASE WHEN value <> '' THEN RTRIM(SUBSTRING(value,1,18)) ELSE 'No Target' END,
|
||||
----------------------value------------------------------------------------
|
||||
'value',CASE WHEN value <> '' THEN
|
||||
SUBSTRING(value,23,7)::NUMERIC(20,5) +
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
|
||||
ELSE
|
||||
0
|
||||
END,
|
||||
----------------------type-------------------------------------------------
|
||||
'type', CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1)
|
||||
WHEN '+' THEN 'currency'
|
||||
ELSE 'Percent'
|
||||
END
|
||||
ELSE '' END,
|
||||
----------------------note-------------------------------------------------
|
||||
'note',CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1)
|
||||
WHEN '+' THEN 'Price'
|
||||
ELSE 'Premium'
|
||||
END
|
||||
ELSE '' END
|
||||
)
|
||||
)
|
||||
FROM jsonb_array_elements_text(COALESCE(_tmath,'{}'::jsonb)) ae
|
||||
)
|
||||
),
|
||||
jsonb_build_object(
|
||||
'label', 'Target Total',
|
||||
'details',
|
||||
jsonb_build_object('label','Price','value',_tprice,'type','currency','note','')
|
||||
-- jsonb_build_array(
|
||||
(
|
||||
SELECT
|
||||
jsonb_agg(
|
||||
jsonb_build_object(
|
||||
----------------------label------------------------------------------------
|
||||
'label',CASE WHEN value <> '' THEN RTRIM(SUBSTRING(value,1,18)) ELSE 'No Target' END,
|
||||
----------------------value------------------------------------------------
|
||||
'value',CASE WHEN value <> '' THEN
|
||||
SUBSTRING(value,23,7)::NUMERIC(20,5) +
|
||||
CASE SUBSTRING(value,19,1) WHEN '+' THEN 0 ELSE -1 END
|
||||
ELSE
|
||||
0
|
||||
END,
|
||||
----------------------type-------------------------------------------------
|
||||
'type', CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1)
|
||||
WHEN '+' THEN 'currency'
|
||||
ELSE 'Percent'
|
||||
END
|
||||
ELSE '' END,
|
||||
----------------------note-------------------------------------------------
|
||||
'note',CASE WHEN value <> '' THEN
|
||||
CASE SUBSTRING(value,19,1)
|
||||
WHEN '+' THEN 'Price'
|
||||
ELSE 'Premium'
|
||||
END
|
||||
ELSE '' END
|
||||
)
|
||||
)
|
||||
FROM jsonb_array_elements_text(COALESCE(_tmath,'{}'::jsonb)) ae
|
||||
)
|
||||
||jsonb_build_object('label','Price','value',_tprice,'type','currency','note','Total')
|
||||
-- )
|
||||
),
|
||||
------------------------------------------
|
||||
-- history
|
||||
|
Loading…
Reference in New Issue
Block a user