- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在 SSIS/SSAS 中填充星型模式/多维数据集。
我准备了所有维度表和事实表、主键等。
源是一个“平面”(项目级别)表,我现在的问题是如何拆分它起来,把它从一个放到各自的表中。
我用谷歌搜索了一下,但找不到令人满意的问题解决方案。有人会认为这是 BI 开发中一个相当普遍的问题/情况?!
谢谢,亚历克斯
câu trả lời hay nhất
首先,这取决于您是要执行简单的初始数据传输还是更复杂的操作(例如增量)。我假设您正在进行初始数据传输。
假设您的项目表有如下列:id, cat1, cat2, cat3, cat4, ...
假设类别 1-4 有列 id, cat_name
,你可以加载 dim_cat1(项目类别 1 的维度表),如下所示:
insert into dim_cat1 (cat_name)
select distinct cat1 from item_table;
您可以对所有其他类别/维度表执行相同的操作。我假设您的维度表具有自动生成的 ID。现在,加载事实表:
insert into fact_table (id, cat1_id, cat2_id, cat3_id, cat4_id, ...)
select id, dc1.id
from item_table it
join dim_cat1 dc1 on dc1.cat_name = it.cat1
join dim_cat2 dc2 on dc2.cat_name = it.cat2
join dim_cat3 dc3 on dc3.cat_name = it.cat3
join dim_cat4 dc3 on dc4.cat_name = it.cat4
...
如果您有大量数据,在 item_table 和维度表中的类别名称上创建索引可能是有意义的。
顺便说一句,这是一个独立于数据库的答案,我不使用 SSIS/SSAS:你可能有可用的工具来为你简化这个过程的某些部分,但用简单的方式编写真的并不那么困难/耗时SQL。
关于database - 从事务性平面数据库填充事实表和维度表的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488009/
Câu hỏi của tôi là cách tạo cơ sở dữ liệu đơn giản trong python. Ví dụ của tôi là: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
Tôi cần tạo một ứng dụng liên kết với cơ sở dữ liệu từ xa! MySQL có phải là giải pháp tốt nhất không? Sqlite có phải là giải pháp gốc duy nhất không? Tôi sử dụng phương pháp sau và tôi muốn biết liệu đó có phải là cách tốt nhất không!
Cho hai máy chủ MySQL, một máy cục bộ và một máy chủ từ xa. Cả hai đều có cơ sở dữ liệu foobar chứa bảng bohica. Máy chủ cục bộ đã xác định người dùng 'myadmin'@'%' và 'myadmin'@'localhos
Tôi có truy vấn tìm kiếm linh hoạt sau đây Chọn {vt:code},{vt:productcode},{vw:code},{vw:productcode} từ {abcd AS vt JOIN wxyz
Chà, máy tính của tôi bắt đầu chạy hơi chậm nên tôi đặt lại Windows và giữ lại các tập tin của mình. Vì đầu óc tôi chưa hoạt động nên tôi đã quên sao lưu cơ sở dữ liệu MySQL trước đó. Tôi vẫn còn giữ tất cả các tập tin gốc, nên thực ra tôi vẫn còn cơ sở dữ liệu, nhưng
Làm cách nào để chuyển đổi cơ sở dữ liệu Access (.accdb) của tôi thành cơ sở dữ liệu SQLite (.sqlite)? Xin vui lòng, bất kỳ trợ giúp sẽ được đánh giá rất cao. Câu trả lời hay nhất 1) Nếu bạn muốn chuyển đổi cấu trúc của db, bạn nên sử dụng bất kỳ công cụ tạo mô hình DB nào:
Kiểm tra hệ thống đã tìm thấy một số vấn đề: Cảnh báo:? :(mysql.W002) Chế độ nghiêm ngặt của MySQL không được đặt thành "mặc định" cho các kết nối cơ sở dữ liệu Mẹo: Chế độ nghiêm ngặt của MySQL khắc phục nhiều vấn đề về tính toàn vẹn dữ liệu trong MySQL bằng cách chuyển cảnh báo thành lỗi
Kiểm tra hệ thống đã tìm thấy một số vấn đề: Cảnh báo:? :(mysql.W002) Chế độ nghiêm ngặt của MySQL không được đặt thành "mặc định" cho các kết nối cơ sở dữ liệu Mẹo: Chế độ nghiêm ngặt của MySQL khắc phục nhiều vấn đề về tính toàn vẹn dữ liệu trong MySQL bằng cách chuyển cảnh báo thành lỗi
Tôi muốn sử dụng cơ sở dữ liệu Android trong cùng một ứng dụng phonegap. Giải thích thêm: Tôi đã tạo ứng dụng phonegap nhưng ứng dụng phonegap không hỗ trợ dịch vụ nên chúng tôi đã tạo một
Hàm theo dõi thời gian clock() { var mytime = new Date(); var seconds
Tôi cần triển khai hiển thị một số sự kiện trên dự án hiện có. Tôi không thể thay đổi cấu trúc cơ sở dữ liệu. Trong Bộ điều khiển của tôi, tôi đang chuyển dấu thời gian (từ yêu cầu ajax) và tôi cần hiển thị 8 sự kiện trước đó. Vì vậy, nếu dấu thời gian là (sau khi chuyển đổi)
Tôi có một sản phẩm thu thập và hiển thị nhiều số đo khác nhau (sẽ không đi sâu vào chi tiết). Như mọi người mong đợi, phần hiển thị là một cơ sở dữ liệu + trang web được xây dựng trên đó (sử dụng Symfony). Tuy nhiên, chúng tôi cũng có thể tạo API để hiển thị dữ liệu cho bên thứ ba
Chúng tôi đã di chuyển SQL Server từ Azure VM sang Cơ sở dữ liệu Azure SQL. Azure VM là DS2_V2, 2 lõi, RAM 7GB, tối đa 6400 IOPS dữ liệu Azure SQL
Tôi đang phát triển một chương trình sử dụng cơ sở dữ liệu MongoDB, nhưng tôi muốn hỏi liệu có thể sử dụng cơ sở dữ liệu nội bộ để thử nghiệm, chẳng hạn như H2, trong khi thực thi SQL qua Java không? Câu trả lời hay nhất bạn có thể thử sử dụng Testcontainers Test
Đã đóng cửa. Câu hỏi này không tuân thủ nguyên tắc Stack Overflow. Câu trả lời không được chấp nhận vào thời điểm này. Đóng cửa 9 năm trước Vấn đề này dường như có liên quan đến một vấn đề lập trình cụ thể, một phần mềm
Tôi đang cố gắng kết nối với Cơ sở dữ liệu Azure SQL từ dịch vụ Azure Machine Learning bằng xác thực MSI (không cần tên người dùng và mật khẩu). Tôi đang cố gắng xây dựng mô hình machine learning trên Azure Machine Learning Service với mục đích tôi cần dữ liệu và đây là điều tôi
Tôi đang sử dụng truy vấn này trong cơ sở dữ liệu MySQL của mình để tìm tất cả các hàng trong đó my_column không trống: SELECT * FROM my_table WHERE my_column != "";
Tôi có cơ sở đó: http://sqlfiddle.com/#!2/e5a24/2 Đây là viết tắt của chế độ mặc định của WordPress. Tôi đã xóa các trường không cần thiết cho ví dụ này. Như bạn có thể thấy, kết quả của tôi cao gấp đôi so với "Loại 1". tôi thích
Tôi có một bảng như thế này: mysql> select * từ người dùng +--------+----------+--------------- -+-- ---------+ |
Tôi xin hướng dẫn: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
Tôi là một lập trình viên xuất sắc, rất giỏi!