You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ossie.apache.org by "MikeCarlo (via GitHub)" <gi...@apache.org> on 2026/07/23 02:54:53 UTC

[PR] feat: Add DAX, and examples to the Dialects [ossie]

MikeCarlo opened a new pull request, #250:
URL: https://github.com/apache/ossie/pull/250

   <!--
     Licensed to the Apache Software Foundation (ASF) under one
     or more contributor license agreements.  See the NOTICE file
     distributed with this work for additional information
     regarding copyright ownership.  The ASF licenses this file
     to you under the Apache License, Version 2.0 (the
     "License"); you may not use this file except in compliance
     with the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
   
     Unless required by applicable law or agreed to in writing,
     software distributed under the License is distributed on an
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
     under the License.
   -->
   
   ## Summary
   
   <!-- Describe what this PR does and why. -->
   
   ## Related Issues
   
   <!-- Link any related GitHub issues: Closes #123, Fixes #456 -->
   
   ## Checklist
   
   ### Specification
   - [ ] Spec changes are included in `core-spec/` and follow the existing structure
   - [ ] Spec changes have been discussed on the mailing list or in a linked issue
   - [ ] Breaking changes to the spec are clearly called out in the summary
   
   ### Ontology
   - [ ] Ontology changes in `ontology/` are consistent with spec changes
   - [ ] New or modified terms are defined and documented
   
   ### Converters
   - [ ] Converter logic in `converters/` is updated to reflect spec or ontology changes
   - [ ] New converters include tests under the converter's test directory
   
   ### Validation
   - [ ] Validation rules in `validation/` are updated if the spec changed
   - [ ] New validation cases are covered by tests
   
   ### Documentation
   - [ ] `docs/` is updated to reflect any user-facing changes
   - [ ] New features or behaviors are documented with examples where appropriate
   - [ ] `CONTRIBUTING.md` is updated if the contribution process changed
   
   ### Examples
   - [ ] `examples/` are added or updated for any new spec constructs or converter support
   
   ### Tests
   - [ ] All existing tests pass (`pytest` / CI green)
   - [ ] New functionality is covered by tests
   
   ### Compliance
   - [ ] ASF license headers are present on all new source files
   - [ ] No third-party dependencies are added without PMC/IPMC approval
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3635335496


##########
core-spec/spec.yaml:
##########
@@ -33,6 +33,7 @@ dialects:
   - "ANSI_SQL"              # Standard SQL dialect
   - "SNOWFLAKE"             # Snowflake
   - "MDX"                   # Multi-Dimensional Expressions
+  - "DAX"                   # Data Analysis Expressions
   - "TABLEAU"               # Tableau

Review Comment:
   Updated models.py to handle DAX as one of the OSIDialect options in class



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "jbonofre (via GitHub)" <gi...@apache.org>.
jbonofre commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r4022754167


##########
examples/tpcds_semantic_model.yaml:
##########
@@ -549,6 +549,8 @@ semantic_model:
           dialects:
             - dialect: ANSI_SQL
               expression: SUM(store_sales.ss_ext_sales_price)
+            - dialect: DAX

Review Comment:
   This DAX expression (`SUM(store_sales.ss_ext_sales_price)`) looks like a copy of the ANSI_SQL expression above. If it's a valid SQL dot-notation, I'm not sure about DAX.
   
   I believe "real" DAX would be `SUM(store_sales[ss_ext_sales_price])` (`Table[Column]` syntax).
   
   Since this PR also adds DAX to `SKIP_SQL_VALIDATION`, `validate.py` never parses it and this ships as the reference example for writing DAX expressions in Ossie.
   
   Can we fix that? 



##########
validation/validate.py:
##########
@@ -69,14 +69,15 @@
     "DATABRICKS": "databricks",
     "BIGQUERY": "bigquery",
     "MDX": None,  # Not supported by sqlglot, skip validation
