SQLLeader http://www.sqlleader.com/image/mainLogo.jpg http://www.sqlleader.com SQLLeader.com :: MSSQL Community Site ko Copyright 2006-2007 ADConsulting All Right Reserved. 2008-10-27T09:52:00.000 <![CDATA[ Excel(¼­ºñ½º) ¿¡¼­ Leaf LevelÀÓ¿¡µµ +(µå¸±´Ù¿î È®Àå¹öư)ÀÌ Ç¥½ÃµÇ´Â ÀÌÀ¯´Â?]]> ÀÌÁØÈ£(bizsharp) http://www.sqlleader.com/mboard.asp?exec=view&strBoardID=SS2005SSAS&intSeq=2709 Excel(¼­ºñ½º) ¿¡¼­ Leaf LevelÀÓ¿¡µµ +(µå¸±´Ù¿î È®Àå¹öư)ÀÌ Ç¥½ÃµÇ´Â ÀÌÀ¯´Â?

 

ÇØ´ç Â÷¿øÀÇ °èÃþ ±¸¼º½Ã Level ÀÇ HideMemberIf ¼Ó¼ºÀÌ ±âº»°ª(Never) ÀÌ¿ÜÀÇ °ªÀ¸·Î ¼³Á¤µÈ °æ¿ì

½ÇÁ¦·Î Leaf LevelÀÌ ¾Æ´Ô¿¡µµ LevelÀÌ ¼û°ÜÁ®¼­ µ¥ÀÌÅÍ´Â ¾È º¸ÀÌÁö¸¸, ExcelÀº ½ÇÁ¦ ·¹º§ Á¤º¸¸¦ ±âÁØÀ¸·Î + ¹öưÀ» Ç¥½ÃÇÏ°Ô µË´Ï´Ù.

Áï, ºñÁ¤Çü °èÃþ(Ragged Hierachy)ÀÎ °æ¿ì Excel¿¡¼­ Child MembersÀÇ °¹¼ö¸¦ countÇÏÁö ¸øÇØ ¹ß»ýÇÏ´Â Çö»óÀÔ´Ï´Ù.


 

¿¹¸¦µé¾î, AdventureWorksDW ¸ÅÃâÁö¿ª Â÷¿ø °°Àº °æ¿ì

Country¿Í Region LevelÀÇ ¼Ó¼ºÀÌ OnlyChildWithParentName·Î ¼³Á¤µÇ¾î ÀÖ¾î ÀÌ·± Çö»óÀÌ ¹ß»ýÇÕ´Ï´Ù. 

ÀÌ ¼Ó¼º°ªÀ» Never(±âº»°ª)À¸·Î ¼³Á¤Çϸé À§ÀÇ Çö»óÀº ¾ø¾îÁö³ª,
ÅÂÆò¾ç à ¿À½ºÆ®·¹Àϸ®¾Æ à ¿À½ºÆ®·¹Àϸ®¾Æ Ã³·³ µ¿ÀÏ¸íµµ 3 Level ¸ðµÎ Ç¥½ÃÇÏ°Ô µË´Ï´Ù.

]]>
SQL Server 2005 SSAS 2008-10-27T09:52:00.000
<![CDATA[ CLR - Mail º¸³»±â]]> ±èÁ¾¿­ http://www.sqlleader.com/mboard.asp?exec=view&strBoardID=SS2005CLR&intSeq=2696 ±èÁ¾¿­

MS SQL Server MVP

¿£Æ®¸®ºê ¼ÒÇÁÆ®


Ms SQL SERVER¿¡¼­ EmailÀ» º¸³»·Á°í ÇϽǶ§ ¾î¶»°Ô ÇϽóª¿ä?
Ȥ½Ã ºÒÆíÇϽŠÁ¡Àº ¾ø¾ú³ª¿ä? °£°£È÷ Community¿¡ ¿Ã¶ó¿À´Â °Í Áß¿¡ Çϳª´õ±º¿ä.
SQL server¿¡¼­ mailÀ» º¸³¾¶§ ¿¡·¯°¡ ¸¹ÀÌ ³ª´À´Ï..
ÀÛ¾÷ÀÇ °á°ú¸¦ email·Î º¸³»°í ½Í´Ù´Â µîÀÇ

