问题标签 [derived-column]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
286 浏览

sql-server - SSIS 派生列 (DateKey)

我正在尝试创建一个派生列,它将日期转换为日期键,显然,我得到了正确的表达式,但是当我运行包并转到我的目标表时,我没有看到我的派生列已创建。我不确定可能是什么错误,请帮助! 在此处输入图像描述

0 投票
1 回答
94 浏览

date - 在 SSIS 派生列中显示日期维度中的日期

我创建了一个派生列以在 ssis 包中包含一个会计年度。该包包括一个带有 FiscalYear 列的 DateDimension。列中的数据显示为“SFY2018Q1”。列名称显示为“[[$DATE_DIM].[FQUARTER]]

我创建的表达式应该只显示 DateDimension 中的年份“2018”。但是,不是在派生列中解析“是红色的”。下面是我创建的表达式。

我还尝试通过排除“$”并添加表名 DateDim 来尝试表达。这些修改都不起作用。

非常感谢对我做错的任何帮助。

0 投票
1 回答
350 浏览

sql - 来自 SSIS 平面文件源中的平面文件抛出错误的断管符号

我有一个平面文件,其中包含一个带有特殊字符 ¦ 的字符串。SSIS 包也用于将此平面文件的内容移动到表中。pacake 中基本上有 3 个组件 1. 带有连接的平面文件 2. 派生列 3. 用于将数据插入表的 OLEDB 连接

当我插入时,我遇到了错误

“列的数据转换返回状态值 4 和状态文本,因为文本被截断或一个或多个字符在目标代码页中不匹配”

列数据类型为派生列中的 DT_STR

特殊字符 ¦ 导致了这个问题。此字符在租用时被视为 Ħ 的 2 个字符。定义的列大小是 10,当这个字符出现时,它将它打破为 11,我们得到上面的错误。

将输出列长度更改为 11 将解决此问题。当表列大小为 10 时,将条目插入表时是否会中断。

但是我觉得这不是一个更好的解决方法,因为如果源文件有 2 个损坏的管道符号而不是现在的 1 个,那么将来必须再次更改大小

平面文件中引发的错误的屏幕截图

0 投票
1 回答
1190 浏览

sql - SSIS中的派生列-尾随空格

我尝试了几种方法来格式化派生列以消除尾随空格。仅在 Excel 中查看列并传输到 Access 时格式化列是:

在我尝试过的派生列中:

当我查询列的长度时,当包运行(成功)时,我的结果仍然计算 1 个额外的空间:

结果

0 投票
1 回答
62 浏览

ssis - 派生列表达式不起作用,但没有给出错误

我正在尝试编写一个公式,该公式将为我提供基于报告期(varchar)的基本交易金额(Int)

因此,例如,如果报告期为 201803,则表达式应评估该期是否大于去年同月 201701 或小于去年下个月 201702,或者是否在今年 01 和 02 之间,依此类推。

我想出了以下公式,它不会给我一个错误,但是当我运行包时,当它应该是基本交易金额时,我最终在派生列中得到 0。

PrevYear01 列:(ReportingPeriod >= "Year(getdate()-1)" + "01") && (ReportingPeriod < "Year(getdate()-1)" + "02") ?基本交易金额:0

ThisYear01 列:(ReportingPeriod >= "Year(getdate())" + "01") && (ReportingPeriod < "Year(getdate())" + "02") ?基本交易金额:0

请帮忙!

0 投票
1 回答
479 浏览

ruby-on-rails - 如何让 graphql-ruby 从 ActiveRecord 模型中的查询中序列化计算/投影/派生/非数据库列

使用

我需要访问 new_column 值作为模型实例的属性。

我不想在模型上创建计算属性;数据必须来自构造的查询。必须加载非数据库列的数据,因为模型实例被#to_a

我已经阅读了在 ActiveRecord 查询中合并自定义 SELECT 子句在 Rails ActiveRecord 查询中返回自定义列,它们看起来相关但不相关。

