如何在C#版Google Analytics Data API Beta中设置RunReportRequest的OrderBys
如何设置RunReportRequest的OrderBys属性
这不是Beta版本不支持排序功能,而是Google的gRPC工具生成的这类对象,集合属性通常只提供get访问器,但返回的是可修改的集合类型(比如RepeatedField<OrderBy>),你可以直接通过集合初始化器或者Add方法添加排序规则。
方式一:在对象初始化器中直接配置
var request = new RunReportRequest { Property = $"properties/xxx", Metrics = { new Metric { Name = "screenpageviews" }, }, Dimensions = { new Dimension { Name = "pagepath" }, }, DateRanges = { dateRange }, OrderBys = { // 按pagepath维度升序排序(默认升序,Desc可省略) new OrderBy { Dimension = new DimensionOrderBy { DimensionName = "pagepath" } }, // 按screenpageviews指标降序排序 new OrderBy { Metric = new MetricOrderBy { MetricName = "screenpageviews" }, Desc = true } } };
方式二:初始化后单独添加排序规则
var request = new RunReportRequest { Property = $"properties/xxx", Metrics = { new Metric { Name = "screenpageviews" }, }, Dimensions = { new Dimension { Name = "pagepath" }, }, DateRanges = { dateRange } }; // 添加维度排序规则 request.OrderBys.Add(new OrderBy { Dimension = new DimensionOrderBy { DimensionName = "pagepath" } }); // 添加指标排序规则(降序) request.OrderBys.Add(new OrderBy { Metric = new MetricOrderBy { MetricName = "screenpageviews" }, Desc = true });
补充说明
OrderBy对象支持两种排序类型:DimensionOrderBy(按维度排序)和MetricOrderBy(按指标排序),二选一即可。Desc属性用于控制排序方向:true表示降序,false表示升序(默认值,可省略)。
内容的提问来源于stack exchange,提问作者Ian Davis
相关产品推荐
相关产品推荐

