<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Using initcap function in materialized view fails in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/using-initcap-function-in-materialized-view-fails/m-p/111412#M43886</link>
    <description>&lt;P&gt;This query works:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;SPAN&gt; order_date, initcap(customer_name), &lt;/SPAN&gt;&lt;SPAN&gt;count&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;AS&lt;/SPAN&gt;&lt;SPAN&gt; number_of_orders&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from ...&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The initcap does as advertised and capitalizes the customer_name column.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;However, if I wrap the same exact select in a create materialized view I get an error:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;create&lt;/SPAN&gt; &lt;SPAN&gt;or&lt;/SPAN&gt; &lt;SPAN&gt;replace&lt;/SPAN&gt; &lt;SPAN&gt;materialized&lt;/SPAN&gt; &lt;SPAN&gt;view&lt;/SPAN&gt;&amp;nbsp;&amp;lt;my-view-name&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;SPAN&gt; order_date, initcap(customer_name), &lt;/SPAN&gt;&lt;SPAN&gt;count&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;AS&lt;/SPAN&gt;&lt;SPAN&gt; number_of_orders&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from...&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;A class="" href="https://docs.databricks.com/error-messages/error-classes.html#delta_invalid_characters_in_column_names" target="_blank" rel="noopener noreferrer"&gt;DELTA_INVALID_CHARACTERS_IN_COLUMN_NAMES&lt;/A&gt;] Found invalid character(s) among ' ,;{}()\n\t=' in the column names of your schema. Invalid column names: initcap(customer_name). Please use other characters and try again. Alternatively, enable Column Mapping to keep using these characters.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Can you explain the difference?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 27 Feb 2025 21:21:21 GMT</pubDate>
    <dc:creator>BillBishop</dc:creator>
    <dc:date>2025-02-27T21:21:21Z</dc:date>
    <item>
      <title>Using initcap function in materialized view fails</title>
      <link>https://community.databricks.com/t5/data-engineering/using-initcap-function-in-materialized-view-fails/m-p/111412#M43886</link>
      <description>&lt;P&gt;This query works:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;SPAN&gt; order_date, initcap(customer_name), &lt;/SPAN&gt;&lt;SPAN&gt;count&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;AS&lt;/SPAN&gt;&lt;SPAN&gt; number_of_orders&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from ...&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;The initcap does as advertised and capitalizes the customer_name column.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;However, if I wrap the same exact select in a create materialized view I get an error:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;create&lt;/SPAN&gt; &lt;SPAN&gt;or&lt;/SPAN&gt; &lt;SPAN&gt;replace&lt;/SPAN&gt; &lt;SPAN&gt;materialized&lt;/SPAN&gt; &lt;SPAN&gt;view&lt;/SPAN&gt;&amp;nbsp;&amp;lt;my-view-name&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;as&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;SPAN&gt; order_date, initcap(customer_name), &lt;/SPAN&gt;&lt;SPAN&gt;count&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;*&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;AS&lt;/SPAN&gt;&lt;SPAN&gt; number_of_orders&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from...&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;A class="" href="https://docs.databricks.com/error-messages/error-classes.html#delta_invalid_characters_in_column_names" target="_blank" rel="noopener noreferrer"&gt;DELTA_INVALID_CHARACTERS_IN_COLUMN_NAMES&lt;/A&gt;] Found invalid character(s) among ' ,;{}()\n\t=' in the column names of your schema. Invalid column names: initcap(customer_name). Please use other characters and try again. Alternatively, enable Column Mapping to keep using these characters.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Can you explain the difference?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 27 Feb 2025 21:21:21 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/using-initcap-function-in-materialized-view-fails/m-p/111412#M43886</guid>
      <dc:creator>BillBishop</dc:creator>
      <dc:date>2025-02-27T21:21:21Z</dc:date>
    </item>
    <item>
      <title>Re: Using initcap function in materialized view fails</title>
      <link>https://community.databricks.com/t5/data-engineering/using-initcap-function-in-materialized-view-fails/m-p/111413#M43887</link>
      <description>&lt;P&gt;NOTE: I got it to work by aliasing the customer_name column, it's documented here:&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/sql/language-manual/sql-ref-syntax-ddl-create-materialized-view#limitations" target="_blank"&gt;https://docs.databricks.com/aws/en/sql/language-manual/sql-ref-syntax-ddl-create-materialized-view#limitations&lt;/A&gt;&lt;/P&gt;&lt;P&gt;However, it wasn't clear that "&lt;SPAN&gt;Non-column reference expressions require an alias" applies to ALL functions, not just&amp;nbsp; aggregate functions like the example.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Feb 2025 21:29:54 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/using-initcap-function-in-materialized-view-fails/m-p/111413#M43887</guid>
      <dc:creator>BillBishop</dc:creator>
      <dc:date>2025-02-27T21:29:54Z</dc:date>
    </item>
  </channel>
</rss>

