none
微软示例:Analysis Services Tutorial问题请教 RRS feed

  • 问题

  • 示例中的Internet Sales Order Details.dim维度,在VS点“处理”时产生的执行日志如下,对于日志有个疑问:“Due Date”、“Order Date”和“Ship Date”三个属性的NameColumn都是对应“Date.SimpleDate”,但KeyColumns不同。看处理日志却发现,产生的查询语句有问题。

    比如“Due Date”的处理语句where条件是“[dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]”,怎么不是“[dbo_FactInternetSales].[DueDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]”呢?

    过滤条件明显是错的。这个错误请问怎么修正。即三个日期对应的抽取数据语句where条件修正正确。谢谢!

    <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
      <Parallel>
        <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100">
          <Object>
            <DatabaseID>Analysis Services Tutorial21</DatabaseID>
            <DimensionID>Internet Sales Order Details</DimensionID>
          </Object>
          <Type>ProcessUpdate</Type>
          <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
        </Process>
      </Parallel>
    </Batch>
     已完成 多维数据集“Analysis Services Tutorial”的处理。
      开始时间: 2010/11/8 15:15:55;结束时间: 2010/11/8 15:16:02;持续时间: 0:00:07
      已完成 度量值组“Internet Sales”的处理。
       开始时间: 2010/11/8 15:16:01;结束时间: 2010/11/8 15:16:02;持续时间: 0:00:01
      已完成 度量值组“Internet Sales Reason”的处理。
       开始时间: 2010/11/8 15:16:01;结束时间: 2010/11/8 15:16:02;持续时间: 0:00:01
     已完成 维度“Internet Sales Order Details”的处理。
      开始时间: 2010/11/8 15:15:45;结束时间: 2010/11/8 15:15:55;持续时间: 0:00:10
      已完成 维度属性“(All)”的处理。
       开始时间: 2010/11/8 15:15:46;结束时间: 2010/11/8 15:15:46;持续时间: 0:00:00
      已完成 维度属性“Customer PO Number”的处理。 已读取 2 行。
       开始时间: 2010/11/8 15:15:46;结束时间: 2010/11/8 15:15:51;持续时间: 0:00:05
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[CustomerPONumber] AS [dbo_FactInternetSalesCustomerPONumber0_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales]
      已完成 维度属性“Due Date”的处理。 已读取 1125 行。
       开始时间: 2010/11/8 15:15:47;结束时间: 2010/11/8 15:15:51;持续时间: 0:00:04
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[DueDateKey] AS [dbo_FactInternetSalesDueDateKey0_0],[dbo_DimDate].[dbo_DimDateSimpleDate1_0] AS [dbo_DimDateSimpleDate1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],
          (
        

        SELECT DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)   AS [dbo_DimDateSimpleDate1_0],[DateKey] AS [dbo_DimDateDateKey1_1]
      FROM [dbo].[DimDate]
         )
         AS [dbo_DimDate]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]
      )
     
      )
      已完成 层次结构“Internet Sales Orders”的处理。
       开始时间: 2010/11/8 15:15:53;结束时间: 2010/11/8 15:15:54;持续时间: 0:00:01
      已完成 维度属性“Item Description”的处理。 已读取 60399 行。
       开始时间: 2010/11/8 15:15:52;结束时间: 2010/11/8 15:15:53;持续时间: 0:00:01
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[SalesOrderNumber] AS [dbo_FactInternetSalesSalesOrderNumber0_0],[dbo_FactInternetSales].[SalesOrderLineNumber] AS [dbo_FactInternetSalesSalesOrderLineNumber0_1],[dbo_FactInternetSales].[CustomerPONumber] AS [dbo_FactInternetSalesCustomerPONumber0_2],[dbo_FactInternetSales].[OrderDateKey] AS [dbo_FactInternetSalesOrderDateKey0_3],[dbo_FactInternetSales].[DueDateKey] AS [dbo_FactInternetSalesDueDateKey0_4],[dbo_FactInternetSales].[ShipDateKey] AS [dbo_FactInternetSalesShipDateKey0_5],[dbo_DimProduct].[EnglishProductName] AS [dbo_DimProductEnglishProductName1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],[dbo].[DimProduct] AS [dbo_DimProduct]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[ProductKey]   =  [dbo_DimProduct].[ProductKey]
      )
     
      )
      已完成 维度属性“Order Date”的处理。 已读取 1125 行。
       开始时间: 2010/11/8 15:15:47;结束时间: 2010/11/8 15:15:51;持续时间: 0:00:04
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[OrderDateKey] AS [dbo_FactInternetSalesOrderDateKey0_0],[dbo_DimDate].[dbo_DimDateSimpleDate1_0] AS [dbo_DimDateSimpleDate1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],
          (
        

        SELECT DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)   AS [dbo_DimDateSimpleDate1_0],[DateKey] AS [dbo_DimDateDateKey1_1]
      FROM [dbo].[DimDate]
         )
         AS [dbo_DimDate]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]
      )
     
      )
      已完成 维度属性“Order Number”的处理。 已读取 27660 行。
       开始时间: 2010/11/8 15:15:46;结束时间: 2010/11/8 15:15:51;持续时间: 0:00:05
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[SalesOrderNumber] AS [dbo_FactInternetSalesSalesOrderNumber0_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales]
      已完成 维度属性“Ship Date”的处理。 已读取 1125 行。
       开始时间: 2010/11/8 15:15:47;结束时间: 2010/11/8 15:15:51;持续时间: 0:00:04
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[ShipDateKey] AS [dbo_FactInternetSalesShipDateKey0_0],[dbo_DimDate].[dbo_DimDateSimpleDate1_0] AS [dbo_DimDateSimpleDate1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],
          (
        

        SELECT DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)   AS [dbo_DimDateSimpleDate1_0],[DateKey] AS [dbo_DimDateDateKey1_1]
      FROM [dbo].[DimDate]
         )
         AS [dbo_DimDate]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]
      )
     
      )

    2010年11月8日 7:30

