小编Mig*_*uel的帖子

从字符串转换日期和/或时间时转换失败

我有一个问题,因为我一直在使用这个查询没有问题......直到现在:

UPDATE T1
SET ORDINAL = DATEDIFF(DAY, T2.Opening_Date, T1.Date)
FROM FactTransactions T1
INNER JOIN DimStore T2 ON T1.cod_store = T2.cod_storeKey
Run Code Online (Sandbox Code Playgroud)

但现在它给了我一个错误:

从字符串转换日期和/或时间时转换失败

我不知道是怎么回事。以下是列:

Ordinal(numeric,null)
Opening_date(varchar, not null)
Date(varchar, not null)
cod_store(int,not null)
cod_storekey(PK,int, not null)
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

8
推荐指数
2
解决办法
20万
查看次数

如何比较不同商店的前几周或几个月的交易数量

我需要比较不同商店自开业以来每周和每月的交易次数。问题是这些商店的开业日期不同。

所以,这个想法是比较前几周或几个月的交易数量

这就是我所拥有的:

 Canal Key 1

   Recount FactTransactions

                              Month1-2015 Month2-2015 Month3-2015 Month4-2015 Month5-2015 Month6-2015

 Type of store     Cod Store 

Spain     
         2          Store 1                                              5         6        10
                    Store 2      10          20            40            50        60       85        
         4          
                    Store 3      31          45            100           315       441      625              
                    Store 4                                10            20        32       45
Portugal
        1       
                    Store 5                                                                 12
Run Code Online (Sandbox Code Playgroud)

这就是我想要获得的(比较自开业之日起的不同商店):

    Canal Key 1

   Recount FactTransactions

                              Month1 (or Week) Month2 Month3 Month4 Month5 Month6

 Type of store     Cod Store 

Spain     
         2          Store 1       5              6      10 …
Run Code Online (Sandbox Code Playgroud)

sql-server ssas

4
推荐指数
1
解决办法
249
查看次数

如何创建日期表

我在尝试创建 DimDate 时遇到问题。

这就是我尝试过的:

CREATE TABLE [dbo].[DimDate] (
    /*[ID] [int] IDENTITY(1,1) NOT NULL--Use this line if you just want an  autoincrementing counter AND COMMENT BELOW LINE*/
    [ID] [VARCHAR](10) NOT NULL --TO MAKE THE ID THE YYYYMMDD FORMAT USE THIS LINE AND COMMENT ABOVE LINE.
    ,[Date] [DATETIME] NOT NULL
    ,[StandardDate] [VARCHAR](10) NULL
    ,[Day] [CHAR](2) NOT NULL
    ,[DaySuffix] [VARCHAR](4) NOT NULL
    ,[DayOfWeek] [VARCHAR](9) NOT NULL
    ,[DOWInMonth] [TINYINT] NOT NULL
    ,[DayOfYear] [INT] NOT NULL
    ,[WeekOfMonth] [TINYINT] NOT NULL
    ,[WeekOfYear] [TINYINT] NOT NULL
    ,[Month] …
Run Code Online (Sandbox Code Playgroud)

sql-server

2
推荐指数
1
解决办法
7274
查看次数

从另一个数据库更新表

我必须从位于另一个数据库中的另一个“table1”更新“table2”。位于另一个数据库中的“table1”每天更新为最后一天的事务。我只想用添加到“table1”中的新值更新“table2”。数据库位于同一台服务器中。

行不会从“table1”中删除,这是我想重放到“table2”中的事务的历史记录,因为“table2”(在同一服务器的另一个数据库中)将用于 SSAS,用于 BI。

我认为这需要一个程序。这是我尝试过的:

USE BDID_BI;
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE TransactionUpdate
AS 
insert [BDID_BI].[dbo].[Transaction] * 
SELECT *
FROM [BDID].[dbo].[hl_transaction] as B
WHERE ( SELECT * FROM [BDID_BI].[dbo].[Transaction]
WHERE date < B.date);
GO
Run Code Online (Sandbox Code Playgroud)

这将是一个日常过程,所以我不必插入之前插入的值,我只需更新添加到“table1”中的新值。

sql-server

-1
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql-server ×4

sql-server-2012 ×1

ssas ×1