因此,我试图创建一个查询,可以处理一个json文件,我们从谷歌分析API 4的数据工厂Web请求获得,并将结果存储在Azure SQL表中。以下查询是我得到的最接近。
维度和度量标头看起来是列名,行部分中的值应该是行。
DECLARE @jsonexample NVARCHAR(MAX) =
N'{
"dimensionHeaders": [
{
"name": "date"
},
{
"name": "country"
}
],
"metricHeaders": [
{
"name": "totalUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "20230207"
},
{
"value": "Netherlands"
}
],
"metricValues": [
{
"value": "3"
}
]
},
{
"dimensionValues": [
{
"value": "20230208"
},
{
"value": "Netherlands"
}
],
"metricValues": [
{
"value": "2"
}
]
},
{
"dimensionValues": [
{
"value": "20230208"
},
{
"value": "United States"
}
],
"metricValues": [
{
"value": "1"
}
]
}
]
}'
DECLARE @jsonexample2 NVARCHAR(MAX) = (SELECT [value] FROM OPENJSON(@jsonexample) where [key]= 'rows' )
SELECT *
from OPENJSON(@jsonexample2)
这个博客似乎有一个很好的解释,但我仍然没有得到它的工作。https://levelup.gitconnected.com/how-to-easily-parse-and-transform-json-in-sql-server-c0b091a964de
2条答案
按热度按时间e0uiprwp1#
你可以把它分解成这样:
然后你就能解决剩下的问题了。
iugsix8n2#
下面是一段代码,可以动态解析Google Analytics的指标和维度。它应该会给予你一个很好的起点:)