【问题标题】:Issue loading MDX Query into PowerBI when it loads into SSMS with no problems当 MDX 查询加载到 SSMS 时,将 MDX 查询加载到 PowerBI 时没有问题
【发布时间】:2019-04-25 05:09:34
【问题描述】:

我正在尝试在 PowerBI 中创建一个仪表板,通过直接连接到 SSAS 多维数据集来刷新数据透视表中的信息。我从 Excel 文件中检索了 MDX 查询,该查询在 SSMS 中完美运行。但是,当我将查询导入 PowerBI 时,会加载数字数据,但会以 [Plant].[Plant].[All] 的形式加载分类数据(文本),而不是实际的工厂名称。对为什么会发生这种情况有任何见解吗?

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 名称,而不仅仅是参考。

【问题讨论】:

  • 嗨,Emily,您能否将 MDX 添加到问题中
  • 您是否只在 [Plant] 中出现这种行为,还是在其他层次结构中也会出现这种情况?
  • 所有层次结构都会发生这种情况
  • hmmm ...我添加了一个“答案”,但很抱歉,它没有多大帮助。我们有非常成熟的 OLAP 多维数据集,但我们目前正在移植到 Tabular,因此我们可以充分利用 Power BI ...

标签: powerbi ssas mdx


【解决方案1】:

我对 Adventure Works 有以下看法:

1.

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

然后我通过“导入”和上面的MDX 脚本将其导入 Power BI。

Power BI 中唯一有点奇怪的是列标题/名称是完整地址:

这很容易改变 - 很容易调整列标题。

在表格中,成员名称看起来不错:

2.

如果我包含ALL 成员,那么事情就会变得奇怪。 所以我现在使用的脚本是这样的:

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

所有客户现在都没有出现在可视化中 - 肯定不好:

3.

所以最后我尝试了 实时连接 - 现在字段区域中根本没有 ALL 成员,但至少列标题是干净的:


因此,我建议要么使用与您的多维数据集的实时连接,要么开始探索表格多维数据集并制定计划转移到表格,因为这是 Power BI 最喜欢的 SSAS 风格。

【讨论】:

    猜你喜欢
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多