Вложенное условие производного столбца служб SSIS не возвращает реального значения - PullRequest
0 голосов
/ 01 октября 2019

Я создал производный столбец с этими условиями,

>   Sample_type == "Échantillon" && [Assay Name] == "qHCV" &&
> [Interpretation 1] == "Non détecté" ? "Non détecté" : (Sample_type ==
> "Échantillon" && [Assay Name] == "qHCV" && [Interpretation 1] == "< 10
> détecté" ? "< 10 détecté" : (Sample_type == "Échantillon" && [Assay
> Name] == "qHCV" && [Interpretation 1] != "< 10 détecté" &&
> [Interpretation 1] != "Non détecté" ? "positif" : (Sample_type ==
> "Échantillon" && [Assay Name] == "qHBV" && [Interpretation 1] == "< 10
> détecté" ? "< 10 détecté" : (Sample_type == "Échantillon" && [Assay
> Name] == "qHBV" && [Interpretation 1] == "Non détecté" ? "Non détecté"
> : (Sample_type == "Échantillon" && [Assay Name] == "qHBV" &&
> (DT_I4)[Interpretation 1] < 2000 ? "<2000" : (Sample_type ==
> "Échantillon" && [Assay Name] == "qHBV" && (DT_I4)[Interpretation 1] >
> 2000 ? ">2000" : (Sample_type == "Échantillon" && [Assay Name] ==
> "qHIV-1" && (DT_I4)[Interpretation 1] < 50 ? "<50" : (Sample_type ==
> "Échantillon" && [Assay Name] == "qHIV-1" && [Interpretation 1] == "<
> 30 détecté" ? "< 30 détecté" : (Sample_type == "Échantillon" && [Assay
> Name] == "qHIV-1" && [Interpretation 1] == "Non détecté" ? "Non
> détecté" : (Sample_type == "Échantillon" && [Assay Name] == "qHIV-1"
> && (DT_I4)[Interpretation 1] > 50 ? ">50" : "error"))))))))))

, когда я выполняю свой проект ssis, я получаю следующую ошибку

> SSIS package "C:\Users\Aymen\documents\visual studio
> 2010\projects\Integration Services Project1\Integration Services
> Project1\Package.dtsx" starting. Information: 0x4004300A at Data Flow
> Task, SSIS.Pipeline: Validation phase is beginning. Information:
> 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is
> beginning. Warning: 0x80049304 at Data Flow Task, SSIS.Pipeline:
> Warning: Could not open global shared memory to communicate with
> performance DLL; data flow performance counters are not available.  To
> resolve, run this package as an administrator, or on the system's
> console. Information: 0x40043006 at Data Flow Task, SSIS.Pipeline:
> Prepare for Execute phase is beginning. Information: 0x40043007 at
> Data Flow Task, SSIS.Pipeline: Pre-Execute phase is beginning.
> Information: 0x402090DC at Data Flow Task, Flat File Source [35]: The
> processing of file "C:\Users\Aymen\Desktop\merged.csv" has started.
> Information: 0x4004300C at Data Flow Task, SSIS.Pipeline: Execute
> phase is beginning. Information: 0x402090DE at Data Flow Task, Flat
> File Source [35]: The total number of data rows processed for file
> "C:\Users\Aymen\Desktop\merged.csv" is 10816. Error: 0xC0049063 at
> Data Flow Task, Derived Column 1 [23]: The conditional operation
> failed. Error: 0xC0209029 at Data Flow Task, Derived Column 1 [23]:
> SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "Derived
> Column 1" failed because error code 0xC0049063 occurred, and the error
> row disposition on "Derived Column 1.Outputs[Derived Column
> Output].Columns[VIR_CAT]" specifies failure on error. An error
> occurred on the specified object of the specified component.  There
> may be error messages posted before this with more information about
> the failure. Error: 0xC0047022 at Data Flow Task, SSIS.Pipeline: SSIS
> Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on
> component "Derived Column 1" (23) failed with error code 0xC0209029
> while processing input "Derived Column Input" (24). The identified
> component returned an error from the ProcessInput method. The error is
> specific to the component, but the error is fatal and will cause the
> Data Flow task to stop running.  There may be error messages posted
> before this with more information about the failure. Information:
> 0x40043008 at Data Flow Task, SSIS.Pipeline: Post Execute phase is
> beginning. Information: 0x402090DD at Data Flow Task, Flat File Source
> [35]: The processing of file "C:\Users\Aymen\Desktop\merged.csv" has
> ended. Information: 0x4004300B at Data Flow Task, SSIS.Pipeline: "OLE
> DB Destination" wrote 0 rows. Information: 0x40043009 at Data Flow
> Task, SSIS.Pipeline: Cleanup phase is beginning. Task failed: Data
> Flow Task Warning: 0x80019002 at Package: SSIS Warning Code
> DTS_W_MAXIMUMERRORCOUNTREACHED.  The Execution method succeeded, but
> the number of errors raised (3) reached the maximum allowed (1);
> resulting in failure. This occurs when the number of errors reaches
> the number specified in MaximumErrorCount. Change the
> MaximumErrorCount or fix the errors. SSIS package
> "C:\Users\Aymen\documents\visual studio 2010\projects\Integration
> Services Project1\Integration Services Project1\Package.dtsx"
> finished: Failure.

Я заметил, что проблема связана спреобразование [интерпретация 1] столбца. этот тип столбца является строкой и иногда может содержать только числа, которые я также пытался преобразовать с помощью DT_NUMERIC, и появляется та же ошибка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...