¿ª½Ã ¸¸µé¸é µË´Ï´Ù.
True / False¸¦ ¸®ÅÏÇÏ´Â ÇÔ¼öÇϳª¸¦ ¸¸µé¾ú½À´Ï´Ù.
ȸ»ç smtp¸¦ °ø°³ÇÒ ¼öµµ ¾ø´Â ÀÏÀ̰í, ±×·¸´Ù°í ÀÌ ¶§¹®¿¡ smtp±â´ÉÀ» Áö¿øÇÏ´Â °÷ÀÇ ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö µµ ¾ø°í..
googleÀº ÀÌ¹Ì ¹«·áÀÇ ¼­ºñ½º¸¦ Á¦°øÇϰí Àֱ⿡ °¡ÀÔÇÏ°í »ç¿ëÇϱâ·Î Çß½À´Ï´Ù.
smtp´Â ȯ°æ¿¡ ¸Â°Ô ¼³Á¤ ¹× º¯°æÇÏ½Ã¾î »ç¿ëÇϽñ⠹ٶø´Ï´Ù.


using System;

using System.Data;

using System.Data.SqlClient;

using System.Data.SqlTypes;

using Microsoft.SqlServer.Server;

using System.Net;

using System.Net.Mail;

 

public partial class UserDefinedFunctions

{

    [Microsoft.SqlServer.Server.SqlFunction]

    public static SqlBoolean UDF_MAIL_SEND(string toAddr, string mailSubj, string mailCont)

    {

        string frAddr = "id@gmail.com";  //setting

        string frPwd = "password";      //setting

 

        MailMessage cMail = new MailMessage(frAddr, toAddr, mailSubj, mailCont);

        SmtpClient cSmtp = new SmtpClient("smtp.gmail.com", 587);

 

        cSmtp.Credentials = new NetworkCredential(frAddr, frPwd);

        cSmtp.EnableSsl = true;

 

        try

        {

            cSmtp.Send(cMail);

            return true;

        }

        catch

        {

            return false;

        }

    }

};

 

 


Äõ¸®·Î È®ÀÎÇϱâ.

use youlyDB

go

 

declare @rst bit

set @rst = dbo.udf_mail_send('youly_92@hotmail.com', 'testMail', 'Go Mail Test Content')

select @rst

 


udf_mail_sendÀÇ paramÀº Reciever Address, Mail subject, Mail ContentÀÔ´Ï´Ù. 
ReturnÀº ´ç¿¬ True / False ÀÔ´Ï´Ù.
(¸ÞÀÏÀ» ¹ÞÀº hotmailÀÇ °á°ú¸¦ ±×¸²À¸·Î ¿Ã¸®·Á Çߴµ¥
¿ØÁö ±×¸²ÆÄÀÏÀÌ ¿Ã¶ó°¡Áö ¾Ê³×¿ä..)

Âü°íÆÄÀÏ :  udf_mail_send.cs
              udf_mail_send.sql

]]>
SQL Server 2005 CLR 2008-10-23T06:08:00.000
<![CDATA[ Á¶È¸ º¯È¯ ¹× OLE DB ¸í·É º¯È¯À» ÀÌ¿ëÇÑ µ¥ÀÌÅÍ Ã³¸®]]> ÇѴ뼺 http://www.sqlleader.com/mboard.asp?exec=view&strBoardID=SS2005SSIS&intSeq=2662 Á¶È¸ º¯È¯ ¹× OLE DB ¸í·É º¯È¯À» ÀÌ¿ëÇÑ µ¥ÀÌÅÍ Ã³¸®

 

 

ÇѴ뼺

 

  


 Question

±¸¼ºÇϰí Ç ÀÛ¾÷Àº.....
Table1  Å×ÀÌºí¿¡¼­ Code °ª ÇѰ³ ¹Þ¾Æ¿Í¼­ ±× °ªÀ» Á¶°ÇÀ¸·Î ÇØ¼­ Table2¿¡¼­ °á°ú¸¦ »Ì¾Æ
Table3¿¡ insertÇÏ´Â ÆÐŰÁö¸¦ ±¸¼ºÇÏ°í ½ÍÀºµ¥¿ä...
Code °ªÀ» ¹Þ¾Æ¿Í¼­ ³Ñ°ÜÁÖ´Â°Ô Àß ¾ÈµÇ³×¿ä.




°£´ÜÈ÷ ´ÙÀ½°ú °°Àº »óȲÀ» ¸¸µé¾î º¸ÁÒ.

TABLEA ¿¡´Â Äڵ强 Å×À̺íÀÌ ÀÖ½À´Ï´Ù. (¿¹ : A, B, C, ¡¦)

TABLEB ¿¡´Â °¢ Äڵ忡 ÇØ´çÇÏ´Â µ¥ÀÌÅ͵éÀÌ ÀÖ½À´Ï´Ù.

TABLEA ¿¡¼­ ÄÚµå °ª Çϳª¸¦ Àо B¿¡¼­ ÀÌ ÄÚµå °ªÀÇ °Ç¼ö¸¦ °è»êÇÑ ÈÄ, TABLEC¿¡ ÀúÀåÇÏ´Â ÆÐŰÁö¸¦ ¸¸µé¾î º¾½Ã´Ù.

 

 

