Фабрика данных Azure V2: запрос MDX для SAP BW исключение Microsoft.DataTransfer.Common.Shared.HybridDeliveryException
Я пытаюсь извлечь данные из системы SAP BW в озеро данных Azure, используя запрос MDX в коннекторе SAP BW. Но я получаю сообщение об исключении в Azure:
{
"errorCode": "2200",
"message": "Failure happened on 'Source' side. ErrorCode=UserErrorInvalidDataValue,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Column '[Measures].[SomeMeasure]' contains an invalid value '4.000-2'. Cannot convert '4.000-2' to type 'Decimal'.,Source=Microsoft.DataTransfer.Common,''Type=System.InvalidCastException,Message=Specified cast is not valid.,Source=Microsoft.DataTransfer.Common,'",
"failureType": "UserError",
"target": "Copy1"
}
Из ошибки я могу понять, что в Мерах есть некоторые значения, которые на самом деле не являются числовыми. Изменение или исправление значения в системе SAP не входит в мои задачи. Есть ли какая-либо опция в соединении Фабрика данных V2 для SAP BW, чтобы я мог определить тип данных Меры для ввода и / или вывода. или в запросе MDX есть какая-то точная настройка, чтобы я мог получить данные без ошибок?
Это мой запрос MDX:
SELECT
{[Measures].[SomeMeasure]} ON COLUMNS,
NON EMPTY
{ [0COMP_CODE].[LEVEL01].MEMBERS *
[0COSTELMNT].[LEVEL01].MEMBERS }
ON ROWS
FROM SomeQube
WHERE {[0FISCPER].[K42015008]}
1 ответ
Ваш фильтр неверен. Измерение SAP 0FISCPER в формате ГГГГМММ. Вам необходимо ввести ГДЕ {[0FISCPER].[2015008]}. Я почти уверен, что "K4", который вы ввели, это ваш вариант финансового года, который вы не должны указывать там. Такие объекты, как этот K4, называются составным инфообъектом (к которому относится ваш финансовый год / период, если вы представляете его как иерархическую структуру родительский / дочерний). Но в этом конкретном случае вам не нужно указывать вариант финансового года. Просто удалите К4.
Я настоятельно советую не пропускать "неправильные строки". Я советую вам, что вы всегда должны проваливать работу, когда происходит исключение, и исследовать проблему качества данных. Никогда не подвергайте целостность данных предприятия риску. Данные SAP должны быть точными на 100%, а не на 99,9999%.
Если вы можете пропустить эти неправильные строки, вы можете установить enableSkipIncompatibleRow как true. Пожалуйста, укажите это сделать c.