def METHOD_NAME(self, node: SqlPercentileExpression) -> SqlExpressionRenderResult:
    """Render a percentile expression for BigQuery.
    Use the fraction class to determine numerator and denominator for offset and quantile.
    For example - 0.5 or median would be 1/2 - generate two quantiles and pick the 1-indexed value
    from the result list [min, median, max].
    """
    if node.percentile_args.function_type is SqlPercentileFunctionType.APPROXIMATE_CONTINUOUS:
        arg_rendered = self.render_sql_expr(node.order_by_arg)
        params = arg_rendered.bind_parameters
        percentile = node.percentile_args.percentile
        fraction = Fraction(percentile).limit_denominator()
        return SqlExpressionRenderResult(
            sql=f"APPROX_QUANTILES({arg_rendered.sql}, {fraction.denominator})[OFFSET({fraction.numerator})]",
            bind_parameters=params,
        )
    elif (
        node.percentile_args.function_type is SqlPercentileFunctionType.APPROXIMATE_DISCRETE
        or node.percentile_args.function_type is SqlPercentileFunctionType.CONTINUOUS
        or node.percentile_args.function_type is SqlPercentileFunctionType.DISCRETE
    ):
        raise UnsupportedEngineFeatureError(
            "Only approximate continous percentile aggregations are supported for BigQuery. Set "
            + "use_approximate_percentile and disable use_discrete_percentile in all percentile measures."
        )
    else:
        assert_values_exhausted(node.percentile_args.function_type)