全部回复

  • 懂的麻烦帮解答下,谢谢

    2010年11月8日 9:19
  • 来个高手啊

    2010年11月9日 1:09
  • 不能沉啊
    2010年11月9日 3:46
  • 浮上来

    2010年11月9日 7:53
  • 没人吗?
    2010年11月10日 1:11
  • 上去上去
    2010年11月10日 5:28
  • 版主,帮看看,谢
    2010年11月10日 8:40
  • 你用的是哪个版本?我用SQL Server 2008 R2, 没有这个问题。
    2010年11月10日 13:29
    版主
  • sql版本:

    10.0 RTM

    10.0.1600.22

    2010年11月11日 6:42
  • Install sql2k8 sp2 then try again.
    2010年11月11日 14:01
  • 估计跟sp2无关,怀疑原来的cube被修改过。
    想不想时已是想,不如不想都不想。
    2010年11月12日 2:48
    版主
  • 帮主,不行啊

    1、我上微软网站下载并全新安装了SQL SERVER 2008 R2

    2、重新下载了实例数据库AdventureWorks2008R2_RTM.exe,并安装

    http://msftdbprodsamples.codeplex.com/releases/view/45907

    3、重新下载了例子程序SQL2008R2.All_Product_Samples_Without_DBs.x86.msi,并安装

    http://sqlserversamples.codeplex.com/releases/view/45923

    4、打开SQL2008R2.All_Product_Samples_Without_DBs安装后的Analysis Services Tutorial Lesson 10 Complete,对维度Internet Sales Order Details.dim处理,产生问题依旧啊,附日志:

    <Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
      <Parallel>
        <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200">
          <Object>
            <DatabaseID>Analysis Services Tutorial</DatabaseID>
            <DimensionID>Internet Sales Order Details</DimensionID>
          </Object>
          <Type>ProcessUpdate</Type>
          <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
        </Process>
      </Parallel>
    </Batch>
     已完成 维度“Internet Sales Order Details”的处理。
      开始时间: 2010/11/12 14:30:33;结束时间: 2010/11/12 14:30:37;持续时间: 0:00:03
      已完成 维度属性“(All)”的处理。
       开始时间: 2010/11/12 14:30:34;结束时间: 2010/11/12 14:30:34;持续时间: 0:00:00
      已完成 维度属性“Customer PO Number”的处理。 已读取 2 行。
       开始时间: 2010/11/12 14:30:34;结束时间: 2010/11/12 14:30:35;持续时间: 0:00:01
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[CustomerPONumber] AS [dbo_FactInternetSalesCustomerPONumber0_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales]
      已完成 维度属性“Due Date”的处理。 已读取 1125 行。
       开始时间: 2010/11/12 14:30:34;结束时间: 2010/11/12 14:30:35;持续时间: 0:00:01
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[DueDateKey] AS [dbo_FactInternetSalesDueDateKey0_0],[dbo_DimDate].[dbo_DimDateSimpleDate1_0] AS [dbo_DimDateSimpleDate1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],
          (
        

        SELECT DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)   AS [dbo_DimDateSimpleDate1_0],[DateKey] AS [dbo_DimDateDateKey1_1]
      FROM [dbo].[DimDate]
         )
         AS [dbo_DimDate]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]
      )
     
      )
      已完成 层次结构“Internet Sales Orders”的处理。
       开始时间: 2010/11/12 14:30:36;结束时间: 2010/11/12 14:30:37;持续时间: 0:00:00
      已完成 维度属性“Item Description”的处理。 已读取 60399 行。
       开始时间: 2010/11/12 14:30:35;结束时间: 2010/11/12 14:30:36;持续时间: 0:00:00
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[SalesOrderNumber] AS [dbo_FactInternetSalesSalesOrderNumber0_0],[dbo_FactInternetSales].[SalesOrderLineNumber] AS [dbo_FactInternetSalesSalesOrderLineNumber0_1],[dbo_FactInternetSales].[CustomerPONumber] AS [dbo_FactInternetSalesCustomerPONumber0_2],[dbo_FactInternetSales].[OrderDateKey] AS [dbo_FactInternetSalesOrderDateKey0_3],[dbo_FactInternetSales].[DueDateKey] AS [dbo_FactInternetSalesDueDateKey0_4],[dbo_FactInternetSales].[ShipDateKey] AS [dbo_FactInternetSalesShipDateKey0_5],[dbo_DimProduct].[EnglishProductName] AS [dbo_DimProductEnglishProductName1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],[dbo].[DimProduct] AS [dbo_DimProduct]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[ProductKey]   =  [dbo_DimProduct].[ProductKey]
      )
     
      )
      已完成 维度属性“Order Date”的处理。 已读取 1125 行。
       开始时间: 2010/11/12 14:30:34;结束时间: 2010/11/12 14:30:35;持续时间: 0:00:01
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[OrderDateKey] AS [dbo_FactInternetSalesOrderDateKey0_0],[dbo_DimDate].[dbo_DimDateSimpleDate1_0] AS [dbo_DimDateSimpleDate1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],
          (
        

        SELECT DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)   AS [dbo_DimDateSimpleDate1_0],[DateKey] AS [dbo_DimDateDateKey1_1]
      FROM [dbo].[DimDate]
         )
         AS [dbo_DimDate]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]
      )
     
      )
      已完成 维度属性“Order Number”的处理。 已读取 27660 行。
       开始时间: 2010/11/12 14:30:34;结束时间: 2010/11/12 14:30:35;持续时间: 0:00:01
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[SalesOrderNumber] AS [dbo_FactInternetSalesSalesOrderNumber0_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales]
      已完成 维度属性“Ship Date”的处理。 已读取 1125 行。
       开始时间: 2010/11/12 14:30:34;结束时间: 2010/11/12 14:30:35;持续时间: 0:00:00
       SQL 查询 1
        SELECT
      DISTINCT
     [dbo_FactInternetSales].[ShipDateKey] AS [dbo_FactInternetSalesShipDateKey0_0],[dbo_DimDate].[dbo_DimDateSimpleDate1_0] AS [dbo_DimDateSimpleDate1_0]
      FROM [dbo].[FactInternetSales] AS [dbo_FactInternetSales],
          (
        

        SELECT DATENAME(mm, FullDateAlternateKey) + ' ' +
    DATENAME(dd, FullDateAlternateKey) + ', ' +
    DATENAME(yy, FullDateAlternateKey)   AS [dbo_DimDateSimpleDate1_0],[DateKey] AS [dbo_DimDateDateKey1_1]
      FROM [dbo].[DimDate]
         )
         AS [dbo_DimDate]
      WHERE
      (
      
      (
       [dbo_FactInternetSales].[OrderDateKey]   =  [dbo_DimDate].[dbo_DimDateDateKey1_1]
      )
     
      )

    2010年11月12日 7:07