如何在 BigQuery 的标准 SQL 中实现 RATIO_TO_REPORT()?

2024-02-16

我有一个使用 RATIO_TO_REPORT() 的旧版 SQL 查询——它不使用开放访问表,但它是这样的:

SELECT
  Mutation_AA,
  Gene_name,
  CaseCount,
  RATIO_TO_REPORT(CaseCount) OVER (PARTITION BY Gene_name) AS ratio
FROM (
  SELECT
    COUNT(DISTINCT ID_tumour, 50000) AS CaseCount,
    Mutation_AA,
    Gene_name
  FROM
    [isb-cgc:COSMIC.grch38_v79]
  GROUP BY
    Mutation_AA,
    Gene_name )

我正在尝试从旧版 SQL 迁移到标准 SQL(在使用 BigQuery 之前从未使用过 SQL),因此我们将不胜感激!谢谢


直接计算比例即可:

SELECT Mutation_AA,
       Gene_name,
       CaseCount,
       (CaseCount / SUM(CaseCount) OVER (PARTITION BY Gene_name)) AS ratio
. . .

您不需要子查询:

SELECT Mutation_AA, Gene_name,
       COUNT(DISTINCT ID_tumour, 50000) AS CaseCount,
       COUNT(DISTINCT ID_tumour, 50000) / SUM(COUNT(DISTINCT ID_tumour, 50000)) OVER (PARTITION BY Gene_Name) as ratio
FROM [isb-cgc:COSMIC.grch38_v79]
GROUP BY Mutation_AA, Gene_name ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 BigQuery 的标准 SQL 中实现 RATIO_TO_REPORT()? 的相关文章

随机推荐

  • Java 中的架构约束 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想确保我的项目不包含包之间不必要的依赖关系 例如 我想确保该项目具有分层结构 IE 模型低于一切 业务
  • 从 HDC 句柄创建 QPaintDevice

    我有一个来自外部库的 Windows HDC 句柄 我想使用 QPainter 功能来绘图 Qt 中有什么方法可以从 HDC 句柄创建 QPaintDevice 吗 这样做的一种方法 使用 Windows API 从 HDC 获取 HWND
  • 使用 jQuery 操作 TinyMCE 内容

    使用 TinyMCE 我可以轻松操作内容并将其发送回编辑器 如下所示 get content from tinyMCE var content tinyMCE get content getContent manipulate conten
  • 使用 NSMutableString 追加到文件末尾

    我有一个日志文件 我试图将数据附加到其末尾 我有一个NSMutableString textToWrite变量 我正在执行以下操作 textToWrite writeToFile filepath atomically YES encodi
  • 从 ASP.NET MVC2 升级到 MVC3 的原因 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用此关键字并揭示模块模式的严格违规

    无法让以下内容通过 jslint jshint jshint strict true var myModule function use strict var privVar true pubVar false function privF
  • MFC/WinAPI 的大问题

    我需要创建一个带有两个选项卡的表单视图的 SDI 表单 其中封装了多个对话框作为选项卡内容 但表格必须有彩色背景 诸如此类的事情让我讨厌编程 首先 我通过资源编辑器尝试了 CTabControl 尝试了不同的事情 但未记录的行为和没有答案的
  • 使用多个自定义表模型避免重复代码

    我正在从事一个项目 其中我们有几个领域类来对业务数据进行建模 这些类是简单的 POJO 我必须使用它们来显示几个表 例如 考虑这个类 public class Customer private Long id private Date en
  • IntelliJ 中的“用 try...catch 换行”?

    我可以选择一段代码并让 IntelliJ 用 try catch 将其包装起来吗 有键盘快捷键吗 选择代码 然后 Choose Code gt Surround With 按 Ctrl Alt T 对于 OS X 命令 选项 T 有时我喜欢
  • 如何修复 Mountain Lion 中的 VIM 系统剪贴板使用问题

    set clipboard unnamed是我最喜欢的之一 vimrc配置 多亏了它 猛拉和删除被复制到我的系统剪贴板 我可以轻松地将它们粘贴到其他应用程序 然而 当我升级到 Mountain Lion 时 这个设置就崩溃了 你知道如何解决
  • 更改 JButtons 背景的最佳方法

    现在我使用以下方法更改按钮的背景颜色 button setBackground Color WHITE 这是一个例子 但是当我有一个巨大的 jbuttons 网格 1000 时 仅仅运行一个 for 循环来改变每个按钮的背景是非常非常慢的
  • Hibernate - TypedQuery.getResultList() 返回同一对象的列表

    这是对问题的更多也许更好的描述 我做了一个简单的选择查询 返回的列表包含确切数量的记录 对象 就像我在数据库中执行相同的查询一样 但问题是所有对象都是相同 相同的 例如 这是数据库中的结果 我删除了空值 26801 01 JAN 00 7
  • 构建 Windows 版 Linphone 时出错

    我正在尝试按照以下说明构建适用于 Windows 的 linphoneReadme mingw使用 MinGw Msys 在下载belle sip包之前没有任何问题 当我跑步时 autogen sh我收到以下错误 Generating bu
  • Ruby 多字符串替换

    str Hello World 预期输出是 Hello World 我可以做这个 str gsub gsub 有没有其他方法可以在单个函数调用中完成此操作 就像是 str gsub s1 s2 r1 r2 从 Ruby 1 9 2 开始 S
  • RPG - 存储半复杂树结构的玩家数据

    我正在 js 中制作一个 web RPG 使用 melon JS 和 SQL DB 以及 PHP 这个问题是关于如何存储每个非玩家角色 NPC 的已完成任务和当前任务 NPC对话和任务数据 所有对话框都存储在一个js对象中 结构如下 var
  • 朱莉娅 评估数学树的最快方法是什么

    I have a tree of data representing a mathematical function like this 它存储在数组中 因此 2 3 2 将表示为 2 2 3 为了实际评估树 我有一个递归函数 functi
  • 在文本框中输入时搜索列表 VueJS 2

    我有一个来自数组的用户列表 我想根据顶部的搜索框 名称 过滤它们 我看到VueJS 1中有过滤器 但在VuesJS 2中不可用 如何在VueJS 2中实现这一点
  • 以内核模式运行的进程和以 root 身份运行的进程之间的区别?

    我知道在用户模式下运行的进程和在内核模式下运行的进程之间的区别 基于访问限制 对硬件的访问等 但出于好奇 以内核模式运行的进程与以 root 身份运行的进程有什么区别 内核模式和根是两个独立的概念 彼此之间并不真正相关 以 root 身份运
  • 对象创建语法之间的区别[重复]

    这个问题在这里已经有答案了 请解释对象一和对象二之间的区别 car one new opel opel two new opel 欧宝类扩展了汽车类 你可以重新分配one到某个其他子类的对象car one new Ford 但你不能重新分配
  • 如何在 BigQuery 的标准 SQL 中实现 RATIO_TO_REPORT()?

    我有一个使用 RATIO TO REPORT 的旧版 SQL 查询 它不使用开放访问表 但它是这样的 SELECT Mutation AA Gene name CaseCount RATIO TO REPORT CaseCount OVER