class_docstr: Functions that can be used to help render check queries in integration tests.
docstr: Return the DATE_TRUNC() call that can be used for converting the given expr to the granularity.
docstr_tok: ["Return","the","DATE_TRUNC","(",")","call","that","can","be","used","for","converting","the","given","expr","to","the","granularity","."]
code: def render_date_trunc(
      self, expr: str, granularity: TimeGranularity
  ) -> str:
      """Return the DATE_TRUNC() call that can be used for converting the given expr to the granularity."""
      renderable_expr = SqlDateTruncExpression(
          time_granularity=granularity,
          arg=SqlCastToTimestampExpression(
              arg=SqlStringExpression(
                  sql_expr=expr,
                  requires_parenthesis=False,
              )
          ),
      )
      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 7 for calling the CheckQueryHelpers obj's underlying member method code with example usage: obj.render_date_trunc(expr, granularity) and returns: self