Проблема загрузки MDX Query в PowerBI при загрузке в SSMS без проблем - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь создать в PowerBI панель мониторинга, которая обновляется с помощью информации в сводной таблице, подключаясь напрямую к кубу SSAS.Я получил запрос MDX из файла Excel, и запрос отлично работает в SSMS.Однако, когда я импортирую запрос в PowerBI, числовые данные загружаются, но данные классификации (текст) загружаются как [Завод]. [Завод]. [Все], а не как фактическое имя завода.Любое понимание того, почему это происходит?

SELECT 
  CrossJoin(
    {[Measures].[Closing Balance Amount], 
    [Measures].[Closing Balance Quantity]}, 
    Hierarchize(
      {DrilldownLevel(
        {[Product SKU - Material].[Material Type].[All]}
      ) }
    )
  ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME, 
  HIERARCHY_UNIQUE_NAME ON COLUMNS, 
  NON EMPTY CrossJoin(
    CrossJoin(
      CrossJoin(
        Hierarchize(
          {DrilldownLevel(
            {[Profit Center].[Profit Center].[All]}
          ) }
        ), 
        Hierarchize(
          {DrilldownLevel(
            {[Product Hierarchy].[L11 BFPP].[All]}
          ) }
        )
      ), 
      Hierarchize(
        {DrilldownLevel(
          {[Product Hierarchy].[L14 SKU].[All]}
        ) }
      )
    ), 
    Hierarchize(
      {DrilldownLevel({[Plant].[Plant].[All]}) }
    )
  ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME, 
  HIERARCHY_UNIQUE_NAME ON ROWS 
FROM 
  (
    SELECT 
      (
        {[Product SKU - Material].[Material Type].& [1U] & [ROH], 
        [Product SKU - Material].[Material Type].& [1U] & [PACK], 
        [Product SKU - Material].[Material Type].& [1U] & [HALB], 
        [Product SKU - Material].[Material Type].& [1U] & [FERT]}
      ) ON COLUMNS, 
      (
        {[Profit Center].[Profit Center].& [1U] & [ULAM] & [0000100058], 
        [Profit Center].[Profit Center].& [1U] & [ULAM] & [0000100075], 
        [Profit Center].[Profit Center].& [1U] & [ULAM] & [0000100022], 
        [Profit Center].[Profit Center].& [1U] & [ULAM] & [0000100090], 
        [Profit Center].[Profit Center].& [1U] & [ULAM] & [0000100091], 
        [Profit Center].[Profit Center].& [1U] & [ULAM] & [0000900015]}
      ) ON ROWS 
    FROM 
      [Stock Balance]
  ) 
WHERE 
  (
    [Reporting Currency].[Reporting Currency].& [USD], 
    [Segment].[Segment].& [1U] & [0000001010], 
    [Company Code].[Company].[All], 
    [Time].[Month].& [2019] & [4]
  ) CELL PROPERTIES VALUE, 
  FORMAT_STRING, 
  LANGUAGE, 
  BACK_COLOR, 
  FORE_COLOR, 
  FONT_FLAGS

Я хотел бы видеть название завода и наименования SKU, а не просто ссылки.

1 Ответ

1 голос
/ 24 апреля 2019

Против Adventure Works у меня есть следующее:

1.

SELECT
   [Measures].[Internet Order Count] on 0,
   [Customer].[Customer].[Customer] on 1
FROM [Adventure Works]

Затем я импортирую это в Power BI с помощью "Import" и вышеуказанного сценария MDX.

Единственная небольшая странность в Power BI заключается в том, что заголовки / имена столбцов являются полными адресами:

enter image description here

Хотя это тривиально изменить -очень легко настроить заголовки столбцов.

В таблице имена элементов выглядят отлично:

enter image description here

2.

Если я включу член ALL, то все становится странным.Итак, скрипт, который я использую, теперь выглядит так:

SELECT
    [Measures].[Internet Order Count] on 0,
   {
    [Customer].[Customer].[All Customers],
    [Customer].[Customer].[Customer]
   } on 1
from [Adventure Works]

Все клиенты теперь не отображаются в визуализации - определенно не очень хорошо:

enter image description here

3.

Итак, в прошлый раз я попробовал живое соединение - теперь в области полей вообще нет члена ALL, но по крайней мере заголовки столбцов чисты:

enter image description here


Так что я бы предложил использовать прямое соединение с вашим кубом ИЛИ начать изучать кубы Tabular и получить план перехода к Tabular какИменно этот вид SSAS больше всего нравится Power BI.

...