Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Code:
    reshape long cusip@ base@, i(DealNumber) j(id_alliance)
    drop if cusip==""
    replace match=cusip if match=="" & base==1

    Comment


    • #17
      Reshape is best solution, this one is only a "joke" whitout reshaping data
      In your real data replace forvalues s=1/10
      with forvalues s=1/20



      Code:
      expand sum
      sort DealNumber
      bysort DealNumber: gen id_deal = _n
      
      levelsof DealNumber if match=="", local(deals)
      
      foreach i of local deals {
        local sequence ""
        forvalues s=1/10 {
          count if base`s'==1 & DealNumber=="`i'"
          if r(N)>0 local sequence = "`sequence' `s'"
        }
      
        local cnt=1
        di "DealNumber `i', sequence `sequence'"
        foreach d of local sequence {
          replace match=cusip`d' if DealNumber=="`i'" & base`d'==1 & id_deal==`cnt'
          local cnt `++cnt'
        }
      }

      Comment


      • #18
        Nick, Fantastic. I was making it too complex. This is a much neater solution. Thanks! Killian

        Comment

        Working...
        X