The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola tengo una pregunta:
He creado esta consulta:
(Name as text,datetimestart as text, datetimeend as text, listzones as text, listaps as text, listdevices as text, listuserprops as text, topreg as text) as table =>
let
Source = Csv.Document(Web.Contents("https://localhost:44310/api/Emp?Name=" & Name & "&datetimestart=" & datetimestart & "&datetimeend=" & datetimeend & "&listzones=" & listzones & "&listaps=" & listaps & "&listdevices=" & listdevices & "&listuserprops=" & listuserprops & "&topreg=" & topreg & ""),[Delimiter=":", Encoding=65001, QuoteStyle=QuoteStyle.None])
in
Source
En total tengo 8 parámetros y necesito pasar a la URL algunos parámetros vacíos como "listdevices y listuserprops"
Pero cuando intento hacerlo, recibo el mensaje "Especifique un valor para listuserprops"
¿Hay alguna manera de pasar un parámetro vacío y cómo?
¡¡¡Gracias!!!
Intente actualizar los códigos de los parámetros listdevices y listuserprops como se muestra a continuación y verifique si puede funcionar o no:
null meta [IsParameterQuery=true, Type="Text", IsParameterQueryRequired=false]
Saludos
Mi procedimiento almacenado :
if (@Name = 'UniqueVisits')
begin
set @BaseQuery = 'select count(distinct fp.device_id) as NVisits from f_presence fp '
if (@listzones is not null)
begin
--set @includeap = 1
set @QueryFilter = @QueryFilter + ' and coalesce(fp.zone_id,-1) in (' + @listzones + ')'
end
if (@listaps is not null)
set @QueryFilter = @QueryFilter + ' and coalesce(fp.ap_id,-1) in (' + @listaps + ')'
set @QueryFilter = ' WHERE ((fp.datetime_start < ' + cast(@datetimeend as nvarchar(12)) + ' and fp.datetime_end > ' + cast (@datetimestart as nvarchar(12)) + ') OR fp.datetime_start = ' + cast (@datetimestart as nvarchar(12)) + ')' + @QueryFilter
if (@includedevice = 1)
set @TablesJoin = @TablesJoin + ' inner join l_device ld on ld.device_id = fp.device_id '
--if (@includeap = 1)
--set @TablesJoin = @TablesJoin + ' inner join l_accesspoint lap on lap.ap_id = fp.ap_id '
if (@includesession = 1)
set @TablesJoin = @TablesJoin + ' inner join f_session fs on fs.presence_id = fp.presence_id and ((fs.datetime_start <'+ cast(@datetimeend as nvarchar(12)) + ' and fs.datetime_end > ' + cast (@datetimestart as nvarchar(12)) + ') OR fs.datetime_start = ' + cast (@datetimestart as nvarchar(12)) + ')'
if (@includeappsession = 1)
set @TablesJoin = @TablesJoin + ' inner join f_applicationsession fapps on fapps.session_id = fs.session_id and fapps.datetime_start < ' + cast(@datetimeend as nvarchar(12)) + ' and fapps.datetime_start >= ' + cast (@datetimestart as nvarchar(12))
if (@includeuserproperty = 1)
set @TablesJoin = @TablesJoin + ' inner join (' + @listuserprops + ') as lup on lup.aleuser_id = fs.user_id '
Si cambio a Parámetros dinámicos . Siempre recibí este error, no estoy seguro de si es el poder o la API nunca vi algo así
Error:
Mi api :
public string getStudentDetails(string Name,Int64? Datetimestart, Int64? Datetimeend, string Listzones, string Listaps, string Listdevices, string Listuserprops, int? Topreg)
{
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = "Data Source=DESKTOP-R7QRMCV;Initial Catalog=DW_NSA;Integrated Security=True;TrustServerCertificate=true";
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "GetMeasures2";
sqlCmd.Connection = myConnection;
sqlCmd.Parameters.AddWithValue("@Name", Name);
sqlCmd.Parameters.AddWithValue("@datetimestart", Datetimestart);
sqlCmd.Parameters.AddWithValue("@datetimeend", Datetimeend );
sqlCmd.Parameters.AddWithValue("@listzones", Listzones);
sqlCmd.Parameters.AddWithValue("@listaps", Listaps);
sqlCmd.Parameters.AddWithValue("@listdevices", Listdevices);
sqlCmd.Parameters.AddWithValue("@listuserprops", Listuserprops);
sqlCmd.Parameters.AddWithValue("@topreg", Topreg);
SqlDataAdapter sda = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
string jsonString = string.Empty;
myConnection.Open();
sda.Fill(ds);
myConnection.Close();
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
jsonString = JsonConvert.SerializeObject(ds.Tables[0]);
}
return jsonString;
}
Pls uso nullable en el medio
De
listdevices as text, listuserprops as text
Para
listdevices as nullable text, listuserprops as nullable text
Gracias y saludos,
Mohammed Adnan
Aprenda Power BI: https://www.youtube.com/c/taik18
No funciona 😪
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.