class_docstr: Functions that can be used to help render check queries in integration tests.
docstr: Return the percentile call that can be used for computing a percentile aggregation.
docstr_tok: ["Return","the","percentile","call","that","can","be","used","for","computing","a","percentile","aggregation","."]
code: def render_percentile_expr(
      self,
      expr: str,
      percentile: float,
      use_discrete_percentile: bool,
      use_approximate_percentile: bool,
  ) -> str:
      """Return the percentile call that can be used for computing a percentile aggregation."""
      percentile_args = (
          SqlPercentileExpressionArgument.from_aggregation_parameters(
              PydanticMeasureAggregationParameters(
                  percentile=percentile,
                  use_discrete_percentile=use_discrete_percentile,
                  use_approximate_percentile=use_approximate_percentile,
              )
          )
      )
  
      renderable_expr = SqlPercentileExpression(
          order_by_arg=SqlStringExpression(
              sql_expr=expr,
              requires_parenthesis=False,
          ),
          percentile_args=percentile_args,
      )
      return self._sql_client.sql_query_plan_renderer.expr_renderer.render_sql_expr(
          renderable_expr
      ).sql
  
imports: from __future__ import annotations
  import datetime
  import logging
  from copy import copy
  from typing import List, Optional, Sequence, Tuple
  import jinja2
  import pytest
  from dateutil import parser
  from dbt_semantic_interfaces.enum_extension import assert_values_exhausted
  from dbt_semantic_interfaces.implementations.elements.measure import PydanticMeasureAggregationParameters
  from dbt_semantic_interfaces.test_utils import as_datetime
  from dbt_semantic_interfaces.type_enums.date_part import DatePart
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
  from metricflow.engine.metricflow_engine import MetricFlowEngine, MetricFlowQueryRequest
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.plan_conversion.column_resolver import DunderColumnAssociationResolver
  from metricflow.protocols.query_parameter import DimensionOrEntityQueryParameter
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.specs.query_param_implementations import DimensionOrEntityParameter, TimeDimensionParameter
  from metricflow.sql.sql_exprs import SqlCastToTimestampExpression, SqlColumnReference, SqlColumnReferenceExpression, SqlDateTruncExpression, SqlExtractExpression, SqlGenerateUuidExpression, SqlPercentileExpression, SqlPercentileExpressionArgument, SqlPercentileFunctionType, SqlStringExpression, SqlSubtractTimeIntervalExpression
  from metricflow.test.compare_df import assert_dataframes_equal
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
  from metricflow.test.integration.configured_test_case import CONFIGURED_INTEGRATION_TESTS_REPOSITORY, IntegrationTestModel, RequiredDwEngineFeatures
  from metricflow.test.time.configurable_time_source import ConfigurableTimeSource
label_desc: Use image node_id 9 for calling the CheckQueryHelpers obj's underlying member method code with example usage: obj.render_percentile_expr(expr, percentile, use_discrete_percentile, use_approximate_percentile) and returns: self