小编gsc*_*ott的帖子

在 dbt yaml 文件中引用 md 文件中的表值

我有一个包含表格的 markdown 文件,还有另一个 dbt schema.yml 文件,用于提供和生成文档。传统上,我在 schema.yml 中输入表名和列名以及列名的描述,但现在我想我想将 md 文档中的列名引用到 yaml 文件中,而不是手动输入。

这就是我的doc.md文件的样子

{% docs column_description %}

| COLUMN\_NAME                   | DESCRIPTION                                                               |
| ------------------------------ | ------------------------------------------------------------------------- |
| cycle\_id                      | Customer cycle\_id(todays start sleep time to next days start sleep time) |
| user\_id                       | Customers user\_id                                                        |
| yes\_alcohol                   | User consumed alcohol or not                                              |
| blank\_alcohol                 | User did not answer or user answered "No"                                 |
                    


{% enddocs %}
Run Code Online (Sandbox Code Playgroud)

目前,这就是我的 schema.yml 文件的样子

version: 2

models: …
Run Code Online (Sandbox Code Playgroud)

markdown yaml github-flavored-markdown mkdocs dbt

5
推荐指数
1
解决办法
2071
查看次数

dbt中特定列数据的增量更新

给定一个包含 20 列的表,我当前的模型已经将所有记录插入到表中。不过,我想将增量更新专门集中在几个专栏上。

例如,给出下表模型。当新值可用时,我想仅使用新值增量更新 C 列,而不是删除并重新插入整行,这从索引/性能角度来看成本更高。

现存的:

ID C
n1 X 1
n2 2
n3 Z 3

新的:

ID C
n1 X 1.2
n2 2.1
n3 Z 3.5

dbt

3
推荐指数
1
解决办法
6419
查看次数

如何从 Sys.info() 中提取用户名?

为了使脚本尽可能灵活,我尝试自动引用路径中的用户名,即Admin"C:/Users/Admin".

RbaseSys.info()我提供了我正在寻找的信息:

sysname   | release | version                      | nodename          | machine  | login
"Windows" | "7 x64" | "build 7601, Service Pack 1" | "WINDOWS MACHINE" | "x86-64" | "Admin" 
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我无法将其作为任何类型的变量/字符串来执行操作。

谢谢。

windows r

2
推荐指数
1
解决办法
1301
查看次数

dbt jinja“elif”功能?

根据 jinja 文档,and流else if中的情况存在一个标签:Jinja Control Structures/IFifelse

正在寻找一种在 dbt 宏中执行此操作的方法,例如:

my_macro.sql

-- macros/my_macro.sql
{% macro my_macro() %}
  {% if target.name == 'default' %}
      select 'A' as my_letter;
  {% elif target.name == 'dev' %}
      select 'B' as my_letter;
  {% elif target.name == 'qa' %}
      select 'C' as my_letter;
  {% elif target.name == 'prod' %}
      select 'D' as my_letter;
  {% else %}
     select 1; -- hooks will error if they don't have valid SQL in them, this handles …
Run Code Online (Sandbox Code Playgroud)

if-statement jinja2 dbt

2
推荐指数
1
解决办法
7048
查看次数

在 R ggplot 或 ggvis(包括图像)中分解 180 度饼图?

给定一个包含因子列 (X1) 和小计列 (X2) 的数据集

  X1 X2 
1  1  12  
2  2  200 
3  3  23  
4  4  86  
5  5  141  
Run Code Online (Sandbox Code Playgroud)

我想创建一个这样的图形:

像这样

这给出了 x2 占 X2 总数的百分比,除以 X1。

编辑:清晰度和添加数据集的可重复性

plot visualization r ggplot2 ggvis

1
推荐指数
1
解决办法
1166
查看次数

逻辑和字符百分比的行为

我曾经scales把矢量格式化为percentage格式,并且大部分都成功地运行了逻辑操作,但是,我注意到一些有趣的行为超过两位数百分比,我想知道是否有人可以解释这个,所以我可以避免这些情况.

示例向量:

library(scales)
x <- c(.2,.4,.6,.8,1.2,2.0,2.5,5.1)
> percent(x)
[1] "20%"  "40%"  "60%"  "80%"  "120%" "200%" "250%" "510%"
percent(x) < percent(c(.5))
[1]  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE
Run Code Online (Sandbox Code Playgroud)

如您所见,低于100%的值被正确识别为少于或不少于50%.但是,这对100-499%之间的值不起作用.

到底发生了什么?

r percentage

1
推荐指数
2
解决办法
71
查看次数