首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从(GA4)获取多个度量

从(GA4)获取多个度量
EN

Stack Overflow用户
提问于 2021-06-03 23:43:48
回答 1查看 387关注 0票数 5

我使用Google的数据API从度量和维度中获取不同类型的数据。但在某些情况下,我的维度与日期相同,并且希望获取基于相同维度的多个度量。

下面是我的代码,我根据当前日期获取activeUsers。我想要获取多个指标,如activeUsers、newUsers、使用一个API报告的会话,我必须通过传递不同的度量来获取数据,从而在API下面调用3次。还有其他解决办法吗?

代码语言:javascript
运行
AI代码解释
复制
$property_id = 'PROPERTY-ID';
$client = new BetaAnalyticsDataClient();

$response = $client->runReport([
    'property' => 'properties/' . $property_id,
    'dateRanges' => [
        new DateRange([
            'start_date' => '2021-06-01',
            'end_date' => '2021-06-01',
        ]),
    ],
    'dimensions' => [new Dimension(
        [
            'name' => 'date',
        ]
    ),
    ],
    'metrics' => [new Metric(
        [
            'name' => 'activeUsers',
        ]
    )
    ]
]);


foreach ($response->getRows() as $row) {
    print $row->getDimensionValues()[0]->getValue()
        . ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL;
}

我尝试使用以下代码发送两个度量标准:

代码语言:javascript
运行
AI代码解释
复制
'metrics' => [new Metric([
                'name' => 'activeUsers',
            ],[
                'name' => 'newUsers',
            ])]

但我如何才能从回应中得到回报呢?当前,我正在使用下面的

代码语言:javascript
运行
AI代码解释
复制
foreach ($response->getRows() as $row) {
    print $row->getDimensionValues()[0]->getValue()
        . ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL;
}

使用$row->getMetricValues()[0]->getValue()可以返回activeUsers的值,但是如何获得newUsers的值,因为我使用了两个度量标准。我试过使用$row->getMetricValues()[1]->getValue(),但不起作用。

EN

回答 1

Stack Overflow用户

发布于 2022-06-17 01:48:58

下面是一个包含2个维度和2个度量的API调用的示例:

代码语言:javascript
运行
AI代码解释
复制
// Make an API call.
$response = $client->runReport([
    'property' => 'properties/' . $property_id,
    'dateRanges' => [
        new DateRange([
            'start_date' => '2022-06-16',
            'end_date' => 'today',
        ]),
    ],

    'metrics' => [
        new Metric([
            'name' => 'activeUsers',
        ]),
        new Metric([
            "name" => "sessions"
        ])
    ],
    'dimensions' => [
        new Dimension([
            "name" => "city"
        ]),
        new Dimension([
            'name' => 'firstUserSource',
        ])
    ],
]);

现在,在您的foreach循环中执行以下操作:

代码语言:javascript
运行
AI代码解释
复制
    foreach ($response->getRows() as $row) {

    $return[] = [
        'city' => $row->getDimensionValues()[0]->getValue(),
        'source' => $row->getDimensionValues()[1]->getValue(),
        'users' => $row->getMetricValues()[0]->getValue(),
        'sessions' => $row->getMetricValues()[1]->getValue(),
    ];
}

然后就是json_encode $return,就这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67833346

