【问题标题】:What is the best way to calculate proportions in Snowflake在雪花中计算比例的最佳方法是什么
【发布时间】:2021-12-03 19:54:50
【问题描述】:

假设我有某种谨慎的变量,比如说一个字符串,我想知道字符串的每个值出现的比例。在雪花中有推荐的方法吗?

【问题讨论】:

    标签: snowflake-cloud-data-platform snowflake-schema


    【解决方案1】:

    我不知道是否有任何特别推荐用于 Snowflake 的方法,但根据我的经验,标准方法是使用窗口函数。例如:

    select C_SALUTATION as title, COUNT(*) * 100.0 / SUM(COUNT(*)) OVER()
    from "SNOWFLAKE_SAMPLE_DATA"."TPCDS_SF100TCL"
    group by C_SALUTATION;
    
    TITLE   PROPORTION
    Ms.     11.676401
    Mr.     16.591405
    Miss    11.680596
    Sir     16.586719
    NULL     3.501119
    Mrs.    11.682914
    Dr.     28.280846
    

    【讨论】:

      【解决方案2】:

      Snowflake 支持RATIO_TO_REPORT

      返回组内值与组内值总和的比率

      SELECT C_SALUTATION,
             RATIO_TO_REPORT(COUNT(*)) OVER() AS ratio
      FROM "SNOWFLAKE_SAMPLE_DATA"."TPCDS_SF100TCL".CUSTOMER
      GROUP BY C_SALUTATION;
      

      【讨论】:

        猜你喜欢
        • 2021-10-26
        • 1970-01-01
        • 1970-01-01
        • 2018-07-08
        • 2020-09-26
        • 2015-08-21
        • 2010-09-13
        • 1970-01-01
        • 2013-03-17
        相关资源
        最近更新 更多