问题标签 [sql-data-warehouse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
35 浏览

data-warehouse - 数据仓库中的收入度量

我正在为财务团队建立一个数据仓库,我们有衡量标准

收入,费用,收入-费用=毛利率

它们连接到以下维度

项目、组织、客户、日期

但是,收入中存在的一些项目 ID 不存在于费用中,反之亦然。

我应该将它们保存在单独的事实表中以获取所有数据吗?

如果我将它们分开,我将如何获得毛利率?

0 投票
2 回答
841 浏览

azure - SQL 中是否有 CREATE TYPE 的替代方案,因为 Azure SQL 数据仓库不支持 CREATE TYPE

我正在尝试执行此查询,但由于 Azure 数据仓库不支持用户定义(创建类型)类型。我想在存储过程中使用它。

有没有其他方法可以做到这一点。

0 投票
1 回答
88 浏览

data-warehouse - 初始化 Key FACT\DIM 表时如何保持参照完整性

在我工作的地方,我们会在需要的极少数情况下初始化(“INIT”=> 截断和加载)一个 Fact\ Dimension 表。

这样的“INIT”要求所有引用已初始化对象的对象随后都被初始化,以保持 RI(参照完整性)。

示例 – 我们在属性丰富的 (~25) SCD Dim_Employees 中发现了一个错误,该错误将更改每条记录的生效日期。这需要所有引用对象重新计算它们的外键。

你有同样的情况吗?如果有,你是如何处理的?

0 投票
0 回答
50 浏览

sql - 需要查询以使用 max(column_name) 条件连接同一表的 2 列

[![在此处输入图像描述][1]][1] SELECT
POLICY_NO, FORMATTED_POLICY_NUMBER, POLICY_EFFECTIVE_DATE AS Effectivedt, POLICY_REWRITTEN_FROM Frompolicy, POLICY_EXPIRATION_DATE FromExpirationDate FROM TableName WHERE Load_End_Date = '99991231'

policy num 和 formatted policy num 需要合并为一列,并且必须根据 max (renewal_no) 获取数据。

假设最大续订号码为 9,因此我必须获得第 9 个续订保单号码作为当前保单号码。因此,policy_no 和 formatted_policy_number 列必须是单个列,作为基于最大续订数的当前政策编号。

0 投票
2 回答
432 浏览

sql - 员工维度在数据仓库中每天被截断

我正在开发一个新的数据仓库,我的员工维度的源表每天都会被截断,并重新加载所有历史记录和更新、删除和新插入。

跟踪这些更改的列是生效日期和生效顺序。我们还有一个审计表,通过比较今天和前一天的表,帮助我们确定每天更新、插入和删除的记录。

我的问题是如何在暂存层中的表上进行增量加载,以便作为标识列的代理键保持不变。如果我对最终维度进行截断,那么每次截断时都会得到新的代理键因此它弄乱了我的事实表。

0 投票
0 回答
28 浏览

sql - 雪花模式导致多行

我正在创建一个数据仓库,我们有 company -> Sectors -> Org

我创建了三个维度

因为有些部门是跨公司共享的。

这导致我的组织维度表和事实表出现重复。

他们是我只能在扇区名称更改而不是在每一行上生成扇区密钥的一种方式。

0 投票
1 回答
2788 浏览

azure-data-lake - 如何解决从 sqlserver 数据仓库中的外部源读取时被拒绝的行

我必须使用 polybase 表将数据从 datalake 加载到 sql server 数据仓库。我已经创建了用于创建外部表的设置。我已经创建了外部表并尝试从 ext_t1 表中选择 *,但我是在从外部源读取时收到错误,因为行被拒绝。下面是我的外部表脚本。有人可以帮我解决这个问题吗?提前致谢。

表已创建,但在查询 select 语句后,我收到以下问题行在从外部源读取时被拒绝。在查询执行的计划步骤 2 中,外部表 [EXT_TEST1] 拒绝了 2 行:位置:'/A/Test_CSV/abc.csv' 列序号:1,预期数据类型:VARCHAR(20) 整理 SQL_Latin1_General_CP1_CI_AS。位置:'/A/Test_CSV/abc.csv' 列序号:1,预期数据类型:VARCHAR(20) 整理 SQL_Latin1_General_CP1_CI_AS。

0 投票
2 回答
38 浏览

sql - 灵活的运行窗口来计算时间范围内的条目

我在现场有一些设备,通过 GSM 发送数据,不时失去连接。由于我的磁盘空间有限,我倾向于在没有连接的时间段内丢失一些数据,因此我喜欢评估待处理数据的数量以了解情况。

如果我将表从我的服务器减少到我需要的列,它看起来像这样:

由于时间戳(第一列)的值是在服务器上创建的,而 lastchanged(第二列)是来自设备的时间戳,差异显然是发送过程的延迟。

从我设备的每个传感器中,我得到一个单独的条目,因此我只需要计算行数即可了解在特定时间范围内设备上存储了多少数据点(这取决于设备的行为) .

现在我喜欢按时间戳分组来评估每个时间戳,已经创建了多少数据集,但到目前为止还没有到达服务器。

因此,对于每个时间戳,我想知道数据集中的行数,这些行在未来有一个时间戳,但在过去有一个 lastchanged。

由于我的数据集非常大,我想避免任何获取。

是的,这不应该是实时分析,我只需要它来了解设备的行为并调整一些参数。

我已经尝试过这个:

并认为 CTE 和子查询无济于事,因为我需要一步完成过滤和计数。据我了解,SQL 中的经典运行窗口只需要固定数量的窗口范围条目,但在我的数据集中,这个数字根本不是恒定的。

应用上面的例子,结果是错误的:

0 投票
2 回答
189 浏览

azure - 强制复制已复制的表

我的一些表是 REPLICATE 类型的。在我开始查询我的数据之前,我希望这些表被实际复制(而不是挂起)。这将帮助我避免数据移动。

我有一个脚本,我在网上找到了它,它循环运行并在所有设置为复制的表上执行 SELECT TOP 1,但有时脚本会运行几个小时。即使您从 foo 执行 SELECT TOP 1,服务器有时也可能不会触发复制。

如何强制 SQL 数据仓库完成复制?

脚本看起来像这样:

0 投票
1 回答
66 浏览

sql - 用不同的序列时间填充事实表

我正在使用以下查询来填充我的事实表:

主要是我想将表格从特定时间加载到特定时间。所以如果我今天加载,我会得到从今天到最后一次加载的所有记录。

如果我在后天加载它,我将在加载时间之后获取今天的数据,直到后天。

我的意思是没有重复的行或数据。我应该怎么办 ?有什么想法吗?

先感谢您