具有嵌套模型和派生列值的 ActiveRecord 查询?通过 ActiveRecord 访问 SQL 计算列,并将计算列添加到 ActiveRecord 查询看起来像是在回答我的问题,但他们似乎说来自源查询的额外列值会自动附加到模型实例,而一个只是添加访问器以获取它们(或不获取它们)。

我已将attr_accessor新列的名称添加到模型的类中,但是当我将其作为 graphQL 响应返回时,这些属性似乎没有被序列化。我在哪里可以找到有关 AciveRecord#attributes 数组的实际机制以及如何向其中添加非数据库列的信息?

干杯

0 投票
0 回答
663 浏览

ssis - 派生列表达式给出截断错误

我有以下表达式: IsNull is column Name- 所有列都是数字

预期溢价:

([Isnull] < ExpectedMinPremium) ? ("Min" + ((DT_WSTR,10)(exp_pct_min * 100)) + "% = " + (DT_WSTR,10)ExpectedMinPremium) : ([Isnull] > ExpectedMaxPremium) ? ("Max" + ((DT_WSTR,10)(exp_pct_max * 100)) + "% = " + (DT_WSTR,10)ExpectedMaxPremium) : ""

该列的结果应如下所示: MAX 60% = 389727.600

创建派生列时我没有收到错误,但是一旦我运行包,我会收到以下消息:

“派生列”失败,因为发生了截断,并且截断行处置"Derived Column.Outputs[Derived Column Output].Columns[ExpectedPremium]"指定了截断失败。

指定组件的指定对象发生截断错误。

它写了一些行(少于输入),我增加了目标长度,但它不起作用。

如何修复这个表达式?

0 投票
1 回答
407 浏览

ssis - 除以零误差 (SSIS)

在 SSIS 中,我试图做一个简单的划分:

Derived Column所以我在 SSIS转换中写了以下表达式:

但我仍然得到除以零的错误!

我错过了什么?

0 投票
3 回答
229 浏览

ssis - 从可变长度组件列创建派生列

我希望得到您的指导。我有一列,由可变长度部分组成,需要分成单独的附加列。PCMRetrievalCode 列是 nvarchar 类型,由以下格式组成:

因此,在我的 SSIS 包中,我尝试将这些创建为派生列,但在拆分 PCMRetrievalCode 列时遇到了问题,该表达式基于 SchemaID 和 ContainerID 的可变长度组件。我尝试使用 FINDSTRING 函数,因为没有 CHARINDEX 并且正在尝试使用 DT_WSTR,因为这是 SQL Server nvarch 数据类型的 SSIS 兼容数据类型。这些是我在转换编辑器中尝试的表达式:

在此处输入图像描述

我认为 PackageCode 和 SchemaID 的表达式希望没问题,但我遇到困难的是 ContainerID 表达式。任何建议将不胜感激。提前致谢!

0 投票
1 回答
163 浏览

ssis - SSIS DTS_E_INDUCEDTRANSFORMFAILUREONERROR

我的 SSIS 包收到以下错误消息:

错误:数据流任务中的 0xC0049063,计算百分比变化 [34]:条件操作失败。错误:数据流任务中的 0xC0209029,计算百分比变化 [34]:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。

计算百分比变化中的表达式适用于某些数据,我认为这可能是一个长度问题,所以我为文本数据设置了 1000,但它仍然不起作用:

*Base_P100PremiumAmount_Curr != Base_P100PremiumAmount_Prev ?((DT_WSTR,1000)ABS((Base_P100PremiumAmount_Prev / (Base_P100PremiumAmount_Curr) * 100 - 100)) + "%") : (RetentionAmount_Curr != RetentionAmount_Prev ? (DT_WSTR,1000)ABS((RetentionAmount_Prev / (RetentionAmount_Curr) * 100 - 100) ) + "%" : (SignedSharePct_Curr != SignedSharePct_Prev ? (DT_WSTR,1000)ABS((SignedSharePct_Prev / (SignedSharePct_Curr) * 100 - 100)) + "%" : ""))*

在此处输入图像描述

谢谢