Tuesday, 14 May 2024

SteepCurve creamy curve

Here’s the corrected version of your code with syntax errors and other potential issues addressed:


```vb

Dim values As New System.Collections.Generic.List(Of Integer)()

Dim valueCounts As New System.Collections.Generic.Dictionary(Of Integer, Integer)()


Function AddValue(newValue As Integer) As Integer

    values.Add(newValue)

    AddValue = newValue

    If Not valueCounts.ContainsKey(newValue) Then

        valueCounts(item) = 1

    Else

        valueCounts(newValue) += 1

    End If

End Function


Public Shared Function Median(ByVal items As Object()) As Decimal

    If items Is Nothing Then

        Return Nothing

    End If

    Dim counter As Integer = items.Length

    If counter = 0 Then

        Return 0

    End If


    System.Array.Sort(items)


    If counter Mod 2 = 1 Then

        Return CDec(items(CInt((counter / 2) - 0.5)))

    Else

        Dim FirstIndex As Integer = counter \ 2

        Dim SecondIndex As Integer = FirstIndex - 1


        Dim FirstValue As Decimal = CDec(items(FirstIndex))

        Dim SecondValue As Decimal = CDec(items(SecondIndex))


        Return (FirstValue + SecondValue) / 2

    End If

End Function

```


### Corrections Made:

1. **List Initialization**: Used parentheses `()` while initializing `List(Of Integer)`.

2. **Variable Naming Consistency**: Changed `Firstlndex` to `FirstIndex` and `Secondlindex` to `SecondIndex` for consistent naming.

3. **Correcting the Item Access**: Changed `valueCounts.item(newValue)` to `valueCounts(newValue)`, which is the correct syntax for accessing dictionary items.

4. **Return Decimal**: Added `CDec` for casting the `FirstValue` and `SecondValue` to `Decimal` to ensure the arithmetic operation is done correctly.

5. **Extra Return Statement**: Removed the redundant return statement `Return (FirstValue + SecondValue) / 2` at the end of the median function.


This code should now compile correctly and work as intended to calculate the median. Make sure to test it in the Power BI Report Builder's code environment for proper functionality.