[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-15 UTC."],[[["\u003cp\u003eThis document details the \u003ccode\u003eReport.SortOrBuilder\u003c/code\u003e interface, which is part of the Google Ad Manager Java library, and is used to define sorting criteria for reports.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the Ad Manager Java library documented here is 0.19.0, and includes previous versions back to 0.1.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eReport.SortOrBuilder\u003c/code\u003e provides methods to specify the sort order (\u003ccode\u003egetDescending\u003c/code\u003e), the field to sort by (\u003ccode\u003egetField\u003c/code\u003e, \u003ccode\u003egetFieldOrBuilder\u003c/code\u003e), and the specific metric value type to sort on (\u003ccode\u003egetMetricValueType\u003c/code\u003e, \u003ccode\u003egetMetricValueTypeValue\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eOptional sorting criteria include sorting by a specific data slice (\u003ccode\u003egetSlice\u003c/code\u003e, \u003ccode\u003egetSliceOrBuilder\u003c/code\u003e, \u003ccode\u003ehasSlice\u003c/code\u003e) or a specific time period column (\u003ccode\u003egetTimePeriodIndex\u003c/code\u003e, \u003ccode\u003ehasTimePeriodIndex\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eThe interface extends \u003ccode\u003eMessageOrBuilder\u003c/code\u003e and defines whether the fields are set using \u003ccode\u003ehas\u003c/code\u003e method like \u003ccode\u003ehasField\u003c/code\u003e, \u003ccode\u003ehasMetricValueType\u003c/code\u003e, etc.\u003c/p\u003e\n"]]],[],null,["# Interface Report.SortOrBuilder (0.31.0)\n\nVersion latestkeyboard_arrow_down\n\n- [0.31.0 (latest)](/java/docs/reference/ad-manager/latest/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.29.0](/java/docs/reference/ad-manager/0.29.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.27.0](/java/docs/reference/ad-manager/0.27.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.26.0](/java/docs/reference/ad-manager/0.26.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.23.0](/java/docs/reference/ad-manager/0.23.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.22.0](/java/docs/reference/ad-manager/0.22.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.21.0](/java/docs/reference/ad-manager/0.21.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.19.0](/java/docs/reference/ad-manager/0.19.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.18.0](/java/docs/reference/ad-manager/0.18.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.17.0](/java/docs/reference/ad-manager/0.17.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.16.0](/java/docs/reference/ad-manager/0.16.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.15.0](/java/docs/reference/ad-manager/0.15.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.14.0](/java/docs/reference/ad-manager/0.14.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.13.0](/java/docs/reference/ad-manager/0.13.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.12.0](/java/docs/reference/ad-manager/0.12.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.11.0](/java/docs/reference/ad-manager/0.11.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.10.0](/java/docs/reference/ad-manager/0.10.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.8.0](/java/docs/reference/ad-manager/0.8.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.7.0](/java/docs/reference/ad-manager/0.7.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.6.0](/java/docs/reference/ad-manager/0.6.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.5.0](/java/docs/reference/ad-manager/0.5.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.4.0](/java/docs/reference/ad-manager/0.4.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.3.0](/java/docs/reference/ad-manager/0.3.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.2.0](/java/docs/reference/ad-manager/0.2.0/com.google.ads.admanager.v1.Report.SortOrBuilder)\n- [0.1.0](/java/docs/reference/ad-manager/0.1.0/com.google.ads.admanager.v1.Report.SortOrBuilder) \n\n public static interface Report.SortOrBuilder extends MessageOrBuilder\n\nImplements\n----------\n\n[MessageOrBuilder](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.MessageOrBuilder.html)\n\nMethods\n-------\n\n### getDescending()\n\n public abstract boolean getDescending()\n\nOptional. The sort order. If true the sort will be descending.\n\n`bool descending = 2 [(.google.api.field_behavior) = OPTIONAL];`\n\n### getField()\n\n public abstract Report.Field getField()\n\nRequired. A field (dimension or metric) to sort by.\n\n`\n.google.ads.admanager.v1.Report.Field field = 1 [(.google.api.field_behavior) = REQUIRED];\n`\n\n### getFieldOrBuilder()\n\n public abstract Report.FieldOrBuilder getFieldOrBuilder()\n\nRequired. A field (dimension or metric) to sort by.\n\n`\n.google.ads.admanager.v1.Report.Field field = 1 [(.google.api.field_behavior) = REQUIRED];\n`\n\n### getMetricValueType()\n\n public abstract Report.MetricValueType getMetricValueType()\n\nOptional. Use to specify which metric value type to sort on. Defaults to\nPRIMARY.\n\n`\noptional .google.ads.admanager.v1.Report.MetricValueType metric_value_type = 5 [(.google.api.field_behavior) = OPTIONAL];\n`\n\n### getMetricValueTypeValue()\n\n public abstract int getMetricValueTypeValue()\n\nOptional. Use to specify which metric value type to sort on. Defaults to\nPRIMARY.\n\n`\noptional .google.ads.admanager.v1.Report.MetricValueType metric_value_type = 5 [(.google.api.field_behavior) = OPTIONAL];\n`\n\n### getSlice()\n\n public abstract Report.Slice getSlice()\n\nOptional. Use to sort on a specific slice of data.\n\n`\noptional .google.ads.admanager.v1.Report.Slice slice = 3 [(.google.api.field_behavior) = OPTIONAL];\n`\n\n### getSliceOrBuilder()\n\n public abstract Report.SliceOrBuilder getSliceOrBuilder()\n\nOptional. Use to sort on a specific slice of data.\n\n`\noptional .google.ads.admanager.v1.Report.Slice slice = 3 [(.google.api.field_behavior) = OPTIONAL];\n`\n\n### getTimePeriodIndex()\n\n public abstract int getTimePeriodIndex()\n\nOptional. When using time period columns, use this to sort on a specific\ncolumn.\n\n`optional int32 time_period_index = 4 [(.google.api.field_behavior) = OPTIONAL];`\n\n### hasField()\n\n public abstract boolean hasField()\n\nRequired. A field (dimension or metric) to sort by.\n\n`\n.google.ads.admanager.v1.Report.Field field = 1 [(.google.api.field_behavior) = REQUIRED];\n`\n\n### hasMetricValueType()\n\n public abstract boolean hasMetricValueType()\n\nOptional. Use to specify which metric value type to sort on. Defaults to\nPRIMARY.\n\n`\noptional .google.ads.admanager.v1.Report.MetricValueType metric_value_type = 5 [(.google.api.field_behavior) = OPTIONAL];\n`\n\n### hasSlice()\n\n public abstract boolean hasSlice()\n\nOptional. Use to sort on a specific slice of data.\n\n`\noptional .google.ads.admanager.v1.Report.Slice slice = 3 [(.google.api.field_behavior) = OPTIONAL];\n`\n\n### hasTimePeriodIndex()\n\n public abstract boolean hasTimePeriodIndex()\n\nOptional. When using time period columns, use this to sort on a specific\ncolumn.\n\n`optional int32 time_period_index = 4 [(.google.api.field_behavior) = OPTIONAL];`"]]