Sentetik Veri — MSSQL
MSSQL için hazırlanan Demo Fabrika veri seti, Pirivision'da MSSQL bağlantısını denemek için tek bir tablo içerir. Kapsamlı analitik sorgular için PostgreSQL veri setini kullanabilirsiniz.
Oluşturulan Tablo
Tablo demo_fabrika adlı ayrı bir şemada açılır; mevcut veritabanı nesnelerinizle çakışmaz.
-- Şema yoksa oluşturulur
IF NOT EXISTS (SELECT 1 FROM sys.schemas WHERE name = 'demo_fabrika')
EXEC ('CREATE SCHEMA demo_fabrika');
GO
CREATE TABLE demo_fabrika.vardiya_uretim (
ts date NOT NULL,
hat_id nvarchar(20) NOT NULL,
makine_id nvarchar(20) NOT NULL,
vardiya nvarchar(10) NOT NULL,
urun_ailesi nvarchar(20) NOT NULL,
uretim_adet int NOT NULL,
hedef int NOT NULL
);
Verinin Üretim Mantığı
T-SQL'de generate_series olmadığından tarih dizisi recursive CTE ile oluşturulur. Üretilen satırlar makine listesi ve vardiyalarla CROSS JOIN yapılarak çoğaltılır.
;WITH gun_serisi AS (
-- Başlangıç noktası: bugünden 30 gün önce
SELECT CAST(DATEADD(day, -30, GETDATE()) AS date) AS gun
UNION ALL
-- Her adım bir gün ileri gider
SELECT DATEADD(day, 1, gun)
FROM gun_serisi
WHERE gun < CAST(GETDATE() AS date)
),
makineler AS (
SELECT idx FROM (VALUES (1),(2),(3),(4),(5),(6)) AS m(idx)
),
vardiyalar AS (
SELECT v FROM (VALUES (N'V1'),(N'V2'),(N'V3')) AS x(v)
)
INSERT INTO demo_fabrika.vardiya_uretim
(ts, hat_id, makine_id, vardiya, urun_ailesi, uretim_adet, hedef)
SELECT
g.gun,
CASE WHEN m.idx <= 3 THEN N'HAT-1' ELSE N'HAT-2' END,
N'M0' + CAST(m.idx AS nvarchar(1)),
v.v,
-- NEWID() ile her satır için rassal ürün ailesi
(SELECT TOP 1 u
FROM (VALUES (N'Ürün-A'),(N'Ürün-B'),(N'Ürün-C'),(N'Ürün-D')) x(u)
ORDER BY NEWID()),
250 + ABS(CHECKSUM(NEWID())) % 200, -- 250–449 arası üretim adedi
400 -- sabit hedef
FROM gun_serisi g
CROSS JOIN makineler m
CROSS JOIN vardiyalar v
OPTION (MAXRECURSION 100);
Sonuç: 31 gün × 6 makine × 3 vardiya = 558 satır
Veritabanına Yükleme
SQL scriptini veritabanınıza çalıştırın:
Scripti tekrar çalıştırmak güvenlidir — başında mevcut tablo varsa önce silinir.
Pirivision'a Ekleme
- Port → Yeni Veri Kaynağı → MSSQL yolunu izleyin.
- Sunucu, veritabanı ve kimlik bilgilerini girin.
- Test and Save ile kaynağı kaydedin.
Kayıt tamamlandıktan sonra Compass'ta yazabileceğiniz örnek sorgu: