Поделиться через


Azure Cosmos DB для виртуальных ядер MongoDB

Сводка

Товар Описание
Состояние выпуска Бета-версия
Поддерживаемые продукты Power BI (семантические модели)
Power BI (потоки данных)
Fabric (Dataflow 2-го поколения)
Поддерживаемые типы проверки подлинности Базовая аутентификация (имя пользователя и пароль) для всех
Power BI Desktop,
Power Query Online с помощью шлюза и
Power Query Online
Справочная документация по функциям Поддержка
Справочник по функции Power Query M

Предпосылки

Поддерживаемые возможности

Подключение к базе данных Azure Cosmos DB для MongoDB vCore из Power Query Desktop

Чтобы подключиться к виртуальному ядеру Azure Cosmos DB для MongoDB из Power Query Desktop, сделайте следующее:

  1. Выберите Azure Cosmos DB for MongoDB vCore в интерфейсе Get Data. Интерфейс получения данных в Power Query Desktop зависит от приложений. Дополнительные сведения о Power Query Desktop Получение данных для вашего приложения, перейдите к разделу "Где получить данные".

  2. В Azure Cosmos DB для виртуальных ядер MongoDB укажите конечную точку Cosmos DB. При необходимости укажите имя базы данных и имя коллекции. Если имя базы данных не указано, на экране навигатора отображаются все базы данных и соответствующие коллекции. При указании имен базы данных и коллекций отображается только эта коллекция. Указание имени коллекции без имени базы данных приводит к ошибке подключения.

    Снимок экрана: подключение к базе данных виртуальных ядер Azure Cosmos DB для MongoDB.

  3. Выберите режим подключения к данным Import или DirectQuery .

  4. Нажмите ОК.

  5. Если вы подключаетесь к этой базе данных в первый раз, введите имя пользователя и пароль перед нажатием кнопки Connect.

    Снимок экрана, показывающий аутентификацию базы данных Azure Cosmos DB для MongoDB vCore.

  6. В навигаторе выберите нужные сведения о базе данных. Список коллекций отображается в каждой базе данных. Выберите одну или несколько коллекций, а затем выберите "Загрузить ", чтобы загрузить данные или преобразовать данные, чтобы продолжить преобразование данных в редакторе Power Query. Список баз данных и коллекций затрагивается, если ранее было предоставлено необязательное имя базы данных и имя коллекции .

    Снимок экрана: загрузка или преобразование виртуальных ядер в Azure Cosmos DB для MongoDB.

Подключение к базе данных виртуальных ядер Azure Cosmos DB для MongoDB из Power Query Online

Чтобы подключиться к базе данных Azure Cosmos DB vCore для MongoDB через Power Query Online:

  1. Выберите опцию Azure Cosmos DB for MongoDB vCore в интерфейсе импорта данных. Различные приложения имеют различные способы получения данных в Power Query Online. Дополнительные сведения о том, как воспользоваться функцией получения данных в Power Query Online из вашего приложения, см. в разделе Где получить данные.

    Снимок экрана: значок виртуального ядра Azure Cosmos DB для MongoDB в Power Query в Интернете.

  2. В появившемся диалоговом окне Azure Cosmos DB для виртуального ядра MongoDB введите конечную точку Cosmos DB. При необходимости укажите имя базы данных и имя коллекции. Если имя базы данных не указано, на экране навигатора отображаются все базы данных и соответствующие коллекции. При указании имен базы данных и коллекций отображается только эта коллекция. Указание имени коллекции без имени базы данных приводит к ошибке подключения.

    Снимок экрана: диалоговое окно подключения Azure Cosmos DB for MongoDB vCore онлайн в Power Query.

  3. Можно выбрать существующее подключение или шлюз данных. Вы можете подключиться, указав базовый тип проверки подлинности, указав имя пользователя и пароль, связанные с конечной точкой, в разделе учетных данных подключения и нажмите кнопку "Далее".

  4. Выберите одну или несколько таблиц для импорта и использования, а затем выберите "Преобразовать данные", чтобы преобразовать данные в редакторе Power Query.

Собственные запросы Mongo

Пользовательская Value.NativeQuery функция позволяет отправлять собственные запросы MongoDB в источник данных. В следующем примере показано, как использовать функцию для создания таблицы при первоначальной загрузке данных. Однако эта функция может вызываться в любое время, когда доступен параметр преобразования данных .