USE TEMPDB

GO

DROP TABLE TABLEA

DROP TABLE TABLEB

DROP TABLE TABLEC

GO

 

CREATE TABLE TABLEA

(

                  SEQ INT IDENTITY,

                  COLID VARCHAR(10)

)

GO

 

INSERT TABLEA(COLID)

SELECT 'A' UNION ALL

SELECT 'B' UNION ALL

SELECT 'C'

GO

 

CREATE TABLE TABLEB

(

                  COLID VARCHAR(10),

                  RANDDATA INT DEFAULT(RAND()*100)

)

GO

 

INSERT TABLEB(COLID)

SELECT 'A' UNION ALL

SELECT 'A' UNION ALL

SELECT 'A' UNION ALL

SELECT 'B' UNION ALL

SELECT 'B' UNION ALL

SELECT 'C'

GO

 

CREATE TABLE TABLEC

(

                  COLID VARCHAR(10),

                  CNT INT

)

GO

 

 

 

´ÙÀ½°ú °°ÀÌ SSIS ÆÐŰÁö¸¦ ±¸¼ºÇÕ´Ï´Ù. µ¥ÀÌÅÍ È帧¿¡¼­ TABLEAÀÇ °ªÀ» Àоî¿À´Â OLE DB µ¥ÀÌÅÍ ¿øº»À» ±¸¼ºÇÕ´Ï´Ù.

 


 

TABLEA¿¡¼­ Àоî¿Â ÄÚµå °ªÀ¸·Î TABLEB¿¡¼­ °Ç¼ö¸¦ Àоî¿À´Â ÀÛ¾÷À» ±¸ÇöÇϱâ À§ÇØ Á¶È¸¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýºÎÅÍ ¸ÕÀú ¼³¸íÇϰڽÀ´Ï´Ù.

Á¶È¸(Lookup) º¯È¯À» Ãß°¡ÇÑ ÈÄ, OLE DB ¿øº»(TABLEA)°ú ¿¬°áÇÏ°í ¼Ó¼º ºÎºÐ¿¡ ´ÙÀ½°ú °°Àº Äõ¸®¸¦ ÀÔ·ÂÇÕ´Ï´Ù.





 

¿­ ÅÇ¿¡¼­ CNT ºÎºÐÀ» üũÇϰí,


 

°í±Þ ÅÇ¿¡¼­ ¸Þ¸ð¸® Á¦ÇÑ »ç¿ëÀ» ¼±ÅÃÇÑ ÈÄ, SQL ¹® ¼öÁ¤À» üũÇÏ°í ¸Å°³ º¯¼ö(P) ¹öưÀ» Ŭ¸¯Çؼ­ COLID°¡ ¸Å°³ º¯¼ö·Î ÁöÁ¤µÇµµ·Ï ¼±ÅÃÇÕ´Ï´Ù. ÀÌ·¸°Ô ¼³Á¤ÇÏ´Â ÀÌÀ¯´Â ¹Ì¸® Àü COLID ¿­¿¡ ´ëÇØ Áý°è¸¦ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ÀԷµǴ COLID¿¡ ´ëÇØ¼­¸¸ Áý°è ¿¬»êÀ» ¼öÇàÅä·Ï Çϱâ À§ÇÔÀÔ´Ï´Ù.

 



 

È®ÀÎÀ» ´­·¯ ÆíÁý±â¸¦ ´ÝÀº ´ÙÀ½, OLE DB ´ë»óÀ» Ãß°¡Çؼ­ ¿¬°áÇϰí, ´ÙÀ½°ú °°ÀÌ COLID,¿Í CNT ¿­À» ¸ÅÇÎ ½Ãŵ´Ï´Ù.


 

½ÇÇàÇØ º¾½Ã´Ù.


 

 

 

 

µÎ ¹øÂ° ¹æ¹ýÀÔ´Ï´Ù.

 

´ÙÀ½°ú °°ÀÌ ÀÔ·Â °ª¿¡ ´ëÇØ ¿¬»êÀ» ¼öÇàÇÏ´Â ÀúÀå ÇÁ·Î½ÃÀú¸¦ ¸¸µì½Ã´Ù.

CREATE PROC USP_CALCCNT

                  @COLID VARCHAR(10)

AS

                  INSERT TABLEC(COLID, CNT)

                  SELECT @COLID,

                                   (SELECT COUNT(*) AS CNT FROM TABLEB WHERE COLID = @COLID)

GO

 

 

OLE DB ¸í·É º¯È¯À» Ãß°¡ÇÑ ÈÄ, OLE DB ¿øº»(TABLEA)°ú ¿¬°áÇÕ´Ï´Ù.