ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Apache Ossie 标准函数速查表:Tableau、Looker Studio、DAX 映射完全指南

Apache Ossie 标准函数速查表:Tableau、Looker Studio、DAX 映射完全指南 Apache Ossie 标准函数速查表Tableau、Looker Studio、DAX 映射完全指南【免费下载链接】ossieApache Ossie, industry wide specification effort to standardize how we exchange semantic metadata across analytics, AI and BI platforms, providing a vendor neutral, single source of truth for semantic data项目地址: https://gitcode.com/GitHub_Trending/osi1/ossieApache Ossie是行业级的语义元数据交换标准为分析、AI 与 BI 平台提供厂商中立的单一事实来源。本文为新手整理了一份Ossie 标准函数与 Tableau、Looker Studio、DAX 的映射速查表帮你 3 分钟查清每个函数在不同工具里叫什么避免同名不同义的坑。为什么需要 Ossie 函数映射表同一个 KPI在不同工具里定义往往不一样Tableau 里的COUNTD()、Power BI 里的DISTINCTCOUNT()、数据库里的COUNT(DISTINCT x)说的其实都是去重计数。Apache Ossie前身 Open Semantic Interchange解决的就是这个问题用一套基于 YAML/JSON 的 核心规范 描述语义模型让所有工具读写同一份标准方言Ossie_SQL_2026。而本文的映射表就是告诉你Ossie 标准函数 ↔ 各 BI 工具函数怎么对号入座完整定义见 core-spec/expression_language.md。先搞懂Ossie 的函数分级标准查表前先记住三个合规级别源自 core-spec/expression_language.md 的 Compliance Levels 一节级别含义例子REQUIRED (MUST)所有实现必须支持SUM、DATE_TRUNC、CONCATRECOMMENDED (SHOULD)建议支持性能/高级场景常用APPROX_COUNT_DISTINCT、REGEXP_EXTRACTDialect (MAY)厂商方言扩展需在模型中声明Snowflake / BigQuery 专属函数关键原则优先使用 REQUIRED 级别的核心函数写 Ossie 模型保证可移植性确需方言函数时在表达式的dialects中显式声明如ANSI_SQL、SNOWFLAKE、TABLEAU等方言清单见 core-spec/spec.md 的 Dialects 枚举。聚合函数映射速查表 这是日常用得最多的一类Ossie 的SUM/COUNT/AVG等在三端几乎同名但去重计数、标准差、百分位数差异最大Ossie 标准函数TableauLooker StudioDAXSUM(x)SUM(x)SUM(X)SUM(x)COUNT(x)COUNT(x)COUNT(X)COUNT(x)COUNT(DISTINCT x)COUNTD(x)COUNT_DISTINCT(X)DISTINCTCOUNT(x)AVG(x)AVG(x)AVG(X)AVERAGE(x)MIN(x)/MAX(x)MIN(x)/MAX(x)MIN(X)/MAX(X)MIN(x)/MAX(x)STDDEV(x)STDEV(x)STDDEV(X)STDEV.S(x)STDDEV_POP(x)STDEVP(x)STDDEV(X)STDEV.P(x)VARIANCE(x)VAR(x)VARIANCE(X)VAR.S(x)MEDIAN(x)MEDIAN(x)MEDIAN(X)MEDIAN(x)PERCENTILE_CONT(x, 0.75)PERCENTILE(x, 0.75)PERCENTILE(X, 75)PERCENTILE.INC(x, 0.75)⚠️新手最易踩的坑DAX 的平均数是AVERAGE而不是AVGLooker Studio 的PERCENTILE第二个参数是75百分比数字而其他工具是0.75小数写反了结果完全不对大数据量求近似去重数时Ossie 提供APPROX_COUNT_DISTINCT(x)推荐级误差约 2%比精确去重快得多。日期/时间函数映射速查表 Ossie 基于 ANSI SQL:2003 定义日期函数参数顺序是(精度, 日期, …)而 DAX 把精度放在最后迁移时务必注意Ossie 标准函数TableauLooker StudioDAXYEAR(d)/MONTH(d)/DAY(d)YEAR(d)/MONTH(d)/DAY(d)YEAR(Date)/MONTH(Date)/DAY(Date)同名DATE_TRUNC(month, d)DATETRUNC(month, d)TODATE(d, YYYYMM01, YYYYMMDD)DATE(YEAR(d), MONTH(d), 1)DATEADD(day, n, d)DATEADD(day, n, d)DATE_ADD(d, n)仅天数DATE(d) n或DATEADD(d, n, DAY)DATEDIFF(day, d1, d2)DATEDIFF(day, d1, d2)DATE_DIFF(d1, d2)DATEDIFF(d1, d2, DAY)CURRENT_DATETODAY()TODAY()TODAY()实用技巧跨引擎移植日期表达式时Ossie 的方言声明机制可以同时给出一份 ANSI 版和各数据库版写法如 BigQuery 的DATE_TRUNC(d, MONTH)参数顺序与 ANSI 相反规范中的 Common Dialect Variations 一表已列出 Snowflake、BigQuery、Databricks、PostgreSQL 的常见差异。字符串函数映射速查表 ✏️Ossie 标准函数TableauLooker StudioDAXCONCAT(a, b)a bCONCAT(X, Y)CONCATENATE(a, b)或a bLENGTH(s)LEN(s)LENGTH(X)LEN(s)LOWER(s)/UPPER(s)/TRIM(s)同名同名同名LEFT(s, n)/RIGHT(s, n)同名LEFT_TEXT(X, n)/RIGHT_TEXT(X, n)同名SUBSTRING(s, start, len)MID(s, start, len)SUBSTR(X, start, len)MID(s, start, len)REPLACE(s, from, to)REPLACE(s, from, to)REPLACE(X, Y, Z)SUBSTITUTE(s, from, to)CONTAINS(s, sub)CONTAINS(s, sub)CONTAINS_TEXT(X, text)CONTAINSSTRING(s, sub)⚠️ 三个高频差异点拼接Tableau 用DAX 用、子串Ossie 的SUBSTRING在 Tableau 叫MID、查找DAX 里是CONTAINSSTRING。条件函数映射速查表 Ossie 标准函数TableauLooker StudioDAXCASE WHEN ... ENDCASE WHEN或IFCASE WHENSWITCH(TRUE(), ...)IF(cond, t, f)IF cond THEN t ELSE f END用CASE替代IF(cond, t, f)COALESCE(a, b)IFNULL(a, b)或ZN(a)COALESCE(...)COALESCE(a, b)NULLIF(a, b)IF a b THEN NULL ELSE a END用CASE替代IF(a b, BLANK(), a)Ossie 特色除了COALESCEOssie 还提供了分析场景常用的ZeroIfNull(x)空值转 0和NullIfZero(x)0 转空值这在 DAX 中没有直接对应通常要写成IF(ISBLANK(x), 0, x)。窗口函数映射速查表 窗口函数是各工具差异最大的类别跨工具迁移前务必查表Ossie 标准函数TableauLooker StudioDAXROW_NUMBER() OVER(...)INDEX()不支持RANKX(...)加 DENSE 选项RANK() OVER(...)RANK(expr)不支持RANKX(...)SUM(...) OVER(PARTITION BY...){FIXED [...]: SUM(...)}仅混合数据源场景上下文相关LAG(x, 1) OVER(ORDER BY...)LOOKUP(x, -1)不支持CALCULATE(x, PREVIOUSDAY(...))累计求和RUNNING_SUM(SUM(...))不支持CALCULATE(SUM(...), FILTER(...)) Looker Studio 基本不提供窗口函数跨端迁移时建议改用表计算思路如 Looker Studio 的 Comparison 计算字段Ossie 模型中则统一用标准OVER()语法各实现负责翻译。动手实践从示例模型到转换器想亲手看标准函数长什么样可以打开完整示例 examples/tpcds_semantic_model.yamlTPC-DS 全量语义模型或更小的 examples/flights.yaml查看metrics中用 Ossie SQL 写的表达式用 validation/validate.py 校验模型是否符合 core-spec/osi-schema.json 模式参考 converters/ 下的官方转换器dbt、GoodData、Salesforce、Snowflake 等学习 Ossie 与具体工具格式之间的双向转换实现。速查表之外三条避坑建议参数顺序Ossie 的DATEDIFF(精度, d1, d2)与 DAX 的DATEDIFF(d1, d2, 精度)首尾相反照抄参数最易出错NULL 语义COUNT(x)只统计非空值COUNT(*)统计全部行这与各 BI 工具行为一致迁移时保持原样即可可分解性Ossie 将聚合分为 DistributiveSUM/COUNT、AlgebraicAVG、HolisticMEDIAN/COUNT DISTINCT等类别多级聚合或预计算场景下Holistic 类函数无法简单合并选函数时要留意。掌握这份Apache Ossie 标准函数映射速查表后你在 Tableau、Looker Studio 和 Power BIDAX之间的函数迁移就能对着表抄语义模型一次定义、多端复用 【免费下载链接】ossieApache Ossie, industry wide specification effort to standardize how we exchange semantic metadata across analytics, AI and BI platforms, providing a vendor neutral, single source of truth for semantic data项目地址: https://gitcode.com/GitHub_Trending/osi1/ossie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表