Как получить значение столбца из сложного json при создании конвейера ADF

У меня есть сложный json из базы данных космоса с fsid и fpid в строковом формате. Я перемещаю данные в sql, где они являются целыми числами. Я не могу получить значение, прочитанное из космоса для этого конкретного столбца, и преобразовать его в int.

пример JSON:

{
    "id": "test",
    "documentType": "testing",
    "content": {
        "id": "test1",
       
      
        "current": {
            "fsid": "PP",
            "fpid": "2021",         
            "publishStatus": "Draft"
        },
        "released": null,
        "name": "PPGG"
    },
    "date": "0001-01-01T00:00:00+00:00",
    "_ts": 111
}

Цель:

  1. Получите значение для fsid и преобразуйте его в целое число для передачи приемника SQL на основе условия. Например, если fsid — PP, получите int значение 1, если fsid — QQ, получите значение 2
  2. преобразовать дату в формат данных и времени sql

Пытался: Я пробовал использовать производный столбец toInteger(content.current.fsid), но он читает ноль. Кроме того, я пробовал использовать cast , но я не получаю само имя столбца и показываю только столбцы верхнего уровня.

Любое предложение, пожалуйста?

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
58
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Получите значение для fsid и преобразуйте его в целое число для передачи приемника SQL на основе условия. Например, если fsid — PP, получите int значение 1, если fsid — QQ, получите значение 2

Поскольку ваш fsid находится в строке, например, PP или любых других символов. Если вы попытаетесь преобразовать в целое число, символы строки будут прочитаны как нулевые.

Когда вы преобразуете его в целое число на основе условия, вам нужно использовать производный столбец с условием IIF или оператором случая, как показано ниже:

Выражение:

fsid : iif (content.current.fsid=='PP',1,iif (content.current.fsid=='QQ',2,0))
//if fsid == PP then 1 else check fsid == QQ if it true then 2 if both conditions are not matching then 0

Предварительный просмотр данных:

преобразовать дату в формат данных и времени sql

Вы можете использовать преобразование приведения для преобразования даты в необходимый формат, как показано ниже:

Спасибо, я нашел колонку, используя Select, а затем Case. Я воспользовался вашим предложением, чтобы назначить дату, и это сработало. Спасибо.

Vishal Verma 17.04.2024 11:45

Другие вопросы по теме

Похожие вопросы

Уведомления FCM V1 не доставляются из Центра уведомлений Azure
Извлечение информации о разрешениях из отчета о разрешениях, созданного в результате вызова DevOps API в PowerShell
Передача пользовательского идентификатора отслеживания из приложения Logic в приложение Function
Microsoft Entra ID: получение старой версии токена, несмотря на установку accessTokenAcceptedVersion на 2
##[ошибка]Терм New-AzActionGroupReceiver не распознается как имя командлета, функции, файла сценария или работающей программы
Переход с устаревшего пакета SDK Azure PHP на Azure CLI для операций с хранилищем BLOB-объектов
Как сохранить данные из qdrant в хранилище BLOB-объектов Azure/хранилище файловых ресурсов?
Мне нужно получить ResourceGroup и ResourceID связанной виртуальной машины Azure моего узла DSC
Как предоставить заголовок ответа «Content-Disposition» в веб-API ASP.NET, размещенном в Службе приложений Azure?
Устранение неполадок бицепса