+    "DAX": None,  # Not supported by sqlglot, skip validation
     "TABLEAU": None,  # Not supported by sqlglot, skip validation
     "MAQL": None,  # Not supported by sqlglot, skip validation
     "SIGMA": None,  # Sigma's spreadsheet-style formula language, not SQL; skip validation
     "THOUGHTSPOT": None,  # Not supported by sqlglot, skip validation
 }
 
 # Dialects that sqlglot cannot parse
-SKIP_SQL_VALIDATION = {"MDX", "TABLEAU", "MAQL", "SIGMA", "THOUGHTSPOT"}
+SKIP_SQL_VALIDATION = {"MDX", "DAX", "TABLEAU", "MAQL", "SIGMA", "THOUGHTSPOT"}

Review Comment:
   `DIALECT_MAP` and `SKIP_SQL_VALIDATION` encode overlapping information (which dialects sqlglot can/can't handle) but are maintained as two separate structures. This PR has to edit both in lockstep. Given the DAX example shows what happens when validation is silently skipped, it might be worth consolidating these into one source of truth so a future dialect addition can't update one and miss the other.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3635341757


##########
core-spec/expression_language.md:
##########
@@ -656,18 +658,20 @@ expression:
       expression: DATE_TRUNC('month', order_date)
     - dialect: BIGQUERY
       expression: DATE_TRUNC(order_date, MONTH)
+    - dialect: DAX
+      expression: STARTOFMONTH(order_date)

Review Comment:
   resolve expression to be scalar. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3635321303


##########
core-spec/osi-schema.json:
##########
@@ -23,12 +23,12 @@
   "$defs": {
     "Dialect": {
       "type": "string",
-      "enum": ["ANSI_SQL", "SNOWFLAKE", "MDX", "TABLEAU", "DATABRICKS", "MAQL", "BIGQUERY"],
+      "enum": ["ANSI_SQL", "SNOWFLAKE", "MDX", "DAX", "TABLEAU", "DATABRICKS", "MAQL",  "BIGQUERY"],

Review Comment:
   cleaned up spacing



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on PR #250:
URL: https://github.com/apache/ossie/pull/250#issuecomment-5285936613

   @willpugh  Ping, can we get a review on this?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3808170036


##########
core-spec/expression_language.md:
##########
@@ -643,6 +643,8 @@ a IS DISTINCT FROM b        -- TRUE if one is NULL and other isn't
 
 Ossie implementations MAY support additional functions through dialect-specific extensions. When using dialect extensions, the expression must specify the dialect.
 
+Standardized dialect identifiers in the core spec include `ANSI_SQL`, `SNOWFLAKE`, `MDX`, `DAX`, `TABLEAU`, `DATABRICKS`, `MAQL`, and `BIGQUERY`.

Review Comment:
   If the language of databricks exists I would agree DAX is the language of semantic models from Microsoft. Seems to fit. And MDX is not the same as DAX and are not interchangeable. 
   
   If I am going to help build a converter from Ossie to TMDL I'm going to need to store the Dax language as metrics. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "jbonofre (via GitHub)" <gi...@apache.org>.
jbonofre commented on PR #250:
URL: https://github.com/apache/ossie/pull/250#issuecomment-5692615376

   Im confused because DAX and POWERBI have been added already on `main`. Can you please rebase and advise about the parts needed from this PR?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on PR #250:
URL: https://github.com/apache/ossie/pull/250#issuecomment-5671896364

   > I don't think we need the changes in expression_language.md. Otherwise, it looks tood.
   
   @willpugh  
   
   Removed the DAX-specific changes from expression_language.md 
   
   The remaining DAX spec and validation updates are unchanged.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo commented on PR #250:
URL: https://github.com/apache/ossie/pull/250#issuecomment-5705420500

   After reviewing this with @eisber , I think the recent changes for their converter actually have addressed all the items I was trying to add, I think the ultimate desire to have DAX added has made it to Main, which was the point. I will close this PR as this was resolved with commit: 
   https://github.com/apache/ossie/commit/7b8cdaa320277335d14443e89577c283d7441b3b
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3635269002


##########
core-spec/spec.yaml:
##########
@@ -33,6 +33,7 @@ dialects:
   - "ANSI_SQL"              # Standard SQL dialect
   - "SNOWFLAKE"             # Snowflake
   - "MDX"                   # Multi-Dimensional Expressions
+  - "DAX"                   # Data Analysis Expressions
   - "TABLEAU"               # Tableau

Review Comment:
   DAX is now listed as a supported dialect in the spec, but the repo's runtime/validation code still appears to reject or mis-validate it (e.g., python/src/ossie/models.py OSIDialect is missing DAX; validation/validate.py will attempt to parse DAX with sqlglot's default dialect). This makes the spec/schema and tooling inconsistent.



##########
core-spec/osi-schema.json:
##########
@@ -23,12 +23,12 @@
   "$defs": {
     "Dialect": {
       "type": "string",
-      "enum": ["ANSI_SQL", "SNOWFLAKE", "MDX", "TABLEAU", "DATABRICKS", "MAQL", "BIGQUERY"],
+      "enum": ["ANSI_SQL", "SNOWFLAKE", "MDX", "DAX", "TABLEAU", "DATABRICKS", "MAQL",  "BIGQUERY"],

Review Comment:
   The JSON schema dialect enum has an extra space before "BIGQUERY" ("MAQL",␠␠"BIGQUERY"), which is inconsistent formatting and can cause noisy diffs / lint failures.



##########
core-spec/expression_language.md:
##########
@@ -656,18 +658,20 @@ expression:
       expression: DATE_TRUNC('month', order_date)
     - dialect: BIGQUERY
       expression: DATE_TRUNC(order_date, MONTH)
+    - dialect: DAX
+      expression: STARTOFMONTH(order_date)

Review Comment:
   The DAX examples use time-intelligence functions (e.g., STARTOFMONTH) that return a table in DAX, not a scalar date. Since these examples are presented alongside scalar SQL expressions, they're likely to mislead implementers/users about the expected expression shape.
   
   This issue also appears in the following locations of the same file:
   - line 669
   - line 671



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "eisber (via GitHub)" <gi...@apache.org>.
eisber commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3939171368


##########
core-spec/expression_language.md:
##########
@@ -643,6 +643,8 @@ a IS DISTINCT FROM b        -- TRUE if one is NULL and other isn't
 
 Ossie implementations MAY support additional functions through dialect-specific extensions. When using dialect extensions, the expression must specify the dialect.
 
+Standardized dialect identifiers in the core spec include `ANSI_SQL`, `SNOWFLAKE`, `MDX`, `DAX`, `TABLEAU`, `DATABRICKS`, `MAQL`, and `BIGQUERY`.

Review Comment:
   @MikeCarlo Michael and I started working on a converter: https://github.com/apache/ossie/pull/329



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "willpugh (via GitHub)" <gi...@apache.org>.
willpugh commented on code in PR #250:
URL: https://github.com/apache/ossie/pull/250#discussion_r3808138112


##########
core-spec/expression_language.md:
##########
@@ -643,6 +643,8 @@ a IS DISTINCT FROM b        -- TRUE if one is NULL and other isn't
 
 Ossie implementations MAY support additional functions through dialect-specific extensions. When using dialect extensions, the expression must specify the dialect.
 
+Standardized dialect identifiers in the core spec include `ANSI_SQL`, `SNOWFLAKE`, `MDX`, `DAX`, `TABLEAU`, `DATABRICKS`, `MAQL`, and `BIGQUERY`.

Review Comment:
   The expression language spec is for the definition of the dialect of SQL that Ossie supports.  I don't think it needs reference to the other dialects in this doc.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat: Add DAX, and examples to the Dialects [ossie]

Posted by "MikeCarlo (via GitHub)" <gi...@apache.org>.
MikeCarlo closed pull request #250: feat: Add DAX, and examples to the Dialects
URL: https://github.com/apache/ossie/pull/250


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@ossie.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org