复制
相关文章
【译】使用RxJava从多个数据源获取数据
试想,需要一些动态数据的时候,只要每次都请求网络就可以了。但是,更有效率的做法是,把联网得到的数据,缓存到磁盘或内存。
用户1740424
2018/07/23
2.5K0
【译】使用RxJava从多个数据源获取数据
利用channel并发从数据库获取多个数据
我们在获取用户信息的时候,经常是需要从多个数据源中获取数据,比如获取用户的余额,用户状态,用户拥有物品时,需要拉取多个数据库,如果顺序执行的话,速度不够快,这里分享一种写法。
用户7962184
2020/11/20
1.6K0
【译】使用RxJava从多个数据源获取数据
试想,需要一些动态数据的时候,只要每次都请求网络就可以了。但是,更有效率的做法是,把联网得到的数据,缓存到磁盘或内存。
小鄧子
2018/08/20
2.1K0
【译】使用RxJava从多个数据源获取数据
Golang flag 获取多个值
但是在某些情况下,我们要对一个key指定多个值。 并获取多个值得数组。 这时我们需要定义一个Type Value接口类型
用户1416054
2018/08/02
4.5K0
小程序-获取多个formId
如同上面的几行代码,只要你点击登录按钮,就能提交一次表单,也能获取一次formId,但是想要实现点击一次提交多次,光靠复制这几行代码,貌似还不行,无论是缩小按钮,还是一些其他的奇葩方式,都不行。
前端黑板报
2018/08/15
2.3K1
小程序-获取多个formId
treeview 如何从多个数据表中获取数据动态生成 [提问]
在 汪洋怡舟的这篇文章中【http://www.cnblogs.com/longren629/archive/2007/03/14/674633.html】只使用了一个数据表,效果如图2
跟着阿笨一起玩NET
2018/09/19
6.7K0
treeview 如何从多个数据表中获取数据动态生成 [提问]
从TMMI角度谈谈质量度量
在TMMi体系中,缺陷逃逸率是用来评估交付质量的衡量指标,如果该值低于某个阈值,则可以判断交付质量的好坏。
老_张
2023/03/01
8640
从TMMI角度谈谈质量度量
从mysql获取到从redis获取 示例
1.因采集是每分钟写入一次数据库,故redis每分钟读取一次数据库最新信息,读取脚本如下:
葫芦
2019/04/13
2.4K0
从mysql获取到从redis获取 示例
PowerBI从Onedrive文件夹中获取多个文件,依然不使用网关
整个过程的PQ底层逻辑很清楚,使用一个示例文件作为函数,然后用这个函数遍历文件夹中的所有文件,最终将结果合并到一张表中:
陈学谦
2020/05/07
7K0
ASP获取多个CheckBox的值
<form id="form" name="form" method="post" action="/temp/test9.asp">    <input name="yi" type="checkbox" id="yi" value="111" />    <input name="yi" type="checkbox" id="yi" value="222" />    <input name="yi" type="checkbox" id="yi" value="333" />    <input type="submit" name="Submit" value="提交" /> </form>
Tony老师
2020/03/05
5.5K0
从记录获取
Record.FieldCount(record as record) as number
逍遥之
2020/03/23
1.2K0
[日常] GO语言圣经-并发获取多个URL
2.goroutine是一种函数的并发执行方式,而channel是用来在goroutine之间进行参数传递
唯一Chat
2019/09/10
9490
[日常] GO语言圣经-并发获取多个URL
ApplicationContext可以同时获取多个Bean吗?
在实际场景中提供了N个接口给第三方,常规情况下是不会同时调用的,如果N个接口同时调用,随着接口的数量和业务场景逻辑增加,将会给服务带来很不好的体验,但恰恰业务就是如此,面对同一类型的业务查询场景,我将策略模式应用到此接口上来应对。关于实际设计的demo可参考往期文章炫技?No.
疯狂的KK
2023/01/12
1K0
ApplicationContext可以同时获取多个Bean吗?
Qt获取多个屏幕分辨率
通过QDesktopWidget的screenGeometry方法获取多个屏幕的分辨率 获取QDesktopWidget QDesktopWidget类提供了对多屏幕信息的访问 QDesktopWidget *desktopWidget = QApplication::desktop(); 使用screenGeometry方法获取分辨率 接口方法 const QRect QDesktopWidget::screenGeometry(int screen = -1) const 获取默认屏幕分辨率 QRect
Qt君
2019/07/15
2.7K0
python 从mysql获取变为redis获取
1.因采集是每分钟写入一次数据库,故redis每分钟读取一次数据库最新信息,读取脚本如下:
葫芦
2019/04/17
3.3K0
python 从mysql获取变为redis获取
如何从多个角度分析问题?
拆解其实就是做加法,A=维度1+维度2+维度3+...。比如上面的例子,老妈把优秀拆解成:1)个子高 2)家庭背景好 3)长的好看。也就是优秀=个子高(维度1)+家庭背景好(维度2)+长的好看(维度3)。
猴子聊数据分析
2019/08/15
2K0
[android] 从gallery获取图片
调用Intent对象的setAction()方法,设置动作,参数:Intent.ACTION_PICK
唯一Chat
2019/09/10
1.3K0
研发效能提升,从正确地实施度量开始
为了有效应对当前充满易变性、不确定性、复杂性与模糊性的互联网大环境,今年年初京东提出了数字化管理的战略方向,通过数字化的技术和管理模式提升组织绩效。在这个背景下,研发效能的提升就成为了很多产品技术部门今年的重要目标,有些部门专门成立了相应的工程效率团队,期望从组织、文化、技术、流程等方面的优化来促进研发效能的整体提升。
京东技术
2019/05/05
8K1
研发效能提升,从正确地实施度量开始
点击加载更多

相似问题

如何使连续三周或更长时间的用户有序使用?

316

如何让会话变量的时间更长?

10

如何让通知显示更长时间?

128

如何让会话持续时间更长?

19

Power BI -值连续增加3天或更长时间

1100
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文