Собственные запросы Mongo поддерживаются только в режиме прямого запроса .

  1. С помощью навигатора выберите по крайней мере одну коллекцию и выберите команду "Преобразовать данные".

    Снимок экрана: навигатор собственных запросов Mongo с выделенными данными преобразования.

  2. Выберите расширенный редактор. Откроется диалоговое окно расширенного редактора , показывающее начальный запрос, который будет использоваться для получения всех данных в выбранной коллекции.

    Снимок экрана, показывающий исходный расширенный редактор родного запроса Mongo перед изменениями.

  3. Функция Value.NativeQuery принимает два аргумента: источник и сам запрос. Переменная source заполняется всеми сведениями, необходимыми для подключения к базе данных. При необходимости обновите имя коллекции, с которой выполняется запрос. Коллекция не должна совпадать с выбранным в навигаторе.

    Снимок экрана, на котором показан начальный расширенный редактор естественного запроса Mongo после изменений.

  4. Второй аргумент — допустимый запрос MongoDB, заключенный в двойные кавычки. Кавычки в запросе экранируются другой кавычкой, например "num1" до ""$num1"".

  5. Выберите "Готово", чтобы преобразовать данные.

  6. Так как данные схемы не возвращаются из Cosmos DB после выполнения запроса, результирующая таблица определяет все типы столбцов как любые. Преобразуйте столбцы с помощью обнаружения типа данных или вручную измените тип данных для столбцов, интересующих вас. При желании обновите имя результирующей таблицы.

    Снимок экрана, показывающий преобразование типа данных для нативного запроса Mongo.

  7. После закрытия редактора Power Query и применения изменений результирующая таблица появится на панели данных .

    Снимок экрана с окончательным результатом преобразования типа данных нативного запроса Mongo.

Для получения сведений об ограничениях функции обратитесь к разделу Устранение неполадок и ограниченияValue.NativeQuery.

Поддержка прямых запросов

Direct Query поддерживает следующие функции Power Query:

  • Date.From, DateTime.FromDateTimeZone.FromDate.DayDate.DayOfWeekDate.DayOfYearDate.MonthDate.WeekOfYearDate.Year
  • List.Average, List.Contains, List.FirstList.LastList.MaxList.MinList.Sum
  • Int64.From, Currency.From, Percentage.FromText.FromLogical.FromLogical.FromTextLogical.ToText
  • Number.Abs, Number.Mod, Number.RoundNumber.RoundAwayFromZeroNumber.RoundDownNumber.RoundTowardZeroNumber.RoundUp
  • Table.RowCount
  • Time.Hour Time.Minute Time.Second
  • Value.Add Value.Divide Value.Equals Value.Multiply Value.NullableEquals Value.Subtract

Устранение неполадок и ограничений

  • Так как функции Текста Power Query еще не поддерживаются, ни в столбце не используются текстовые фильтры при преобразовании данных в режиме прямого запроса .

    • Примеры таких фильтров: начинается с, заканчивается с, содержит и т. д.
    • Сообщение об ошибке появляется аналогично Неподдерживаемая операция: вызов неподдерживаемой функции: "Text.StartsWith"
  • Так как при использовании прямого запроса поддерживаются не все функции Power Query, либо переключаются в режим импорта или выдают собственный запрос Mongo , который выполняет намерение одного или нескольких отсутствующих функций Power Query.

  • При использовании собственных запросов Mongo не возвращаются сведения о схеме. Все столбцы считаются any и необходимо вручную преобразовать в нужный тип данных.

  • Функция Value.NativeQuery выборки примеров работает только с первым документом, возвращаемым из запроса, для построения результирующей таблицы. Следствием является то, что если в последующих документах есть больше полей, эти поля не включаются в результирующую таблицу. Можно либо использовать столбцы, специфичные для проекта, либо запросить определенное компенсирующее представление.

  • Пользовательская Value.NativeQuery функция может использоваться только с прямым запросом , а не с режимом импорта.

  • Power BI удаляет миллисекунды из форматов даты при применении встроенного фильтра. Таким образом, если тип даты имеет миллисекунда в нем, то эти встроенные фильтры не работают.

  • Отрицательные времена OLE (даты до 1899, 30 декабря) для Date.From, DateTime.From, и DateTimeZone.From не работают.

  • Использование функции Power BI DateTimeZone.From приводит к ошибке (400): ошибка неправильного запроса с сервера Cosmos DB, так как dateFromString функции не добавляются в Cosmos DB для MongoDB.

  • Имена полей, содержащие специальные символы, не поддерживаются (например, $, , .@и т. д.).

  • При обнаружении деления на 0 с помощью прямого запроса запрос завершается сбоем. Он отличается от обычного #infinity результата Power BI, но соответствует поведению MongoDB.

  • В настоящее время следующие типы данных считаются строками. Таким образом, значения с этими типами данных нельзя использовать для фильтрации в Direct Query, так как операция push down не выполняется успешно.

    • decimal128
    • regularExpression
    • отметка времени
  • Рекомендация для любого поля, которое вы хотите использовать в Power BI, заключается в том, чтобы убедиться, что поле находится в каждом документе в коллекции. Он гарантирует, что он всегда отображается в Power BI.